Your first time on this page? Allow me to give some explanations.
Awesome MicroPython
A curated list of awesome MicroPython libraries, frameworks, software and resources.
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you mcauser & contributors
View Topic on GitHub:
mcauser/awesome-micropython
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Libraries
AI
A micro neural network multilayer perceptron for MicroPython (used on ESP32 and Pycom modules)
Analytics
Computer Algebra for microcontrollers using https://github.com/micropython/micropython
a numpy-like fast vector module for micropython, circuitpython, and their derivatives
Fast Fourier transform in MicroPython's inline ARM assembler.
Digital filters impemented in MicroPython's inline ARM Thumb assembler.
Small size matrix handling module with a few linear algebra operations specifically for MicroPython (Python3)
Statistics module for MicroPython
Audio
MicroPython JQ6500 sound module library
MicroPython driver for KT403A MP3 chip (DFPlayer, GroveMP3, ... used on Pycom modules)
A buzzer implmention for micropython that can play nokia compose and mid files
Micropython implementation of DFPlayer control using UART 1 (secondary Serial connection)
WAV player for MicroPython board
Synchronous and asynchronous drivers for VS1053b MP3/FLAC player
A midi implementation example for micropython.
Python Parser for Ring Tone Text Transfer Language (RTTTL)
Examples for I2S support on microcontrollers that run MicroPython
A minimal OSC client and server library for MicroPython.
APIs
Telegram API wrapper for microPython
Micropython Rainforest EAGLE client
Youtube API in MicroPython
Tweet bot for MicroPython v1.8.4 (ESP8266)
Telegram API wrapper for micropython
Library for sending data to thingspeak.com from IoT devices running micropython (such as ESP8266)
Simple example of how to use pushbullet with MicroPython on ESP8266
Display Youtube metrics using Google API and MicroPython
Authentication
Firebase Auth implementation for Micropython
Bluetooth
Micropython code for the HC05 Bluetooth adaptor and an example application for android devices made specifically for the HC05.
Lightweight Bluetooth Low Energy driver written in pure python for micropython
Human Interface Device (HID) over Bluetooth Low Energy (BLE) GATT library for MicroPython.
Command line tool for Bluetooth Low Energy MicroPython devices
CAN
Robomaster S1 - Micropython CAN BUS controller
Micropython MCP2515 driver, porting from Arduino MCP2515 CAN interface library
Compression
Micropython wrapper for FastLZ, a lightning-fast lossless compression library
Cryptography
MicroPython utility library for AES encryption
Micropython package for doing fast elliptic curve cryptography, specifically digital signatures
Lightweight driver for Microchip's Crypto Authentication secure elements written in pure python for micropython
A minimal bitcoin library for MicroPython and Python3 with a focus on embedded systems
A ESP8266 Micropython OTP Generator
RSA signing on MicroPython
A MicroPython module to encrypt and decrypt messages with AES CBC mode.
DNS
"I Can't Believe It's Not DNS!" (ICBIND) is an authoritative DNS server for the ESP8266 written in MicroPython.
A micro DNS server for MicroPython to simply respond to A queries on multi-domains with or without wildcards (used on Pycom modules & ESP32)
Very simple DNS async server for micropython
Minimal async captive portal for MicroPython (compatible with uasyncio v3/MicroPython 1.13+ as well as earlier versions)
Micropython WiFi AP Captive Portal with DNS and Web Server
Ethernet
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
ENC28J60 Ethernet chip driver for MicroPython (RP2)
Raspberry-Pi-Pico-MicroPython-Ethernet
FTP
An FTP client library for MicroPython.
Small FTP server for ESP8266/ESP32/PYBD on the MicroPython platform
Minimal FTP Server that can run on an ESP8266 with MicroPython
Lightweight ftp library for MicroPython.
GPS
A Full Featured GPS NMEA-0183 sentence parser for use with Micropython and the PyBoard embedded platform
MicroPython I2C driver for Quectel GNSS L76-L (GPS)
Micropython implementation of assisted location services (AGPS)
Application of uasyncio to hardware interfaces. Tutorial and code.
GSM
A gsm phone using pyboard and sim800l
Library for interfacing with SIM800 module in Micropython
MicroPython-AM7020
IoT
MicroPython implementation of the Homie MQTT convention for IoT.
Emulated Belkin WeMo device that works with Amazon Echo (Alexa) using MicroPython on an ESP32
A remote for Sonos installations running on an ESP8266 and using Sonos HTTP API
An approach to designing IOT applications using ESP8266, ESP32 or Pyboard D endpoints
Controlling "Tuya-type" smart power outlets using MicroPython
Micropython code which uses the AWS-IOT REST API to GET/POST device state info
An esp8266/32 micropython based sensor platform for gpio, dht, analog, led and more. Includes remote updates for .py code from web server and MQTT/Homeassistant integration
IR
NEC Infrared class for MicroPython board
Nonblocking device drivers to receive from IR remotes and for IR "blaster" apps.
Driver for Grid-EYE thermal infra red array sensor (Adafruit 3538)
MicroPython examples for YS-IRTM 5V NEC Infrared UART transceivers
Control IR signal by websocket
micropython esp32 IR Transceiver
Complete IR library for Raspberry Pi Pico
LoRaWAN
ESP32 using MicroPython meets LoRa and LoRaWAN.
SX127x (LoRa transceiver) driver for (Micro)Python on ESP8266/ESP32/Raspberry_Pi
Lightweight Interrupt-driven Semtech SX127x Library for MicroPython
raspi-lora for micropython
Connect Ra-01 module base on LoRaTM sx127x chip to ESP8266/ESP32 under MicroPython
Micropython embedded LoRaWAN server
Semtech SX126X LoRa driver for Micropython and CircuitPython.
MDNS
MDNS implementation for MicroPython with Service Discovery
Modbus
Modbus Master library for MicroPython ESP32 devices. Based on pycom-modbus from pycom
Modbus Lib for Micropython
Micropython Modbus RTU Slave/Master and TCP Server/Slave library
MQTT
A 'resilient' asynchronous MQTT driver. Plus a means of using an ESP8266 to bring MQTT to non-networked targets.
Micro Framework for MicroPython Boards Managed via MQTT
Micropython Smarthome framework
Publish UMQTT messages with Micropython to AWS IoT
MicroPython scripts to control Sonoff/ESP8266 using MQTT
Implements a MQTT controllable switch for the iTead Sonoff Switch using MicroPython
Publish and Subscribe to Thingspeak using MQTT with Micropython running on ESP8266/ESP32 platforms
MQTT publish for micropython on the WiPy board
Async MQTT library with auto reconnect for MicroPython devices such as the ESP32 or Pycom devices
Using MQTT to Publish/Subscribe to adafruit io. MicroPython/CircuitPython implementation on ESP8266/ESP32
A port of the Python Cayenne MQTT Client to Micropython
MQTT Client using micropython on ESP8266
NFC
Using NFC with micropython
MicroPython driver for PN532 NFC/RFID breakout. Based on the CircuitPython driver by Adafruit.
Partial Port of Adafruit CircuitPython to Micropython of PN532 NFC/RFID control library (SPI)
NTP
micropython + esp8266 + ntp + webserver
An implementation of an ntpd in Micropython
An NTP server written for micropython.
NTP client for micropython using uasyncio
OneWire
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
Classes for driving the DS18x20 sensor with the onewire protocol for Pycom MicroPython
Onkyo EISCP
Micropython implementation of the Onkyo EISCP protocol
OTA
OTA Updater for MicroPython
Micropython updater based on rdehuyss/micropython-ota-updater
🦊 Simplest OTA update solution for your Micropython projects.
Radio
Simple way to use an nRF24L01 radio to exchange arbitrary Python objects between two Pyboards
Micropython implementation of popular 433MHzn based RFSockets (i.e. Anslut/Proove/Nexa)
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
Capture and replay 433MHz remote control codes. Control remote switched power adaptors.
MicroPython examples using YS-RF34T 433MHz ASK/OOK UART transceivers
FM Walkie Talkie using RDA5820N
MicroPython driver for TEA5767 FM radio module on ESP8266/ESP32/Pico
Utility for decoding an R/C receiver PPM frame signal.
ESP32 433Mhz Receiver written in micropython and Tools for Windows
REPL
frame buffer console class for MicroPython
RFID
(Micro)Python class to access the MFRC522 RFID reader
A Wiegand protocol library for micropython
A micropython driver for the popular RDM6300 RFID card reader.
RTC
MicroPython driver for TinyRTC I2C modules with DS1307 RTC and AT24C32N EEPROM
A MicroPython driver for the Microchip MCP7940 RTC chip
DS1302 RTC Clock driver for Micropython
Micropython library for DS3231
Serial
Tool for seamless serial debug and file synchronisation with MicroPython devices via the serial REPL
Application of uasyncio to hardware interfaces. Tutorial and code.
Serialization
MessagePack serialisation library optimised for MicroPython
A lightweight implementation of Google's Protocol Buffers (protobuf) for micropython
Mini Protobuf {,de}serializer
SOCKS
MicroPython library implementing SOCKS server.
SMTP
A lightweight, scalable SMTP client for sending email in MicroPython
TCP
micropython bridge between UART and TCP for the ESP32
Telnet
Simple telnet server for MicroPython and the ESP8266 allowing telnet clients access to the REPL
VoIP
Voip for Micropython ESP32 with Interactive Voice Response
WiFi
An easy-to-use, MicroPython-compatible class to access and control lights on a Philips Hue Bridge.
A simple network configuration utility for MicroPython on the ESP-8266 board
WiFi manager for ESP8266 - ESP12 - ESP32 - micropython
Micropython based ESP WiFi Manager
Web
A micro HTTP Web server that supports WebSockets, html/python language templating and routing handlers, for MicroPython (used on Pycom modules & ESP32)
The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template engine and with really optimized architecture (mem allocations, async I/Os). Ready for ESP32, STM32 on Pyboard, Pycom's chipsets (WiPy, LoPy, ...). Robust, efficient and documented!
Simple and lightweight HTTP async server for micropython
Micropython (ESP8266) websocket server implementation.
A captive portal demo for MicroPython
A captive portal for MicroPython using ESP32 (WeMos)
ESP8266 web server for MicroPython
A mini client/server implementation of CoAP (Constrained Application Protocol) into MicroPython
MicroPyServer is a simple HTTP server for MicroPython projects.
A micro JSON REST Web client based on MicroWebCli for MicroPython (used on Pycom modules & ESP32)
Micropython websockets implementation
The impossibly small web framework for Python and MicroPython.
Full async Micropython web server with small memory footprint.
A micro HTTP Web client for MicroPython (used on Pycom modules & ESP32)
Captive portal for micropython including a dumb DNS server and a webserver to configure wifi networks.
A minimalist asyncio web framework for MicroPython.
Zigbee
MicroPython IEEE802.15.4 / Zigbee parser
E-Paper
MicroPython drivers for Waveshare e-paper modules
Waveshare E-Paper Display driver for devices running Pycom-flavored MicroPython
A Micropython driver for the SSD1675A
Micropython driver for Inkplate boards
MicroPython driver for the Inkplate 6
e-Ink library for Waveshare 4.3inch device on MicroPython
E-Ink, E-Paper display driver for Micropython and ESP32
Pure Micropython driver for the DEPG0213BN E-Ink display found on the TTGO T5 V2.3 ESP32 boards
Fonts
A Python 3 utility to convert fonts to Python source capable of being frozen as bytecode
A font for micropython on 128x64 pixel ssd1306 oled display.
Graphics
A MicroPython port of the Stage game library.
Derivative of PyPNG for use with MicroPython
PNG and JPEG decoder / parser / renderer in pure micropython
A collection of progress bars for use with esp8266 and esp32's on OLED displays
Simple MicroPython plotting package
GUI
LVGL binding for MicroPython
Touch GUI for the official MicroPython LCD display
MicroPython device driver and nano-GUI for RA8875 based displays
A lightweight MicroPython GUI library for display drivers based on framebuf class
A lightweight MicroPython GUI library for display drivers based on framebuf, allows input via pushbuttons.
Simple GUI for Pyboard and TFT touch panel displays
LCD Character
Code created while fiddling with my MicroPython
micropython lib to control hd44780 lcd
MicroPython Character LCD Display library
🖥 MicroPython Library for I2C 2x16 LCD Screens
A hobbyist project to connect a character LCD to the PyBoard
Python based library for talking to character based LCDs.
Class for controlling the HD44780 from a micropython pyboard.
This LCD module can be connected using SPI or I2C protocol
LCD Graphic
MicroPython driver for Nokia 5110 PCD8544 84x48 LCD modules
Micropython driver for ST7565 based LCD
Micropython library for ST7920 128x64 monochrome LCD. Tested on a 'Cockle'; NodeMCU module w. Micropython 1.8.7
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
MicroPython library for HX1230 96x68 LCD modules
micropython driver for SHARP memory display
LCD TFT
MicroPython SPI Driver for ILI934X Series Based TFT / LCD Displays
ST7735 TFT LCD driver for MicroPython
MicroPython driver and HAL example for Sitronix ST7735 TFT displays.
SSD1963 TFT Library for PyBoard and Raspberry Pi PICO
All of my MicroPython stuff
MicroPython ILI9341Display & XPT2046 Touch Screen Driver
Fast pure-C driver for MicroPython that can handle display modules on ST7789 chip
Slow micropython driver for 240x240 ST7789 display without CS pin from Ali Express, written in MicroPython
Micropython Driver for ILI9341 display
ILI9341 TFT driver for Micropython on ESP32
Fast MicroPython driver for ST7789 display module written in C
Driver for 320x240, 240x240 and 135x240 ST7789 displays written in MicroPython
ILI9342C Fast 'C' Driver for MicroPython (M5Stack Core)
GC9A01 Display driver in MicroPython
Fast MicroPython driver for GC9A01 display modules written in C
an ESP8266 micropython library for st7735 160x80, 128x128, 128x160 TFT LCD displays
Micropython ST7789 display driver for TTGO T-Display ESP32 CP2104 WiFi Bluetooth Module 1.14 Inch LCD
st7735_micropython drivers for 80x160, 128x128, 128x160 for ESP8266
LED Matrix
Micropython driver for Sure Electronics' HT1632C bicolor led matrix
MicroPython driver for AdaFruit 8x8 LED Matrix display.
MicroPython driver for MAX7219 8x8 LED matrix modules, cascadable and with framebuf
This is a driver + example code for the Wemos D1 Mini LED Matrix Shield
A Micropython driver for the Wemos LED Matrix Shield
MicroPython driver for MAX7219 8x8 LED matrix
LED Segment
JY-LKM1638 board driver library for Micropython / WiPy
Micropython driver for the max7219 with 8 x 7segment display
Micropython library for a 8 digits 7-segment display based on the MAX7219.
MicroPython driver for MY9221 10-segment LED bar graph modules
MicroPython driver for TM1637 quad 7-segment LED modules
MicroPython driver for TM1638 dual quad 7-segment LED modules with switches
MicroPython driver for TM1740 8x8 LED matrix modules
A micropython driver for 8-segment displays controlled by the TM74HC595 controller
LEDs
MicroPython Morse Code
MicroPython driver for P9813 chainable RGB LEDs
MicroPython driver for WS2812 RGB LEDs (WS2812B, AdaFruit NeoPixels, ...).
TLC5940 Micropython Library
An efficient micropython WS2812 (NeoPixel) driver
MicroPython library for WS2801
Micropython driver for the HT16K33, a LED matrix, 7-Segment Numeric, and 14-Segment Alphanumeric display driver IC
This wrapper module aims to reduce the work needed to work with NeoPixel (WS2812) and DotStar (APA102) RGB LED strips and matrixes.
port of FastLED to MicroPython
Micropython module which allows python to pump data into the ws2811 leds at full speed.
OLED
Code created while fiddling with my MicroPython
MicroPython driver for SSD1327 128x128 4-bit greyscale OLED displays
MicroPython SSD1351 OLED Display Driver
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
MicroPython driver for the SH1106 OLED controller
MicroPython SSD1309 Monochrome OLED Display Driver
Micropython driver for sh1107-based OLED display (64 x 128)
Printer
The MicroPython port of Python Thermal Printer by Adafruit
ADC
Micropython driver for ADS1115 and ADS1015
Python class interfacing the ADS7818 AD-converter
MicroPython module for the Texas Instruments ADS1219 ADC
Micropython driver for HX711 24-Bit Analog-to-Digital Converter
MicroPython ESP32 library for calibrated on-chip ADC conversion
DAC
A micropython driver for the mcp4725 I²C DAC
Helpful libraries and other stuff for micropython
GPIO
Classes to count pulses, debounce digital inputs, and calculate moving averages of analog inputs for a micropython board.
MicroPython Class for Debouncing Switches
IO-Expander
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
MicroPython driver for MCP23017 16-bit I/O Expander
MicroPython driver for PCF8574 8-Bit I2C I/O Expander with Interrupt
MicroPython driver for PCF8575 16-Bit I2C I/O Expander with Interrupt
Joystick
MicroPython module to read the game console controller.
Keyboard
A Python class for controlling the Pimoroni RGB Keypad for Raspberry Pi Pico
A MicroPython module for asyncio button.
Potentiometers
A MicroPython library for the AD840x digital potentiomers.
MicroPython module to control MicroChip's MC4131 SPI digital potentiometer
Power Management
MicroPython axp202
A micropython library that enables an esp8266 to sleep for hourly increments for a setup amount of hours.
PWM
Rotary Encoder
MicroPython module to read a rotary encoder.
Simple GUI menu for micropython using a rotary encoder and basic display.
MicroPython library to handle a rotary encoder
Code to drive a rotary encoder in micropython
very simple lightweight encoder knob library
Assorted code ideas plus index to my other repositories.
Application of uasyncio to hardware interfaces. Tutorial and code.
Shift Registers
MicroPython driver for 74HC595 shift registers
Waveform Generator
This script is written in python 3.x for interfacing the AD9833 with microcontrollers with micropython (specifically the PyBoard) over SPI.
Clock generators ( Si5351 for now ) toolbox.
Signal generators ( AD9833, AD9834, AD9850, ADF4351) tools box.
Micropython library for AD9850 synthesizer
DC Motor
All of my MicroPython stuff
Servo
Stepper
Balancing robot micropython code
Micropython code to drive stepper motors via ULN2003
Python library to drive Pololu Tic stepper motor controllers
AccelStepper Library for Micropyton - ESP32
MicroPython Stepper Motor Sequence Control
DIY rotating platform using an ESP32 connected to Wi-Fi
MicroPython library for Stepper Driver control using AMIS-30543 driver
Accelerometer Digital
adxl345 driver for micropython
MicroPython I2C driver for LIS2HH12 3-axis accelerometer
MIcroPython Library for Various Accelerometers #MicroPython
Library for interacting through the SPI protocol with an 'Analog Devices ADXL345' accelerometer from an MCU flashed with MicroPython. Methods are optimised for trying to reach max available sampling rate for this device
Air Quality
MicroPython driver for LoPy
Air Quality monitor using PMS5003 sensor and WiPy development board implemented in MicroPython
Micropython driver for the PMS7003 Air Quality Sensor
Driver for pms5003 air quality sensor for micropython
Driver for pms5003 air quality sensor for micropython
SDS011 pollution sensor + Wemos D1 mini pro + Micropython