Skip to content

A curated list of awesome MicroPython libraries, frameworks, software and resources.

License

Notifications You must be signed in to change notification settings

askpatrickw/awesome-micropython

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome MicroPython Awesome


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.

Inspired by the Awesome lists.

Contents

Libraries

Other places you can look for MicroPython Libraires:

AI

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

Analytics

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

Audio

Communications

Bluetooth

DNS

  • ICantBelieveItsNotDNS - "I Can't Believe It's Not DNS!" (ICBIND) is an authoritative DNS server for the ESP8266 written in MicroPython.

Ethernet

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

FTP

GPS

GSM

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.

IR

LoRaWAN

  • uPyLoRaWAN - ESP32 using MicroPython meets LoRa and LoRaWAN.

MQTT

  • micropython-mqtt - A 'resilient' asynchronous MQTT driver. Plus a means of using an ESP8266 to bring MQTT to non-networked targets.
  • sonoff-mqtt - MicroPython scripts to control Sonoff/ESP8266 using MQTT.
  • pysmartnode - MicroPython Smarthome framework.
  • micropython-thingspeak-mqtt-esp8266 - Publish and Subscribe to Thingspeak using MQTT with Micropython running on ESP8266/ESP32 platforms.
  • umqtt_aws_iot - Publish UMQTT messages with MicroPython to AWS IoT.
  • micropython-sonoff-switch - Implements a MQTT controllable switch for the iTead Sonoff Switch using MicroPython.
  • uMQTT - MQTT publish for MicroPython on the WiPy board.

NTP

OneWire

Radio

RFID

RTC

Serial

  • mpy-miniterm - Tool for seamless serial debug and file synchronisation with MicroPython devices via the serial REPL.

SMTP

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

Telnet

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

WiFi

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

Zigbee

  • ZbPy - MicroPython IEEE802.15.4 / Zigbee parser.

Display

E-Paper

LCD Character

LCD Graphic

LCD TFT

LED Matrix

LED Segment

LEDs

OLED

IO

ADC

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

DAC

GPIO

  • micropython-inputs - Classes to count pulses, debounce digital inputs, and calculate moving averages of analog inputs for a MicroPython board.

IO-Expander

Joystick

Rotary Encoder

Waveform Generator

Motion

DC Motor

  • L298N - Driver for the L298N dual h-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.
  • 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.

Camera

Compass

Current

Distance IR

Distance Ultrasonic

Energy

Gaseous

  • micropython-MQ - Drivers for MQ series gas sensors.
  • MQ135 - Driver for MQ135 gas sensor.
  • CCS811 - Basic MicroPython driver for CCS811 on ESP8266 boards.

Light

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

Storage

EEPROM

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

FRAM

Community

Books

Resources

Developer Workflow

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.

License

CC0

To the extent possible under law, the authors have waived all copyright and related or neighbouring rights to this work.

About

A curated list of awesome MicroPython libraries, frameworks, software and resources.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 100.0%