A curated list of awesome MicroPython libraries, frameworks, software and resources.
MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments.
Contents
Libraries
Other places you can look for MicroPython Libraries:
-
PyPi - This filter shows just the MicroPython libraries on PyPi. Note: You cannot
pip install
MicroPython libraries. See the MicroPython docs for more information on managing packages with MicroPython.
-
GitHub Search - Search GitHub for repositories containing MicroPython.
-
GitHub Topic - MicroPython
- Browse GitHub Topics for projects tagged with MicroPython.
-
Libraries.io - Libraries.io query for MicroPython.
-
GitLab Explore - Explore repositories on GitLab.
-
Codeberg Explore - Explore repositories on Codeberg.
AI
Audio
Communications
APIs
Authentication
Bluetooth
-
PyBoard-HC05-Android
- Pyboard HC05 Bluetooth adapter example application.
-
uble
- Lightweight Bluetooth Low Energy driver written in pure Python for MicroPython.
-
MicroPythonBLEHID
- Human Interface Device (HID) over Bluetooth Low Energy (BLE) GATT library for MicroPython.
-
upyble
- Command line tool for Bluetooth Low Energy MicroPython devices.
-
micropython-xiaomi-ble-adv-parse - Passively retrieve sensor data from some Xiaomi Bluetooth Low Energy (BLE) sensors.
-
mijia-temphum-upy - MicroPython library to read certain Xiaomi Mijia BLE temperature & humidity sensors.
-
micropython-aioble-itag
- Examples using aioble to interact with iTag BLE keychain tags.
CAN
Compression
-
ufastlz
- MicroPython wrapper for FastLZ, a lightning-fast lossless compression library.
-
tamp
- A low-memory, MicroPython-optimized, DEFLATE-inspired lossless compression library.
Cryptography
-
ucryptography
- Lightweight porting of pyca/cryptography to MicroPython based on ARM Mbed TLS.
-
mpyaes
- MicroPython module for AES encryption.
-
micropython-aes
- AES algorithm with pure python implementation.
-
ucrypto
- MicroPython package for doing fast RSA and elliptic curve cryptography, specifically digital signatures. ECDSA API design inspired from fastecdsa and implementation based on tomsfastmath.
-
ucryptoauthlib
- Lightweight driver for Microchip Crypto Authentication secure elements written in pure Python for MicroPython.
-
embit
- A minimal Bitcoin library for MicroPython and Python 3 with a focus on embedded systems.
-
microotp
- An ESP8266 MicroPython OTP Generator.
-
micropython-rsa-signing
- RSA signing on MicroPython.
-
micropython-cryptomsg
- A MicroPython module to encrypt and decrypt messages with AES CBC mode.
-
mprsa
- A MicroPython module for creating, importing, and exporting RSA keys in DER and PEM formats with PKCS#1, PKCS#8, and X.509/SPKI structures, and signing/verifying and encryption/decryption using blinding and SHA-1 and SHA-256 hashing algorithms.
-
mpy-mbedtls
- MicroPython bindings for some MbedTLS EC and x509 cert/csr functions.
-
micropython-cryptocfb
- A Python module to encrypt and decrypt data with AES-128 CFB mode.
-
tscp
- An endpoint-to-endpoint encryption based on Diffie-Hellman-Merkle with TLS1.3 styled handshake using MicroPython.
DNS
-
ICantBelieveItsNotDNS
- “I Can’t Believe It’s Not DNS!” (ICBIND) is an authoritative DNS server for the ESP8266 written in MicroPython.
-
MicroDNSSrv
- A micro DNS server for MicroPython to simply respond to A queries on multi-domains with or without wildcards (used on Pycom modules & ESP32).
-
tinydns
- Very simple DNS async server for MicroPython.
-
micropython-captiveportal
- Minimal async captive portal for MicroPython (compatible with uasyncio v3/MicroPython 1.13+ as well as earlier versions).
-
Micropython-DNSServer-Captive-Portal
- MicroPython WiFi AP Captive Portal with DNS and Web Server.
ESP-NOW
Ethernet
FTP
GPS
GSM
HTTP
-
mrequests
- A HTTP client module (not only) for MicroPython with an API similar to requests.
IoT
-
microhomie
- MicroPython implementation of the Homie MQTT convention for IoT.
-
uPyEcho
- Emulated Belkin WeMo device that works with Amazon Echo (Alexa) using MicroPython on an ESP32.
-
SonosRemote
- A remote for Sonos installations running on an ESP8266 and using Sonos HTTP API.
-
micropython-home-assistant - MicroPython-based scripts to extend your Home Assistant-driven home automation projects.
-
micropython-iot
- An approach to designing IoT applications using ESP8266, ESP32 or Pyboard D endpoints.
-
iot-core-micropython
- Use MicroPython to connect to Google Cloud IoT Core.
-
SmartUPy
- Controlling “Tuya-type” smart power outlets using MicroPython.
-
aws-iot-GET-POST-loop
- MicroPython code which uses the AWS IoT REST API to GET/POST device state info.
-
sensor-mqtt-homeassistant
- An ESP8266/ESP32 MicroPython-based sensor platform for GPIO, DHT, analog, LED and more. Includes remote updates for .py code from web server and MQTT/Home Assistant integration.
-
micropython-ha-mqtt-device
- MicroPython module which allows creating Entites for HomeAssistant using MQTT Discovery.
-
ESP8266-Home-Assistant-Smart-Socket
- This MicroPython project is to hack a Hyleton313 cheap WiFi smart socket.
-
ESP8266-Home-Assistant-RGB-Bulb
- This MicroPython project is to hack a TYWE3S board in a cheap WiFi RGB Bulb.
-
uPyIoT
- Connect an M5Stack ATOM running MicroPython to the Google Cloud Platform (GCP) to collect air-quality variables obtained from reading sensors.
-
micropython-switchbot-thermometer-hygrometer
- Read SwitchBot Thermometer/Hygrometer via Bluetooth.
IR
LoRa
-
loraE22
- A MicroPython class for the Ebyte E22 Series LoRa modules.
-
micropython-lora
- MicroPython library for controlling a Semtech SX127x LoRa module over SPI.
-
micropython-aiolora
- MicroPython library for controlling a Semtech SX127x LoRa module with asyncio API.
-
micropython-rylr
- MicroPython library for controlling Reyax LoRa modules (RYLR896, RYLR406).
-
silvergeko_rfm9x
- Porting to MicroPython of adafruit_rfm9x.py library.
LoRaWAN
MDNS
-
micropython-mdns
- A pure Python implementation of MDNS with support for Service Discovery.
Modbus
-
micropython-modbus - MicroPython port of modbus-tk.
-
micropython-modbus
- Modbus Master library for MicroPython ESP32 devices. Based on pycom-modbus from Pycom.
-
mp_modbus
- Modbus library for MicroPython.
-
micropython-modbus
- ModBus TCP and RTU library supporting client and host mode. Based on pycom-modbus from Pycom.
MQTT
-
micropython-mqtt
- A ‘resilient’ asynchronous MQTT client: recovers from WiFi and broker outages.
-
MQBoard
- A micro-framework for using MQTT with asyncio on MicroPython boards, primarily on the ESP32.
-
pysmartnode
- MicroPython Smart Home framework.
-
umqtt_aws_iot
- Publish UMQTT messages with MicroPython to AWS IoT.
-
sonoff-mqtt by davea
- MicroPython scripts to control Sonoff/ESP8266 using MQTT.
-
micropython-sonoff-switch
- Implements an MQTT-controllable switch for the iTead Sonoff Switch using MicroPython.
-
micropython-thingspeak-mqtt-esp8266
- Publish and Subscribe to ThingSpeak using MQTT with MicroPython running on ESP8266/ESP32 platforms.
-
uMQTT
- MQTT publish for MicroPython on the WiPy board.
-
micropython-mqtt
- Async MQTT library with auto reconnect for MicroPython devices such as the ESP32 or Pycom devices.
-
micropython-adafruit-mqtt-esp8266
- Using MQTT to Publish/Subscribe to Adafruit IO. MicroPython/CircuitPython implementation on ESP8266/ESP32.
-
mqtt_upython
- MQTT Client using MicroPython on ESP8266.
-
tinymqtt
- Async MQTT client for MicroPython.
-
micropython-mqtt-thingspeak
- Publish and Subscribe to ThingSpeak using MQTT with MicroPython.
-
micropython-sparkplugb
- MicroPython compatible implementation of the Eclipse Sparkplug B Specification.
NBD
-
unbd
- Micro implementation of network block device (NBD) for MicroPython.
NFC
-
micropython-nfc
- Using NFC with MicroPython.
-
micropython_pn532
- Driver for PN532 NFC/RFID breakout boards based on Adafruit CircuitPython (UART).
-
NFC_PN532_SPI
- Partial port of Adafruit CircuitPython to MicroPython of PN532 NFC/RFID control library (SPI).
NTP
OneWire
-
Official OneWire
- For devices using the OneWire bus, eg Dallas DS18x20.
-
Onewire_DS18X20
- Classes for driving the DS18x20 sensor with the OneWire protocol for Pycom MicroPython.
-
micropython_arduino_control
- MicroPython library to control an Arduino remotely, with corresponding Arduino code.
Onkyo EISCP
-
eiscp-micropython
- MicroPython port for the Onkyo-EISCP protocol used, among others, by Pioneer.
OTA
Radio
RC receiver
REPL
-
webrepl - MicroPython WebREPL.
-
zepl - MicroPython WebREPL Console Application using ZeroMQ.
-
jupyter_micropython_remote - Jupyter kernel to directly execute code on a MicroPython board over the serial/web REPL.
-
FBConsole
- Framebuffer console class for MicroPython.
RFID
RPC
-
ujrpc
- JSON RPC for MicroPython.
RTC
Serial
-
mpy-miniterm
- Tool for seamless serial debug and file synchronisation with MicroPython devices via the serial REPL.
-
MicroPython-MorseCode - International Morse Code using a microcontroller with MicroPython.
-
I2C Slave
- Uses the Pyboard’s I2C slave mode to implement a full duplex asynchronous link. Principal use case is for ESP8266 which has only one UART.
-
microSDI12
- A mini SDI-12 implementation for getting sensor info over RS-485.
Serialization
-
micropython-msgpack
- MessagePack serialisation library optimised for MicroPython.
-
micropython-uprotobuf
- A lightweight implementation of Google’s Protocol Buffers (protobuf) for MicroPython.
-
minipb
- Mini Protobuf {de}serializer in pure Python.
-
ucbor
- Lightweight implementation of cbor for MicroPython.
-
upy-msgpack
- A lightweight MessagePack (de)serialization library (not only) for MicroPython.
SMTP
-
uMail
- A lightweight, scalable SMTP client for sending email in MicroPython.
Sockets
-
XAsyncSockets
- XAsyncSockets is an efficient Python/MicroPython library of managed asynchronous sockets.
SOCKS
TCP
-
us2n
- MicroPython bridge between UART and TCP for the ESP32.
Telnet
-
MicroTelnetServer
- Simple telnet server for MicroPython and the ESP8266 allowing telnet clients access to the REPL.
Text-to-Speech
VoIP
-
uPyVoip
- VoIP for MicroPython ESP32 with Interactive Voice Response.
Web
-
MicroWebSrv
- A micro HTTP web server that supports WebSockets, HTML/Python language templating and routing handlers, for MicroPython (used on Pycom modules & ESP32).
-
MicroWebSrv2
- The last micro web server for IoTs (MicroPython) or large servers (CPython), that supports WebSocket, routes, template engine and with really optimized architecture (mem allocations, async I/Os).
-
tinyweb
- Simple and lightweight HTTP async server for MicroPython.
-
upy-websocket-server
- MicroPython (ESP8266) WebSocket server implementation.
-
micropython-captive-portal
- A captive portal demo for MicroPython.
-
uPyPortal
- A captive portal for MicroPython using ESP32 (Wemos).
-
ESP8266WebServer
- ESP8266 web server for MicroPython.
-
microCoAPy
- A mini client/server implementation of CoAP (Constrained Application Protocol) into MicroPython.
-
micropyserver
- MicroPyServer is a simple HTTP server for MicroPython projects.
-
MicroRESTCli
- A micro JSON REST web client based on MicroWebCli for MicroPython (used on Pycom modules & ESP32).
-
micropython-noggin
- A very simple web server for MicroPython.
-
uwebsockets
- MicroPython WebSocket implementation for ESP8266.
-
microdot
- The impossibly small web framework for MicroPython.
-
micropython-nanoweb
- Full async MicroPython web server with small memory footprint.
-
MicroWebCli
- A micro HTTP web client for MicroPython (used on Pycom modules & ESP32).
-
micropython-configserver
- Captive portal for MicroPython including a dumb DNS server and a web server to configure WiFi networks.
-
micropython-aioweb
- A minimalist asyncio web framework for MicroPython.
-
thimble
- A tiny web framework for MicroPython.
-
CaptiveWebServer
- Simple MicroPython web server for serving a website from a captive portal.
-
micropython-urouter
- A lightweight HTTP request routing processing support library based on MicroPython. The previous name was micro-route.
-
wlan-relays
- Very simple HTTP server written in MicroPython for controlling the pins of an ESP32 board.
WiFi
Zigbee
-
ZbPy
- MicroPython IEEE802.15.4 / Zigbee parser.
Display
E-Paper
Fonts
-
micropython-font-to-py
- A Python 3 utility to convert fonts to Python source capable of being frozen as bytecode.
-
writer
- A simple way to render above Python fonts to displays whose driver is subclassed from framebuf
.
-
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.
Graphics
GUI
-
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.
LCD Character
LCD Graphic
LCD TFT
-
micropython-ili9341
- Collection of drivers for TFT displays, ILI9341, SH1106, SSD1606, ST7735.
-
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.
-
ST7735
- Driver for ST7735 TFT LCDs.
-
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.
LED Matrix
LED Segment
-
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.
LEDs
OLED
Printer
IO
ADC
DAC
GPIO
-
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.
IO-Expander
-
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.
Joystick
Keyboard
Multiplexer
Potentiometers
-
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.
Power Management
PWM
-
upwmcontroller - A MicroPython library for controlling PWM outputs in an asyncio loop, with features including fading and blinking.
Relay
Rotary Encoder
Shift Registers
-
micropython-74hc595
- MicroPython driver for 74HC595 8-bit shift registers.
-
MicroPython-SN74HCS264 - MicroPython Driver for SN74HCS264 8-Bit Parallel-Out Serial Shift Registers With Schmitt-Trigger Inputs and Inverted Outputs.
Mathematics
-
uMath
- Computer Algebra for microcontrollers.
-
micropython-ulab
- A NumPy-like fast vector module for MicroPython.
-
micropython-fourier
- Fast Fourier transform in MicroPython’s inline ARM assembler.
-
Filters
- FIR filters using ARM Thumb assembler. Using an online utility you can go from a graph of required frequency response to a filter implementation.
-
ulinalg
- Small size matrix handling module with a few linear algebra operations specifically for MicroPython (Python 3).
-
micropython-mtx - Fast Matrix Multiplication and Linear Solver on MicroPython.
-
micropython-vec - Vector Operations on MicroPython.
-
MicroPython_Statistics
- Statistics module for MicroPython.
-
MicroPython-Matrix - MicroPython basic matrix operations.
-
uumpy
- A subset of NumPy for MicroPython.
-
upyuncertainties
- Uncertainty calculations for MicroPython.
-
umatrix
- A matrix library for the MicroPython language.
-
micropython-fractions
- A MicroPython port of the CPython standard Fractions library.
-
Sun and Moon
- Determine Sun and Moon rise and set times, Moon phases.
Motion
DC Motor
-
L298N
- Driver for the L298N dual H-bridge motor controller.
-
MicroPython-L298 - Drive L298 dual H-bridge with MicroPython.
-
pyl298
- Driver for the L298 dual full-bridge motor controller.
Servo
Stepper
Sensors
Accelerometer Digital
Air Quality
Barometer
-
micropython-bme280
- Driver for the Bosch BME280 temperature/pressure/humidity sensor.
-
micropython-bmp180
- Driver for Bosch BMP180 temperature, pressure and altitude sensor.
-
mpy_bme280_esp8266
- Bosch BME280 temperature/pressure/humidity sensor.
-
BME280
- MicroPython driver for the BME280 sensor, target platform Pycom devices.
-
micropython-bmp280
- Module for the BMP280 sensor.
-
micropython_bme280_i2c
- A MicroPython module for communicating with the Bosch BME280 temperature, humidity, and pressure sensor.
-
MicroPython-BME280
- Driver to digital sensor of Temperature, Pressure and Humidity.
-
micropython-bmp180 - A module for MicroPython which provides a class for the BMP180 pressure sensor.
-
BMP390
- MicroPython module for BMP390 pressure & temperature sensor.
-
BMP180
- MicroPython module for BMP180 pressure & temperature sensor.
-
MicroPython_BMP581
- MicroPython driver for the Bosch BMP581 pressure & temperature sensor.
-
mp-bmp3xx-full
- MicroPython driver for the Bosch BMP3xx range of barometric pressure sensors. Includes FIFO support. ⏩
-
MicroPython_DPS310
- MicroPython Driver for the DPS310 Sensor.
-
MicroPython_ICP10111
- MicroPython Driver for the TDK ICP-10111 Barometric Pressure and Temperature sensor.
Battery
Biometric
-
micropython-fingerprint
- MicroPython library for reading Grow and ZhianTec fingerprint sensors.
-
MAX30102-MicroPython-driver
- A MAX30102 driver ported to MicroPython. It should also work for MAX30105.
-
max30102
- MicroPython driver for the MAX30102, with heartbeat detection and BPM measurement.
Camera
-
micropython-ov2640
- MicroPython class for OV2640 camera.
-
Nikon-Trigger-for-MicroPython
- Remote trigger for a Nikon camera using an IR LED. For Pyboard v1.1.
-
micropython-camera-driver
- OV2640 camera driver for MicroPython on ESP32.
-
esp32-cam-micropython
- MicroPython ESP32-CAM.
-
uPyCam
- Take a photo with an ESP32-CAM running MicroPython.
-
OV2640_uPy
- OV2640 camera library for MicroPython.
-
MQTT-Cam
- ESP32-CAM MicroPython MQTT AWS S3 Uploader.
-
huskylib
- MicroPython driver for the DFRobot Husky Lens. An easy-to-use AI Camera / Vision Sensor, featuring face recognition, object tracking, object recognition, line tracking, color recognition, and QR code recognition.
Colour
Compass
Current
Distance IR
Distance Laser
Distance Ultrasonic
Dust
-
pyGP2Y
- MicroPython library for the Sharp GP2Y1014AU0F Dust Sensor.
Energy
-
ATM90E26_Micropython
- Driver for ATM90E26 energy metering device.
-
MCP39F521
- ESP8266 scripts for reading MCP39F521 power monitors.
-
micropython-p1meter
- A ESP32 sensor to read a p1 electricity meter and publish this to MQTT and Home Assistant, written in MicroPython.
-
esp32-solar2
- Simple solar regulator - MicroPython project.
-
cs5490_micropython
- MicroPython Driver for CS5490 Energy Monitor IC.
Gaseous
-
micropython-MQ
- Drivers for MQ series gas sensors.
-
MQ135
- Driver for MQ135 gas sensor.
-
CCS811
- Basic MicroPython driver for CCS811 on ESP8266 boards.
-
micropython-scd30
- MicroPython I2C driver for Sensirion SCD30 CO2 sensor module.
-
MicroPython_SCD4X
- MicroPython I2C driver for Sensirion SCD40 and SCD41 CO2 sensors.
-
micropython-sgp40
- MicroPython I2C driver for SGP40 VOC sensor module.
-
MICS6814-Micropython-driver - ESP32 MicroPython driver for the Pimoroni MICS6814 breakout board.
-
MicroPython_AGS02MA
- MicroPython Driver for the AGS02MA TVOC sensor.
-
SCD4x
- MicroPython module for work with SCD4x (SCD40, SCD41) low power CO2, temperature & humidity electroacoustic sensor from Sensirion.
-
ens160
- MicroPython module for work with ENS160 Digital Metal-Oxide Multi-Gas Sensor.
Humidity
Human Presence
-
ld2410
- 24GHz human presence sensing module, capable of detecting moving and stationary targets, and providing an approximate range.
Light
Load Cell
-
micropython-hx711
- MicroPython driver for HX711 24-Bit Analog-to-Digital Converter.
-
hx711_mpy-driver
- Micropython Driver for the HX711 weighing sensor.
-
hx710
- MicroPython driver for the HX710.
-
hx711
- MicroPython driver for the HX711 load cell interface.
-
hx710
- MicroPython driver for the HX710 load cell interface.
Magnetometer
Motion Inertial
Pressure
-
ms5803-micropython
- A MicroPython implementation of the driver for an MS5803 pressure & temperature sensor.
-
MPL3115A2_MicroPython
- MicroPython library for the MPL3115A2 altimeter.
-
MicroPython_MMR902
- MicroPython Driver for the Mitsumi MMR902 Micro Pressure Sensor.
-
MicroPython_MPL3115A2
- MicroPython driver for the NXP MPL3115A2 Pressure and Temperature sensor.
-
MicroPython_MS5611
- MicroPython Driver for the TE MS5611 Pressure and Temperature Sensor.
-
D6F-PH
- MicroPython module for differential pressure sensor, D6F-PH (OMRON).
Proximity
-
uPy_APDS9960
- MicroPython proximity library for ESP8266 using APDS9960.
-
MicroPython_VCNL4010
- MicroPython Driver for the Vishay VCNL4010 Proximity and Ambient Light Sensor.
-
apds9960
- MicroPython Driver for the APDS9960, with simple gesture detection.
Radiation
Soil Moisture
-
micropython-chirp
- Driver for the Chirp Soil Moisture Sensor.
-
MicroPython-MiFlora
- Xiaomi Mi Flora (aka flower care) BLE plant sensors (soil moisture/conductivity/light intensity/temperature).
-
micropython-miflora
- MicroPython library for Xiaomi Mi Flora BLE plant sensors.
Spectral
Temperature Analog
-
micropython-max31855
- Thermocouple amplifier, SPI interface.
-
max31856
- Precision thermocouple to digital converter with linearization, SPI interface.
-
max31865
- Precision resistance-to-digital converter optimized for platinum resistance temperature detectors, SPI interface.
-
mcp9700 - Generic MicroPython driver for MCP9700.
-
micropython-generic-thermistor
- MicroPython Generic Thermistor Library for simplified temperature sensing using NTC thermistors with voltage dividors.
Temperature Digital
-
bme680-mqtt-micropython
- Driver for BME680 gas, pressure, temperature and humidity sensor.
-
LM75-MicroPython
- Driver for LM75 digital temperature sensor, I2C interface.
-
micropython-am2320
- Aosong AM2320 temperature and humidity sensor, I2C interface.
-
micropython-dht12
- Aosong DHT12 temperature and humidity sensor, I2C interface.
-
micropython-hdc1008
- Driver for the Texas Instruments HDC1008 humidity and temperature sensor.
-
micropython-mcp9808
- Driver for the Microchip MCP9808 temperature sensor.
-
micropython-mpl115a2
- Pyboard driver for the MPL115A2 barometric pressure sensor.
-
micropython-sht30
- Driver for SHT30 temperature and humidity sensor.
-
micropython-sht31
- Driver for the SHT31 temperature and humidity sensor.
-
micropython-Si7005
- Driver for Si7005 relative humidity and temperature sensor.
-
micropython-si7021
- SI7021 Temperature and humidity sensor, I2C interface.
-
micropython-si7021
- SI7021 Temperature and humidity sensor, I2C interface.
-
micropython-Si705x
- Silicon Labs Si705x series of temperature sensors, I2C interface.
-
micropython-Si70xx
- Silicon Labs Si70xx series of relative humidity and temperature sensors, I2C interface.
-
micropython-tmp102
- Driver for TMP102 digital temperature sensor.
-
Official DHT11+DHT12
- ESP8266 driver for DHT11 and DHT12 temperature and humidity sensor.
-
sht25-micropython
- Driver for SHT25 temperature and humidity sensor.
-
micropython-tmp1075
- Driver for the TI TMP1075 temperature sensor.
-
micropython-sht11
- Driver for Sensirion SHT11 temperature and humidity sensor.
-
micropython-lm75a
- Driver for the NXP LM75A digital temperature sensor.
-
BME680-Micropython
- MicroPython driver for the BME680 sensor.
-
htu21d-esp8266
- This is a MicroPython module / class to measure data from the HTU21D.
-
HTU21D
- Asynchronous driver for HTU21D temperature and humidity sensor.
-
esp-sht3x-micropython
- A SHT3x (SHT30/31/35) library for ESP8266/ESP32 with MicroPython.
-
sht25-micropython - MicroPython implementation of API of SHT25 humidity and temperature sensor.
-
micropython-sht30
- SHT30 sensor driver in pure Python based on I2C bus.
-
micropython_ahtx0
- MicroPython driver for the AHT10 and AHT20 temperature and humidity sensors.
-
sht85
- MicroPython driver for the Sensiron SHT85 humidity and temperature sensor.
-
micropython-zacwire
- MicroPython driver for the ZACwire protocol used in TSic 506F temperature sensors.
-
MicroPython_HTU31D
- MicroPython library for TE HTU31D temperature and humidity sensors.
-
MicroPython_SHTC3
- MicroPython Driver for the Sensirion SHTC3 Temperature and Humidity Sensor.
-
MicroPython_TMP117
- MicroPython Driver for the TMP117 Temperature Sensor.
-
MicroPython_SI7021
- MicroPython Library for the Temperature and Humidity SI7021 Sensor.
-
MicroPython_ADT7410
- MicroPython Driver for the Analog Devices ADT7410 Temperature Sensor.
-
MicroPython_WSENTIDS
- MicroPython library for the WSEN WSEN-TIDS temperature Sensor.
-
MicroPython_HS3003
- MicroPython Driver for the Renesas HS3003 Temperature and Humidity Sensor.
-
MicroPython_STTS22H
- MicroPython Driver for the STTS22H Temperature Sensor.
-
MicroPython_HTU21DF
- MicroPython HTU21D-F Temperature & Humidity driver.
-
MicroPython_SHT4X
- MicroPython Driver fot the Sensirion Temperature and Humidity SHT40 and SHT45 Sensor.
-
MicroPython_SHT20
- MicroPython Driver for the Sensirion SHT20 Temperature Sensor.
-
MicroPython_MCP9808
- MicroPython Driver for the Microchip MCP9808 Temperature Sensor.
-
MicroPython_HDC1080
- MicroPython driver for the TI HDC1080 Temperature and Humidity sensor.
-
TMP117
- MicroPython module for the TMP117 temperature sensor from Texas Instruments.
-
BME680
- MicroPython module for the BME680, Bosch low power gas, pressure, temperature & humidity sensor.
-
SHT30
- MicroPython driver for the Sensirion SHT3x sensor.
-
MicroPython_AS6212
- MicroPython Library for the ASM AS6212 Temperature Sensor.
-
MicroPython_PCT2075
- MicroPython Driver for the NXP Semiconductors PCT2075 Temperature Sensor.
-
micropython-hdc1080
- MicroPython driver for the HDC1080 temperature and humidity sensor.
Temperature IR
Touch Capacitive
-
micropython-mpr121
- Driver for MPR121 capacitive touch keypads and breakout boards.
-
micropython-ttp223
- Examples using TTP223 capacitive touch module.
-
micropython-TTP229-BSF
- MicroPython ESP8266/ESP32 driver for TTP229-BSF 16-key capacitive keypad in serial interface mode.
-
uFT6336U
- MicroPython I2C driver for the Focus LCDs FT6336U capacitive touch panel controller IC.
-
MicroPythonTrill
- Trill touch sensor library for MicroPython.
-
L58Touch
- L58 Multi-Touch MicroPython Module.
Touch Resistive
Scheduling
-
micropython-mcron
- MicroCRON is a time-based task scheduling program for MicroPython.
-
micropython-scron
- SimpleCRON is a time-based task scheduling program inspired by the well-known cron program for Unix systems.
-
Schedule
- A scheduler for asyncio based applications. Schedule events at specified times and dates or with reference to Sun and Moon rise and set.
-
micropython-aioschedule
- A persistent uasyncio scheduler that supports deepsleep between task runs.
Storage
Configuration file
-
uPyftsConf
- MicroPython Far Too Simple Config File. Single file library that writes configurations to itself.
Database
-
uPyMySQL
- Pure MicroPython MySQL Client.
-
micropython-redis
- A Redis client implementation designed for use with MicroPython.
-
picoredis
- A very minimal Redis client (not only) for MicroPython.
-
micropg
- PostgreSQL database driver for MicroPython.
-
micropg_lite
- PostgreSQL database driver for MicroPython, based on micropg but aiming to require less memory with some compromises in functionality.
-
nmongo
- MongoDB client for CPython and MicroPython, with MongoDB shell-like APIs.
-
MicroPyDatabase
- A low-memory JSON-based database for MicroPython.
-
micropython-firebase-realtime-database
- Firebase implementation for MicroPython optimized for ESP32.
-
micropython-firebase-firestore
- Firebase Firestore implementation for MicroPython.
-
uSQLite
- SQLite library module for MicroPython.
EEPROM
-
micropython_eeprom
- Cross-platform MicroPython device drivers for memory chips (EEPROM, FRAM, Flash, PSRAM).
-
mb_24x256_512
- Very simple MicroPython module/driver for Microchip 24x256 and 24x512 I2C EEPROM devices.
-
micropython-eeprom
- MicroPython driver for AT24Cxx EEPROM.
Flash
-
micropython_data_to_py
- A Python 3 utility to convert an arbitrary binary file to Python source for freezing as bytecode in Flash.
-
micropython-winbond
- Interact with Winbond W25Q Flash chips via SPI.
-
freezeFS
- Create self-extracting compressed or self-mounting archives for MicroPython.
FRAM
PSRAM
-
mb_PSRAM_64Mb_SPI
- Very simple MicroPython module to use a generic 64Mbit PSRAM (ie Adafruit 4677) with a Raspberry Pi Pico (RP2040).
SRAM
-
mb_23LC1024
- Very simple MicroPython module to use a Microchip 23LC1024 SPI SRAM with a Raspberry Pi Pico (RP2040).
-
mb_47x16
- Very simple MicroPython module/driver for Microchip 47x16 EERAM devices (47L/47C).
Threading
-
MicroWorkers
- A micro workers class that easily manages a pool of threads to optimise simultaneous jobs and jobs endings, for MicroPython (used on Pycom modules & ESP32).
User Interface
-
upymenu
- MicroPython Menu for LCD Displays.
Utilities
Tutorials
Books
Frameworks
-
micrOS
- MicroPython-based IoT Framework.
-
terkin-datalogger
- Flexible data logger application for MicroPython and CPython.
-
perthensis - Perthensis: an asynchronous framework for MicroPython.
-
meerkat
- I2C Data Acquisition for MicroPython and Raspberry Pi.
Resources
Development
Code Generation
Debugging
Firmware
IDEs
Logging
-
micropython-ulogger
- Lightweight log module customized for MicroPython.
-
scd30logger
- Sensirion SCD30 based CO2, Humidity and Temperature Logger for MicroPython.
-
sht15logger
- MicroPython Temperature and Humidity Logger using Sensirion SHT15.
Shells
Jupyter
On Device
-
upy-shell
- A simple command line-based shell for MicroPython.
-
Micropython-Editor
- Small on-board editor for Pyboard, WiPy, ESP8266, ESP32, PyCom and Adafruit devices written in Python.
On Host
-
rshell
- Copy or sync files to boards, enter REPL from your terminal.
-
ampy
- Utility to interact with a MicroPython board over a serial connection.
-
mpbridge
- A file system bridge to synchronize and manage files on a device running MicroPython.
-
mpfshell
- A simple shell-based file explorer for ESP8266 and WiPy.
-
mpsync
- A tool that automatically synchronizes code to a MicroPython board.
-
mpremote
- Powerful official shell that supports mounting the host’s current directory on the target. Run code without changing the target’s filesystem.
-
MPRemoteEditor
- A simple Windows IDE for developing with MicroPython MPRemote devices.
-
uPyExplorer
- Explorer for MicroPython Device.
-
mpr
- Wrapper for MicroPython mpremote tool.
Miscellaneous
Contributing
Contributions and suggestions are always welcome! Please take a look at the contribution guidelines
first.
I will keep some pull requests open if I’m not sure whether those libraries are awesome, you could vote for them by adding 👍 to them.