Courses & TutorialsProgramming

Awesome MicroPython – Massive Collection of Resources

Spread the love

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.



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 MicroPython docs for more information on upip.
  • GitHub Search – Search GitHub for repositories containing MicroPython.
  • GitHub Topic – MicroPython – Browse GitHub Topics for projects tagged with MicroPython.
  • – query for MicroPython.
  • GitLab Explore – Explore repositories on GitLab.


  • MicroMLP – A micro neural network multilayer perceptron for MicroPython (used on ESP32 and Pycom modules).


  • 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.
  • ulinalg – Small size matrix handling module with a few linear algebra operations specifically for MicroPython (Python3).
  • micropython-mtx – Fast Matrix Multiplication and Linear Solver on MicroPython.
  • micropython-vec – Vector Operations on MicroPython.





  • micropython-spacecan – Spacecan is a MicroPython implementation of the SpaceCAN protocol for embedded systems.


  • mpyaes – MicroPython module for AES encryption.
  • micropython-aes – AES algorithm with pure python implementation.


  • 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).


  • Official wiznet5k – Official driver for the WIZnet5x00 series of Ethernet controllers.



  • micropyGPS – Full featured GPS NMEA sentence parser.
  • micropython-gnssl76l – MicroPython I2C driver for Quectel GNSS L76-L (GPS).
  • mpy-agps – MicroPython implementation of assisted location services (AGPS).



  • 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 you home assistant driven home automation projects.


  • micropython-necir – NEC infrared capture for TL1838 IR receiver LEDs.
  • Micropython-IR – Pyboard infrared remote sniff and replay.
  • micropython_ir – Nonblocking device drivers to receive from IR remotes and for IR “blaster” apps.
  • micropython-amg88xx – Driver for Grid-EYE thermal infra red array sensor (Adafruit 3538).
  • micropython-ys-irtm – MicroPython examples for YS-IRTM 5V NEC Infrared UART transceivers.
  • esp8266_ir – Control IR signal by websocket.


  • uPyLoRaWAN – ESP32 using MicroPython meets LoRa and LoRaWAN.
  • DeLoReAN – DeLoReAN is a (De)dicated (Lo)RaWAN node (Re)cording (A)ny (N)FC tags.


  • micropython-mqtt – A ‘resilient’ asynchronous MQTT driver. Plus a means of using an ESP8266 to bring MQTT to non-networked targets.
  • MQBoard – A micro-framework for using MQTT with asyncio on MicroPython boards, primarily on the ESP32.
  • micropython-mqtt – MQTT libraries and tools for MicroPython.
  • pysmartnode – MicroPython Smarthome 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 a 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.





  • 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.




  • mpy-miniterm – Tool for seamless serial debug and file synchronisation with MicroPython devices via the serial REPL.
  • micropython-modbus – MicroPython port of modbus-tk.


  • uMail – A lightweight, scalable SMTP client for sending email in MicroPython.


  • MicroTelnetServer – Simple telnet server for MicroPython and the ESP8266 allowing telnet clients access to the REPL.



  • 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 WebSockets, 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 websockets implementation for ESP8266.
  • microdot – The impossibly small web framework for MicroPython.
  • micropython-utelegram – Telegram API wrapper for MicroPython.


  • ZbPy – MicroPython IEEE802.15.4 / Zigbee parser.




  • 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 – Nano-Gui provides a limited set of GUI objects (widgets) for displays whose display driver is subclassed from the framebuf class. Which includes LCD and OLED displays.

LCD Character

LCD Graphic


LED Matrix

LED Segment



  • Grove_OLED – Driver for SSD1327 used by SeeedStudio’s Grove OLED Display 1.12″ v1.0.
  • micropython-oled – Collection of drivers for monochrome OLED displays, PCD8544, SH1106, SSD1306, UC1701X.
  • micropython-ssd1327 – Driver for SSD1327 128×128 4-bit greyscale OLED displays.
  • micropython-ssd1351 – Driver for SSD1351 OLED displays.
  • MicroPython_SSD1306 – ESP8266 driver for SSD1306 OLED 128×64 displays.
  • Official SSD1306 – Driver for SSD1306 128×64 OLED displays.
  • SH1106 – Driver for the SH1106 OLED display.



  • 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-hx711 – MicroPython driver for HX711 24-Bit Analog-to-Digital Converter.



  • 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.




  • upwmcontroller – A MicroPython library for controlling PWM outputs in an asyncio loop, with features including fading and blinking.

Rotary Encoder

  • micropython-rotary – MicroPython module to read a rotary encoder.
  • uencoder – A MicroPython library for reading from a rotary encoder.

Waveform Generator


DC Motor

  • L298N – Driver for the L298N dual h-bridge motor controller.




Accelerometer Digital

Air Quality


  • 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.
  • wipy_bme280 – Driver for the Bosch BME280 temperature/pressure/humidity sensor.
  • BME280 – MicroPython driver for the BME280 sensor, target platform Pycom devices.
  • micropython-bmp280 – Module for the BMP280 sensor.




Distance IR

Distance Laser

Distance Ultrasonic



  • 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.


Motion Inertial

Soil Moisture

Temperature Analog

  • micropython-max31855 – Thermocouple amplifier, SPI interface.
  • max31856 – Precision thermocouple to digital converter with linearization, SPI interface.

Temperature Digital

Temperature IR

Touch Capacitive

Touch Resistive


  • micropython-mcron – MicroCRON is a time-based task scheduling program for MicroPython.



  • uPyMySQL – Pure uPython 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.
  • nmongo – MongoDB client for CPython and MicroPython, with mongo shell like APIs.


  • micropython_eeprom – MicroPython device drivers for nonvolatile memory chips (EEPROM, FRAM, Flash).





  • micrOS – MicroPython based IoT Framework.
  • terkin-datalogger – Flexible data logger application for MicroPython and CPython.



Code Generation

  • micropy-cli – Micropy Cli is a project management/generation tool for writing MicroPython code in modern IDEs such as VSCode.
  • micropython-stubber – Generate and use stubs for different MicroPython firmwares to use with vscode and/or pylint.
  • micropy-stubs – Automatically Generated Stub Packages for Micropy-Cli and whomever else.




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 – Adafruit MicroPython Tool – Utility to interact with a MicroPython board over a serial connection.
  • mpfshell – A simple shell based file explorer for ESP8266 and WiPy.


Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button