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
-
IO
- encoderLib - MicroPython library to handle a rotary encoder.
- rotary-encoder - MicroPython code to drive a KY-040 rotary encoder.
- micropython-encoder-knob - A very simple lightweight encoder knob library with button support.
- micropython-8encoder - Driver for the I2C [M5Stack 8-Encoder Unit](https://shop.m5stack.com/products/8-encoder-unit-stm32f030).
- micropython-quiic-twist - MicroPython Driver for Quiic Twist RGB Rotary Encoder.
- AS5600 - AS5600 MicroPython library for reading this magnetic sensor.
- 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.
- Micropython-AD9833 - Pyboard driver for AD9833, SPI interface.
- Clock_Generators - Clock generators (Si5351 for now) toolbox.
- Signal_Generators - Signal generators (AD9833, AD9834, AD9850, ADF4351) toolbox.
- pico-wave-vibration-generator - A MicroPython-based frequency generator for Raspberry Pi Pico designed to create vibrations on solenoids or speakers, enabling wave experimentation and exploration at home.
- micropython-m5stack-dds - MicroPython driver for the M5Stack DDS frequency generator.
- AD9833-MicroPython-Module - MicroPython module to use the AD9833 programmable waveform generator.
- ads1115 - MicroPython module for managing ADS1115, multichannel, differential I2C ADC from TI.
- mcp3421 - MicroPython module for controlling MCP342X, 18-bit analog-to-digital converter with I2C interface.
- micropython-MCP3001 - MicroPython driver for the MCP3001 1-channel 10-bit ADC with SPI interface.
- mpyDAC - MicroPython module for controlling MCP4725, 12-bit digital analog converter (CAP) with EEPROM memory.
- mcp23017 - MicroPython module for MCP23017, 16-Bit I/O Expander with Serial Interface.
- micropython-sx1509 - MicroPython SX1509 I/O Expander Library.
- MicroPython-SimpleKeypad - MicroPython library for interfacing with a keypad matrix.
- AS5600 - MicroPython module for controlling single-turn magnetic encoder AS5600.
- micropython-joystick-2-unit - Driver for the [M5Stack Joystick 2 Unit](https://docs.m5stack.com/en/unit/Unit-JoyStick2).
- Micropython_Joystick - A simple and fast library for joysticks over ADC.
- ADS1256 - Driver for the ADS1256 24-bit low noise ADC, both as a generic MicroPython version and using the RP2040/RP2350 PIO.
- micropython-mcp230xx - Driver for MCP23017 and MCP23008 GPIO expanders, extended with interrupt handling.
- micropython-ad840x - MicroPython SPI-based manipulation of the AD series digital potentiometers AD8400, AD8402 and AD8403.
- ADS1256 - Driver for the ADS1256 24-bit low noise ADC, both as a generic MicroPython version and using the RP2040/RP2350 PIO.
-
Mathematics
- Sun and Moon - Determine Sun and Moon rise and set times, Moon phases.
- 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.
- micropython-npyfile - Numpy .npy file support for MicroPython, supports read/write/streaming.
- Micropython Perlin - A Perlin noise generator module.
- micropython-npyfile - Numpy .npy file support for MicroPython, supports read/write/streaming.
-
Motion
- MicroPython-L298 - Drive L298 dual H-bridge with MicroPython.
- pyl298 - Driver for the L298 dual full-bridge motor controller.
- micropython-pca9685 - 16-channel 12-bit PWM/servo driver.
- micropython-servo - Library to control RC servos using direct PWM output in a tidy way.
- MicroPython_PCA9685 - MicroPython Driver for the PCA9685 PWM control IC, commonly used to control servos, LEDs and motors.
- MicroPython_MOTOR - MicroPython Helper for controlling PWM based motors.
- micropython-stepper - Library to control common stepper drivers in a tidy way.
- micropython-upybbot - A4988 driver for bipolar stepper motors.
- uln2003 - Driver for 5V 28BYJ-48 stepper motors.
- micropython-multiaxis - Multiaxis with MicroPython ESP32 and DRV8825.
- ticlib - Driver for Pololu Tic stepper motor controllers.
- AccelStepper-MicroPython - AccelStepper Library for MicroPython - ESP32.
- pystepper - MicroPython Stepper Motor Sequence Control.
- uPySteppers - DIY rotating platform using an ESP32 connected to WiFi.
- microPython_AMIS-30543 - MicroPython library for Stepper Driver control using AMIS-30543 driver.
- micropython-drv8825 - Driver and example in MicroPython to control a stepper motor via a DRV8825 controller board.
- microPython_TMC5160 - A MicroPython library for the Trinamic TMC5160 Motion Controller.
- micropython-stepper-motor - Drive a 28BYJ-48 motor attached to a ULN2003 driver.
- pca9685 - MicroPython module for managing a 16-channel SHIM controller, PCA9685
- MicroPython Motor Kit - General motor control libraries.
- L298N - Driver for the L298N dual H-bridge motor controller.
- micropython-rp2-smartStepper - RP2040/RP2350 library using PIO and DMA to control a stepper motor.
-
Scheduling
- 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-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.
- micropython-aioschedule - A persistent uasyncio scheduler that supports deepsleep between task runs.
- Suntime - Approximated calculation of sunrise and sunset time. Given a `date` and the coordinate pair `(latitude, longitude)` of a place on Earth, this library computes when sun rises above the horizon and when it sets down on that day in that place.
-
Sensors
- MicroPython-LIS3DH - I2C driver for LIS3DH 3-axis accelerometer.
- MMA7660 - Driver for MMA7660 1.5g 3-axis accelerometer.
- bh1750 - BH1750 I2C digital light sensor driver.
- Official DHT11+DHT12 - ESP8266 driver for DHT11 and DHT12 temperature and humidity sensor.
- HTU21D - Asynchronous driver for HTU21D temperature and humidity sensor.
- micropython-grove-ultrasonic-ranger - Driver for SeeedStudio's Grove Ultrasonic Ranger.
- hx710 - MicroPython driver for the HX710.
- max30102 - MicroPython driver for the MAX30102, with heartbeat detection and BPM measurement.
- 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.
- vl53l1x - MicroPython driver for the VL53L1X ToF sensor.
- ld2410 - 24GHz human presence sensing module, capable of detecting moving and stationary targets, and providing an approximate range.
- apds9960 - MicroPython Driver for the APDS9960, with simple gesture detection.
- max31865 - Precision resistance-to-digital converter optimized for platinum resistance temperature detectors, SPI interface.
- bma423-pure-mp - MicroPython Driver for the Bosch 423 accelerometer. Includes FIFO support. ⏩
- mp-bmp3xx-full - MicroPython driver for the Bosch BMP3xx range of barometric pressure sensors. Includes FIFO support. ⏩
- ADXL345-with-Pyboard - Driver for ADXL345 16g 3-axis accelerometer.
- adxl345_micropython - Driver for ADXL345 16g 3-axis accelerometer.
- micropython-lis2hh12 - I2C driver for LIS2HH12 3-axis accelerometer.
- ADXL345_spi_micropython - Library for interacting through the SPI protocol with an 'Analog Devices ADXL345' accelerometer from an MCU flashed with MicroPython.
- MicroPython_ADXL343 - MicroPython Driver for the Analog Devices ADXL343 Accelerometer.
- MicroPython_BMA220 - MicroPython Driver for the Bosch BMA220 Accelerometer.
- MicroPython_BMA400 - MicroPython Driver for the Bosch BMA400 Accelerometer.
- MicroPython_LIS3DH - MicroPython Driver for the LIS3DH 3-axis accelerometer.
- MicroPython_KX132 - MicroPython Driver for the Kionix KX132 Accelerometer.
- MicroPython_H3LIS200DL - MicroPython Driver for the ST H3LIS200DL Accelerometer.
- MicroPython_QMC5883L - MicroPython Driver for the QMC5883L Accelerometer.
- Micropython_MC3479 - MicroPython Driver for the MC3479 Accelerometer.
- MicroPython_MMA8451 - MicroPython module for the MMA8451 3-axis accelerometer.
- MicroPython_MMA8452Q - MicroPython Driver for the NXP MMA8452Q Accelerometer.
- msa301-micropython-driver - Homebrew MicroPython driver for MSA301 3-axis accelerometer. Tested on Raspberry Pico.
- CCS811 - CCS811 Air Quality Sensor.
- upython-aq-monitor - Air Quality monitor using PMS5003 sensor and WiPy.
- micropython-pms7003 - MicroPython driver for the PMS7003 Air Quality Sensor.
- pms5003_micropython - Driver for PMS5003 air quality sensor for MicroPython.
- micropython-pms5003-minimal - Driver for P air quality sensor for MicroPython.
- polly - SDS011 pollution sensor + Wemos D1 mini pro + MicroPython.
- micropython-SNGCJA5 - MicroPython driver for Panasonic SN-GCJA5 particulate matter (PM) sensor.
- 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. (Archived)
- MicroPython_DPS310 - MicroPython Driver for the DPS310 Sensor. (Archived)
- MicroPython_ICP10111 - MicroPython Driver for the TDK ICP-10111 Barometric Pressure and Temperature sensor. (Archived)
- Micropython-LC709203F - A simple MicroPython library for LC709293F Fuel Gauge.
- 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.
- 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.
- micropython-tcs34725 - Driver class for TCS34725 and TCS34727 color sensors.
- micropython-as7341 - MicroPython library for AS7341.
- MicroPython_ISL29125 - MicroPython Driver for the Intersil ISL29125 Color Sensor.
- TCS3200-MicroPython - A MicroPython driver and test programs for the TCS3200 color sensor.
- MicroPython_TCS3430 - MicroPython driver for the AMS TCS3430 Color and ALS sensor.
- micropython-gy33 - UART and I2C drivers for GY-33 module (TCS3472 color sensor).
- micropython-esp8266-hmc5883l - 3-axis digital compass on the ESP8266.
- QMC5883 - Python class for the QMC5883 Three-Axis Digital Compass IC.
- microPython_AS5600L - MicroPython driver for AS5600L magnet rotary position sensor.
- micropythonINA219 - Driver for INA219 current sensor.
- pyb_ina219 - Driver for INA219 current sensor.
- INA219 - INA219 MicroPython driver.
- TI_INA226_micropython - MicroPython driver for Texas Instruments INA226 power measuring IC.
- micropython-current-monitor - Current monitor using the INA219 and an SSD1306 OLED.
- micropython-gp2y0e03 - IR-LED distance measuring sensor using Sharp GP2Y0E03.
- micropython-vl6180 - Time-of-Flight sensor, ambient light sensor & IR emitter.
- micropython-vl53l0x - Time-of-Flight laser-ranging sensor.
- Qwiic_TOF_Module_RFD77402 - Qwiic TOF Module (RFD77402) time-of-flight rangefinding module.
- VL53L0X - MicroPython Library for LiDAR Sensor VL53L0X.
- vl53l1x_pico - MicroPython driver for the VL53L1X ToF sensor.
- tf-luna-micropython - A simple MicroPython I2C library for TF-Luna LiDAR Module.
- vl53l5cx - MicroPython and CircuitPython Package for the [VL53L5CX](https://www.st.com/en/imaging-and-photonics-solutions/vl53l5cx.html) (4x4/8x8 ToF sensor array).
- VL6180X - MicroPython driver for the VL6180X sensor on the ESP32.
- LidarLight_v3HP_micropython - A MicroPython library for the Garmin Lidar Lite v3HP.
- micropython-hcsr04 - Driver for HC-SR04 ultrasonic distance sensors.
- micropython-us100 - MicroPython driver for the US-100 sonar distance sensor.
- micropython-i2c-ultrasonic - MicroPython driver for the RCWL-9620-based M5 I2C Ultrasonic Distance Unit.
- pyGP2Y - MicroPython library for the Sharp GP2Y1014AU0F Dust Sensor.
- 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.
- 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.
- MicroPython_HTS221 - MicroPython Driver for the HTS221 Humidity Sensor.
- MicroPython-SI1145 - SI1145 UV index, IR, visible light and proximity sensor.
- micropython-tsl2561 - Driver for the TSL2561 illumination sensor from TAOS / ams.
- mpy_bh1750fvi_esp8266 - ESP8266 driver for BH1750FVI sensor.
- micropython-max44009 - MicroPython driver for the MAX44009 ambient light sensor.
- veml7700 - Library for MicroPython for VEML7700 light sensor.
- MicroPython_MAX44009_driver - MicroPython driver for MAX44009 light sensor.
- MicroPython-VEML6075 - Driver base for the VEML6075 UV light sensor.
- BH1750 - MicroPython module for the BH1750 ambient light sensor (ALS).
- veml7700 - MicroPython module for the VEML7700 ambient light sensor (ALS) from Vishay.
- micropython-hx711 - MicroPython driver for HX711 24-Bit Analog-to-Digital Converter.
- hx711_mpy-driver - MicroPython Driver for the HX711 weighing sensor.
- hx711 - MicroPython driver for the HX711 load cell interface.
- hx710 - MicroPython driver for the HX710 load cell interface.
- MicroPython_LIS2MDL - MicroPython Driver for the ST LIS2MDL Magnetometer sensor.
- MicroPython_LIS3MDL - MicroPython Driver for the ST LIS3MDL magnetometer.
- MicroPython_MLX90393 - MicroPython Driver for the MLX90393 Magnetometer.
- MicroPython_MMC5603 - MicroPython driver for the Memsic MMC5603 Magnetometer.
- MicroPython_BMM150 - MicroPython Driver for the Bosch BMM150 Magnetometer.
- MicroPython_MMC5983 - MicroPython Library for the Memsic MMC5983 Magnetometer.
- micropython-bmx055 - Driver for Bosch BMX055 IMU sensor.
- micropython-bno055 - Bosch Sensortec BNO055 9DOF IMU sensor, I2C interface.
- micropython-lsm9ds0 - LSM9DS0 g-force linear acceleration, Gauss magnetic and DPS angular rate sensors.
- micropython-mpu9250 - I2C driver for MPU9250 9-axis motion tracking device.
- micropython-mpu9x50 - Driver for the InvenSense MPU9250 inertial measurement unit.
-
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