awesome-micropython
A curated list of awesome MicroPython libraries, frameworks, software and resources.
https://github.com/mcauser/awesome-micropython
Last synced: 11 days ago
JSON representation
-
Libraries
-
Communications
- usigv4 - A minimal aws signature version 4 (SigV4) implementation for micropython/embedded use.
- aiomqttc - Asynchronous MQTT Client for Micropython AND CPython.
- micropython-thingspeak-mqtt-esp8266 - Publish and Subscribe to ThingSpeak using MQTT with MicroPython running on ESP8266/ESP32 platforms.
- uht - Lightweight HTTP server for MicroPython (serve websites and handle requests).
- BTHome-MicroPython - MicroPython module to format sensor readings for BTHome BLE advertising payloads.
- bitstruct-micropython - MicroPython port of [bitstruct](https://github.com/eerimoq/bitstruct).
- micropython-simple-async-ntpclient - Very simple async MicroPython module to receive the current time from an NTP server.
- micropython-ds1302-rtc - DS1302 RTC Clock driver for MicroPython.
- micropython-msgpack - MessagePack serialisation library optimised for MicroPython.
- telnetd - Powerful telnetd server to access MicroPython REPL (with strong password support, and unlimited connections).
- micropython-samtts - A MicroPython port of Software Automatic Mouth Text-To-Speech program.
- micropidash
- microsky - A [Bluesky](https://bsky.app/) client for Python and MicroPython.
- micropython-simple-async-ntpclient - Very simple async MicroPython module to receive the current time from an NTP server.
- micropython_dcf77 - DCF77 receiver and decoder.
- MicroPython-BresserWeatherSensorReceiver - Bresser 5-in-1/6-in-1/7-in-1 868 MHz Weather Sensor Radio Receiver and Decoder.
- micropython-ds1302-rtc - DS1302 RTC Clock driver for MicroPython.
-
Cryptography
- enigmapython - A simple yet faithful library to emulate different Enigma machines models using MicroPython.
-
Display
- writer - A simple way to render above Python fonts to displays whose driver is subclassed from `framebuf`.
- Grove_RGB_LCD - Driver for SeeedStudio's Grove RGB LCD.
- Official LCD160CR - Driver for official MicroPython LCD160CR display with resistive touch sensor.
- Official WS2811 - ESP8266 WS2811/NeoPixel RGB LED driver.
- Grove_OLED - Driver for SSD1327 used by SeeedStudio's Grove OLED Display 1.12" v1.0.
- Official SSD1306 - Driver for SSD1306 128x64 OLED displays.
- micropython-ili9341 - Collection of drivers for TFT displays, ILI9341, SH1106, SSD1606, ST7735.
- micropython-waveshare-epaper - Drivers for various Waveshare ePaper modules.
- micropython-waveshare-epd - Waveshare ePaper Display driver for devices running Pycom-flavored MicroPython.
- ssd1675a - Driver for SSD1675-based e-paper displays.
- Inkplate-micropython - MicroPython driver for Inkplate boards.
- micropython-inkplate6 - MicroPython driver for the Inkplate 6.
- eInk-micropython - eInk library for Waveshare 4.3inch device on MicroPython.
- eink - An eInk, ePaper display driver for MicroPython and ESP32.
- micropython_DEPG0213BN - Pure MicroPython driver for the DEPG0213BN eInk display found on the TTGO T5 V2.3 ESP32 boards.
- uPyEINK - Control a Waveshare 7.5" E-INK display using an ESP32 running MicroPython.
- MicroPython-2.9-inch-ePaper-Library - MicroPython Display Driver for WaveShare 2.9inch e-Paper Display (B).
- uc8151_micropython - UC8151 / IL0373 MicroPython e-paper display driver with support for greyscales and fast updates.
- micropython-font-to-py - A Python 3 utility to convert fonts to Python source capable of being frozen as bytecode.
- ssd1306big - A font for MicroPython on 128x64 pixel SSD1306 OLED display.
- framebuf2 - MicroPython FrameBuffer extension: larger and rotated font, triangles and circles.
- micropython_GT30L24T3Y_big5_font - MicroPython driver for reading BIG-5 Chinese characters from GT30L24T3Y / ER3303-1 SPI module.
- ttgo-hershey-fonts - MicroPython Hershey font demo for the TTGO-LCD board.
- packed-font - Memory efficient MicroPython fonts for the Pico Pi and SSD1306 OLED Display.
- micropython-stage - A MicroPython port of the Stage game library.
- micropython-png - Derivative of PyPNG for use with MicroPython.
- mpy-img-decoder - PNG and JPEG decoder / parser / renderer in pure MicroPython.
- micropython-oled-progressbars - A collection of progress bars for use with ESP8266 and ESP32 on OLED displays.
- microplot - Simple MicroPython plotting package.
- micropython-microbmp - A small Python module for BMP image processing.
- MicroPython_UPLOT - MicroPython Small Graphics Framework.
- lvgl - An object-oriented, component-based high-level GUI library with MicroPython binding.
- micropython-lcd160cr-gui - Simple touch-driven event based GUI for the Pyboard and LCD160CR colour display.
- micropython_ra8875 - MicroPython device driver and nano-GUI for RA8875 based displays.
- micropython-nano-gui - A tiny display-only GUI with a limited set of GUI objects (widgets) for displays whose display driver is subclassed from the `framebuf` class. With drivers for TFT, ePaper and OLED displays.
- micro-gui - Derived from nano-gui and supporting the same displays and hosts, this provides for user input via push buttons or a navigation joystick and an optional rotary encoder.
- micropython-touch - Derived from nano-gui and supporting the same displays and hosts, this offers touch input. Supports various touch controllers.
- TFT-GUI - A fast touch GUI for large displays based on SSD1963 controller with XPT2046 touch controller.
- micropython-nextion - Control Nextion displays using MicroPython.
- mp_lvgl_widgets - Widgets for the MicroPython Port of LVGL.
- micropython-core2 - Extends LV-MicroPython for the M5Stack CORE2 with MPU6886, ILI9342C, BM8563 and AXP192 drivers.
- lcdi2c - Driver for HD44780-compatible dot matrix LCDs.
- micropython-charlcd - Driver for HD44780-compatible LCDs.
- micropython-i2c-lcd - Driver for I2C 2x16 LCD Screens.
- pyboard-LCD-character-display - Pyboar driver for HDD44780-compatible 1602 LCDs.
- python_lcd - Driver for HD44780-compatible dot matrix LCDs.
- micropython-lcd - Class for controlling the HD44780 from a MicroPython Pyboard.
- HD44780-lcd-upy - MicroPython module for controlling a generic HD44780 LCD.
- LCM1602-14_LCD_Library - driver for AIP31068L [3.3 V I2C and SPI 1602 Serial Character LCDs](https://www.cytron.io/p-3v3-i2c-and-spi-1602-serial-character-lcd).
- micropython-i2c-lcd - MicroPython package to control HD44780 LCD displays 1602 and 2004 via I2C.
- micropython_i2c_lcd - MicroPython library for interacting with HD44780-based LCD displays through a PCF8574 I/O expander. It offers a high-level API for LCD control, including text display, cursor manipulation, and backlight settings, while also providing lower-level access to the GPIO operations on the PCF8574.
- micropython-lcd-AQM1248A - ESP8266 driver for AQM1248A graphic LCD.
- micropython-pcd8544 - Driver for Nokia 5110 PCD8544 84x48 LCD modules.
- micropython-st7565 - Driver for ST7565 128x64 LCDs.
- micropython-st7920 - Library for simple graphic primitives on ST7920 128x64 monochrome LCD panel using ESP8266 and SPI.
- MicroPython_PCD8544 - ESP8266 driver for Nokia 5110 PCD8544.
- micropython-hx1230 - MicroPython library for HX1230 96x68 LCD modules.
- micropython-SHARP_Memory_Display - MicroPython driver for SHARP memory display.
- micropython-ili934x - SPI driver for ILI934X series based TFT / LCD displays.
- MicroPython-ST7735 - ESP32 version of GuyCarvers's ST7735 TFT LCD driver.
- micropython-st7735 - Driver for ST7735 TFT LCDs.
- MicroPython_ST7735 - Driver for ST7735 128x128 TFT.
- SSD1963-TFT-Library-for-PyBoard-and-RP2040 - SSD1963 TFT Library for Pyboard and Raspberry Pi Pico.
- micropython-ili9341 - MicroPython ILI9341 display & XPT2046 touch screen driver.
- st7789_mpy - Fast pure-C driver for MicroPython that can handle display modules on ST7789 chip.
- st7789py_mpy - Slow MicroPython driver for 240x240 ST7789 display without CS pin from AliExpress, written in MicroPython.
- micropython-ili9341 - MicroPython Driver for ILI9341 display.
- micropython-ili9341 - ILI9341 TFT driver for MicroPython on ESP32.
- st7789_mpy - Fast MicroPython driver for ST7789 display module written in C.
- st7789py_mpy - Driver for 320x240, 240x240 and 135x240 ST7789 displays written in MicroPython.
- ili9342c_mpy - ILI9342C Fast 'C' Driver for MicroPython (M5Stack Core).
- gc9a01py - GC9A01 Display driver in MicroPython.
- gc9a01_mpy - Fast MicroPython driver for GC9A01 display modules written in C.
- st7735-esp8266-micropython - An ESP8266 MicroPython library for ST7735 160x80, 128x128, 128x160 TFT LCD displays.
- TTGO-ST7789-MicroPython - MicroPython ST7789 display driver for TTGO T-Display ESP32 CP2104 WiFi Bluetooth Module 1.14 Inch LCD.
- st7735_micropython - ST7735 MicroPython drivers for 80x160, 128x128, 128x160 for ESP8266.
- ili934x-micropython - Library for using ILI9341 display drivers with MicroPython.
- micropython-st7735-esp8266 - MicroPython driver for ST7735 TFT displays on the ESP8266.
- st7789s3_esp_lcd - Fast ESP_LCD based MicroPython driver for the TTGO T-Display-S3 st7789 display written in C.
- s3lcd - ESP_LCD based MicroPython driver for ESP32-S3 Devices with ST7789 or compatible displays.
- thmi_py - MicroPython display driver for the LILYGO T-HMI written in Python.
- wt32sc01py - WT32SC01 Plus MicroPython Display Driver.
- st7789s3_mpy - MicroPython display driver for the TTGO T-Display-S3 ST7789 written in C.
- t-display-s3 - MicroPython display driver for the TTGO T-Display-S3 ST7789 written in Python.
- mp-ili9341 - MicroPython Driver for ILI9341 TFT Display.
- lvgl_esp32_gc9a01 - Driver for displays using the GC901 driver for use with LVGL MicroPython.
- micropython-ht1632c - Driver for HT1632C 32x16 bicolor LED matrix.
- micropython-matrix8x8 - Driver for Adafruit 8x8 LED Matrix display with HT16K33 backpack.
- micropython-max7219 - Driver for MAX7219 8x8 LED matrix modules.
- micropython-wemos-led-matrix-shield - Driver for Wemos D1 Mini Matrix LED shield, using TM1640 chip.
- micropython-wemos-led-matrix-shield - Driver for Wemos D1 Mini Matrix LED shield, using TM1640 chip.
- micropython-max7219 - MicroPython driver for MAX7219 8x8 LED matrix.
- MatrixDisplay - MicroPython module for work with MAX7219 LED matrix 8x8 display.
- LED_panel_upy - MicroPython driver module for Panel P10 32x16 Matrix display and its variants.
- LKM1638 - Driver for JY-LKM1638 displays based on TM1638 controller.
- max7219_8digit - Driver for MAX7219 8-digit 7-segment LED modules.
- micropython-max7219 - Driver for MAX7219 8-digit 7-segment LED modules.
- micropython-my9221 - Driver for MY9221 10-segment LED bar graph modules.
- micropython-tm1637 - Driver for TM1637 quad 7-segment LED modules.
- micropython-tm1638 - Driver for TM1638 dual quad 7-segment LED modules with switches.
- micropython-tm1640 - Driver for TM1740 8x8 LED matrix modules.
- micropython-tm1640 - MicroPython Library for 16 digits 7-segment displays controlled by a TM1640.
- TM74HC595 - Driver for shift register-controlled 5 pin display modules.
- micropython-tm1638spi - MicroPython Library for a popular board with 8 7-segment digits, 8 separate LEDs and 8 push buttons controlled by a TM1638.
- micropython-morsecode - Blink an LED with Morse Coded message.
- micropython-p9813 - Driver for P9813 RGB LED used in SeeedStudio's Grove chainable RGB LED.
- micropython-ws2812-7seg - 7-segment display using WS2812 RGB LEDs.
- micropython-ws2812 - Driver for WS2812 RGB LEDs.
- tlc5940-micropython - Driver for TLC5940 16 channel LED driver.
- ws2812-SPI - An efficient MicroPython WS2812 (NeoPixel) driver.
- micropython-ws2801 - A MicroPython library to interface with strands of WS2801 RGB LEDs.
- tlc5947-rgb-micropython - Driver for the TLC5947 24 channel 12-bit PWM LED driver.
- micropython-rgbled - This wrapper module aims to reduce the work needed to work with NeoPixel (WS2812) and DotStar (APA102) RGB LED strips and matrices.
- micropython_fastled - Port of FastLED to MicroPython.
- micropython-rgb-led-driver - Tiny driver to control an RGB LED with PWM.
- micropython-dotstar - A MicroPython port of the Adafruit CircuitPython APA102/DotStar library.
- micropython-oled - Collection of drivers for monochrome OLED displays, PCD8544, SH1106, SSD1306, UC1701X.
- micropython-ssd1327 - Driver for SSD1327 128x128 4-bit greyscale OLED displays.
- micropython-ssd1351 - Driver for SSD1351 OLED displays.
- MicroPython_SSD1306 - ESP8266 driver for SSD1306 OLED 128x64 displays.
- SH1106 - Driver for the SH1106 OLED display.
- micropython-ssd1309 - MicroPython SSD1309 Monochrome OLED Display Driver.
- sh1107-micropython - MicroPython driver for SH1107-based OLED display (64x128).
- SH1107 - Driver for SH1107 OLED displays (128x128 and 128x64 pixels).
- micropython-ssd1322 - MicroPython display driver for SSD1322 grayscale OLED.
- micropython-thermal-printer - The MicroPython port of Python Thermal Printer by Adafruit.
- micropython-aw210xx - Driver for Awinic's AW210xx line of 8-bit LED drivers.
- microfont - Text drawing library for MicroPython framebuffer.
- ST77xx-pure-MP - Pure MicroPython driver for ST77xx displays. Low memory requirements.
- upy-st7789 - A simple ST7789 driver written in MicroPython.
- micropython-hpdl1414 - MicroPython HPDL-1414 Display Driver.
- micropython-ht16k33 - MicroPython driver for the HT16K33, a LED matrix, 7-Segment Numeric, and 14-Segment Alphanumeric display driver IC.
- micropython-ssd1306 - MicroPython SPI & I2C Display Driver for SSD1306 monochrome OLED.
- Tempe - Efficient MicroPython graphics library built on top of `framebuf`.
- mp_jpeg - A very fast MicroPython JPEG encoder and decoder for the ESP32.
- ST7735 - Driver for ST7735 TFT LCDs.
- micropython-sevenseg - Lightweight MicroPython library for single-digit 7-segment displays (common anode & cathode) with ESP32, ESP8266 and RP2040 support.
- max7219_8digit - MicroPython driver for the MAX7219 with 8 x 7-segment display.
- IS31FL3197 - I2C driver for the IS31FL3197 chip, found on the Arduino GIGA Display Shield.
-
IO
- encoders - Short document explaining issues around encoder technology.
- asynchronous encoder driver - Interface an encoder to uasyncio code.
- tca9548a - MicroPython driver for the TCA9548A I2C multiplexer.
- ads1x15 - Driver for the ADS1015/ADS1115 ADC, I2C interface.
- micropython-ads1015 - ADS1015 12-Bit and ADS1115 16-bit ADC, 4 channels with programmable gain, I2C interface.
- Micropython_ADS1115 - ADS1115 16-bit ADC, 4 channels with programmable gain, I2C interface.
- ADS7818 - Python class interfacing the ADS7818 AD-converter.
- micropython-ads1219 - MicroPython module for the Texas Instruments ADS1219 ADC.
- MicroPython-ADC_Cal - ESP32 ADC driver using reference voltage calibration value from efuse.
- micropython-pcf8591 - MicroPython driver for PCF8591 ADC/DAC, I2C interface.
- MCP342x_LoPy - MicroPython driver for the MCP342x ADC.
- micropython-ads1220 - MicroPython library for ADS1220 24-bit analog-to-digital converter.
- PCF8591_micropython_library - MicroPython library for PCF8591 8-bit ADC/DAC.
- CS1237 - MicroPython driver for the CS1237 ADC.
- micropython-mcp4725 - Driver for the MCP4725 I2C DAC.
- mcp4728 - Helper library for the Microchip MCP4728 I2C 12-bit Quad DAC.
- micropython-inputs - Classes to count pulses, debounce digital inputs, and calculate moving averages of analog inputs for a MicroPython board.
- ubutton - A MicroPython library for controlling reading and debouncing pushbutton inputs, including "short" and "long" press callbacks.
- micropython-debounce-switch - MicroPython Class for Debouncing Switches.
- micropython-mcp230xx - Driver for MCP23017 and MCP23008 GPIO expanders.
- micropython-mcp230xx - Driver for MCP23017 and MCP23008 GPIO expanders, extended with interrupt handling.
- micropython-mcp23017 - MicroPython driver for MCP23017 16-bit I/O Expander.
- micropython-pcf8574 - MicroPython driver for PCF8574 8-Bit I2C I/O Expander with Interrupt.
- micropython-pcf8575 - MicroPython driver for PCF8575 16-Bit I2C I/O Expander with Interrupt.
- ESP8266_MCP23S17 - MicroPython library for using the MCP23S17 16-bit I/O expander with the ESP8266.
- pcf8574 - MicroPython module for working with the PCF8574(A) I2C 8-bit I/O expander from NXP.
- micropython-nunchuck - Driver for Nunchuk game controller, I2C interface.
- esp32-microgamepad-ble - Dual analog joystick on ESP32 over BLE (Nordic UART Service - NUS) using MicroPython.
- micropython-keyboard - 47 key keyboard running on a MicroPython Pyboard.
- pico-rgbkeypad - A Python class for controlling the Pimoroni RGB Keypad for Raspberry Pi Pico.
- micropython-aiobutton - A MicroPython module for asyncio button.
- micropython-tca9548a - MicroPython examples using TCA9548A I2C multiplexer.
- micropython-ad840x - MicroPython SPI-based manipulation of the AD series digital potentiometers AD8400, AD8402 and AD8403.
- mcp4131 - MicroPython module to control MicroChip's MCP4131 SPI digital potentiometer.
- MicroPython_DS1841 - MicroPython Driver for the DS1841 Potentiometer.
- MicroPython_DS3502 - MicroPython Driver for the DS3502 Potentiometer.
- AXP202_PythonLibrary - MicroPython AXP202 Library.
- micropython_hourly_sleeper_library - A MicroPython library that enables an ESP8266 to sleep for hourly increments for a setup amount of hours.
- upwmcontroller - A MicroPython library for controlling PWM outputs in an asyncio loop, with features including fading and blinking.
- micropython-xl9535-kxv5-relay - A MicroPython library for jxl XL9535-KxV5 I2C relay boards.
- micropython-rotary - MicroPython module to read a rotary encoder.
- uencoder - A MicroPython library for reading from a rotary encoder.
- encodermenu - Simple GUI menu for MicroPython using a rotary encoder and basic display.
-
Programming Languages
Categories
Sub Categories
Keywords
micropython
337
esp32
100
sensor
61
driver
52
esp8266
46
python
36
temperature
31
i2c
22
accelerometer
18
micropython-esp32
16
pycom
16
library
14
humidity
14
pyboard
13
wipy
12
embedded
12
obsolete
11
deprecated
11
archived
11
raspberry-pi-pico
11
http
10
acceleration
10
pressure
10
mqtt
9
microcontroller
9
hc2
9
asyncio
9
iot
8
wemos-d1-mini
8
lora
8
st7789
7
spi
7
micropython-driver
7
micropython-lib
7
uart
7
als
6
rp2040
6
ble
6
lopy
6
wifi
6
circuitpython
6
bosch
6
lcd
5
magnetometer
5
grove
5
python3
5
stm32
5
m5stack
5
rtc
5
arduino
5