MicroPython Projects

126 projects using MicroPython

MicroPython is a lean and efficient implementation of the Python 3 programming language specifically optimized to run on microcontrollers and constrained embedded environments. It provides a complete Python compiler and runtime, a cross-compiler for bytecode, and a robust set of hardware-abstraction modules, allowing developers to write high-level code for hardware with as little as 16kiB of RAM.

esp-lvgl

esp-lvgl

A comprehensive collection of LVGL (Light and Versatile Graphics Library) examples and tutorials for ESP32 and ESP8266 platforms. It supports multiple development frameworks including Arduino, ESP-IDF, and MicroPython, providing drivers and UI templates for various display types.

freertos lvgltft-espimicropython
11

micro-repl

A lightweight, SerialPort-based MicroPython REPL for microcontrollers that runs directly in the browser. It provides a fully interactive terminal with support for file uploads, code evaluation, and paste mode for boards like the Raspberry Pi Pico and Arduino Nano ESP32.

micropython
17
MicroPython SSD1306 Image Display

MicroPython SSD1306 Image Display

A comprehensive system for driving SSD-1306 OLED displays and converting standard bitmap images into MicroPython-compatible buffers. It features an I2C driver for 128x64 monochrome displays and a Python-based conversion utility for JPG and PNG files.

micropython
45
DIY Arcade Machine

DIY Arcade Machine

A MicroPython-based arcade system for RP2040 microcontrollers and 64x64 HUB75 LED matrices. It supports physical hardware via the Pimoroni Interstate 75 and a desktop emulator using PyGame. The project includes over 16 classic-inspired games with persistent high scores and memory-optimized graphics handling.

micropython
18

M5Stack Cardputer Virtual REPL

A virtual REPL environment for the M5Stack Cardputer that enables interactive Python coding directly on the device's keyboard and screen. It provides command line history, editing functions, and automatic execution of scripts on boot. The project is designed for CircuitPython and includes support for I2S audio playback and SD card integration.

micropython
20
mBot2 and CyberPi Programming Examples

mBot2 and CyberPi Programming Examples

A comprehensive collection of programming examples and projects for the mBot2 robot and CyberPi control board. It provides support for both MicroPython and Arduino (PlatformIO) development, covering hardware features such as motion sensing, AI, networking, and motor control.

micropythonplatformio-platformio-core
19

RP2040 Pico W ESP8285 WiFi Library

A MicroPython library designed for Raspberry Pi Pico boards equipped with an ESP8285 WiFi chip instead of the standard Infineon module. It provides an Arduino-inspired API for managing WiFi connections, TCP/SSL client sockets, and data transmission via an AT-command interface.

micropython
15

NeoDucky

NeoDucky is a compact and efficient BadUSB/RubberDucky device powered by CircuitPython and the Adafruit NeoKey Trinkey. It supports automated OS detection, stealth mode operation, and a flexible payload syntax for HID injection attacks.

micropython
29

RISC-V Security Analysis and Attacks

A comprehensive security research project exploring side-channel attacks, speculative execution vulnerabilities, and control flow integrity on RISC-V architectures. It provides practical Proof-of-Concepts (PoCs) for exploits like Spectre and ROP on hardware platforms including SiFive U74-MC and Milk-V Duo S.

micropython
15

RP2040 Projects by Armstrong Subero

A comprehensive collection of MicroPython projects for the Raspberry Pi Pico (RP2040) covering basic hardware interaction, advanced data structures, and system-level programming. It includes implementations of control systems, design patterns, and task scheduling primitives for embedded development.

micropython
15
16 IR Array PID Line Follower Robot using ESP32

16 IR Array PID Line Follower Robot using ESP32

An advanced autonomous line follower robot utilizing a 16-channel IR sensor array and PID control. Powered by an ESP32 running MicroPython, the system features an OLED-based configuration menu for real-time tuning of control parameters and persistent storage of PID constants.

micropython
14

DRV8833 MicroPython Driver

A pure MicroPython driver for the DRV8833 dual H-bridge motor controller. It provides PWM-based throttle control for two DC motors, supporting both fast and slow decay modes. The library is designed for microcontrollers like the Raspberry Pi Pico and is compatible with various DRV8833 breakout boards.

micropython

MicroPython and LVGL Firmware for ESP32

A specialized MicroPython firmware distribution for ESP32 and ESP32-S3 microcontrollers with integrated LVGL graphics library support. Built on ESP-IDF v5.5.1 and MicroPython v1.27.0, it provides a high-level environment for developing embedded GUI applications.

freertos micropythonlvgl
14

Nicla Vision ROS2 Package

A ROS2 interface for the Arduino Nicla Vision board that enables sensor data streaming over TCP, UDP, or Serial connections. It provides standardized ROS2 topics for the board's 2MP camera, IMU, Time-of-Flight sensor, and microphone, supporting both physical hardware and Gazebo simulation.

mbed-os micropython
Old Train Station Clock Revival

Old Train Station Clock Revival

A MicroPython-based project for the ESP32-C3 that modernizes vintage train station clocks using standard A4988 or DRV8825 stepper motor drivers. It features automatic time synchronization via WiFi, persistent hand position tracking, and an interactive serial console for configuration and manual control.

micropython

SparkFun MicroPython-OpenCV

A MicroPython port of the OpenCV computer vision library, specifically optimized for embedded devices like the Raspberry Pi RP2350. It provides a subset of OpenCV functions for image processing, filtering, and object detection within a Python environment on microcontrollers. The project integrates with the ulab library for NumPy-like array operations and requires hardware with PSRAM for effective use.

micropython
23

SparkFun Python Examples

A comprehensive collection of Python examples and documentation for SparkFun Qwiic devices and development boards. It provides setup guides and code samples for both Linux-based single-board computers like the Raspberry Pi and various microcontroller platforms using MicroPython.

micropython
17

Stick Firmware

A MicroPython-based firmware for M5Stack devices including the M5StickC Plus 2 and Cardputer. It provides a suite of features such as an app launcher, file explorer, IMU-based screen rotation, and RTC synchronization.

micropython

SemiTO-V MicroPython Compatibility Layer (MCL)

A Python library that allows developers to include and control MicroPython code targeting microcontrollers directly from a CPython environment. It provides a seamless interface for managing MCU peripherals and variables over serial connections, specifically optimized for RISC-V hardware like the RP2350.

micropython
20

PicoShell

A lightweight, UNIX-style command-line interface for the Raspberry Pi Pico W 2 (RP2350) built with MicroPython. It provides features for filesystem management, Wi-Fi networking, Telnet access, and system monitoring on embedded hardware.

micropython
15

uht — micro HTTP Toolkit

A minimal HTTP/1.0 server designed for resource-constrained devices like the ESP32 and Raspberry Pi Pico. It provides an asynchronous routing system compatible with MicroPython and CircuitPython for building lightweight web applications on embedded hardware.

micropython
13

ESP32 GPS Gateway with RTK/NTRIP Support

A MicroPython-based gateway for ESP32 devices that interfaces with serial GPS modules to provide RTK and NTRIP services. It supports Bluetooth LE, ESPNow proxying, and multiple NTRIP modes including Client, Server, and Caster for high-precision positioning.

freertos micropython
14

Pico Claw Machine

A DIY claw machine project built using a Raspberry Pi Pico W and MicroPython. It features three-axis movement control using DC motor controllers and interfaces with a standard replacement claw mechanism and arcade-style controls.

micropython
19

Weather LED Map with MicroPython on ESP32C3

An IoT weather visualization project developed for the HackConRD 2025 badge using an ESP32C3 microcontroller and MicroPython. The system fetches real-time meteorological data from the OpenWeatherMap API to drive a 31-LED matrix representing the provinces of the Dominican Republic, mapping temperature and rain conditions to specific LED colors.

micropython
18

ESP-DL MicroPython Binding

A MicroPython binding for the ESP-DL deep learning library, enabling computer vision tasks on ESP32 devices. It supports face detection, recognition, human and cat detection, and image classification using ESP-IDF 5.4.2 and MicroPython 1.26.0 or later.

freertos micropython

ncnn_mp: Neural Network Inference for MicroPython

An external C module that integrates Tencent's ncnn high-performance neural network inference framework into MicroPython. It enables object-oriented AI model execution on resource-constrained microcontrollers such as ESP32 and STM32, providing a Pythonic interface for embedded AI.

freertos micropython
13
InkLink

InkLink

A real-time collaborative drawing system that synchronizes a web-based canvas to a 7.5-inch tri-color e-paper display. The project uses an ESP32 microcontroller running CircuitPython to fetch and render drawings from a central server via WebSockets and BMP processing.

micropython
34

MaixFace

MaixFace is an AI-powered face recognition and access control system designed for the Maixduino (K210) platform. It supports persistent face feature storage on SD cards, remote enrollment via network interfaces, and HTTP-based event triggering for IoT automation. The project is built using MaixPy and is compatible with ESP32 or PC-based servers for remote management.

micropythonsipeed-maixpy
20
ESPuno Pi Zero

ESPuno Pi Zero

An ESP32-C6 based development board in the Raspberry Pi Zero form factor, designed for high-voltage industrial and IoT applications. It features integrated support for Wi-Fi 6, Bluetooth, Zigbee, and Thread, alongside RS-485/DMX interfaces and a wide 5-60V DC power input range.

freertos micropythonopen-threadplatformio-platformio-core

MicroPython SmartHome Node (pysmartnode)

A modular framework for deploying smart home nodes using MicroPython and MQTT. It provides standardized base classes for sensors and switches, supports Home Assistant MQTT discovery, and targets ESP32, ESP8266, and Unix platforms using asynchronous I/O.

micropython
119

MicroPython ST7789 LCD Driver

A high-performance MicroPython driver for ST7789 and compatible LCD displays, featuring support for hardware scrolling, custom fonts, and bitmap drawing. It is optimized for ESP32 and RP2040 microcontrollers and supports a wide range of display resolutions and color configurations.

micropython
225

Mocket

Mocket is a socket mocking framework for Python that monkey-patches the socket and ssl modules to intercept network traffic. It provides built-in support for HTTP, HTTPS, and Redis, and is compatible with asyncio, gevent, and MicroPython's urequests. It is primarily used as a testing utility to simulate network responses and record real socket traffic for playback.

micropython
308
NeoPixel Library for Raspberry Pi Pico

NeoPixel Library for Raspberry Pi Pico

A MicroPython library for controlling WS2812B and SK6812 LEDs on the Raspberry Pi Pico. It leverages the RP2040's Programmable I/O (PIO) and DMA capabilities to provide efficient, non-blocking LED control for both RGB and RGBW strips.

micropython
300

ooFatFs - Object Oriented FatFs

An object-oriented modification of ChaN's FatFs Generic FAT File System Module. It enables the creation of multiple independent FAT filesystems by ensuring all functions take a pointer to the filesystem state as their first argument, facilitating integration with diverse drivers and filesystem types.

micropython
23

Picotui

Picotui is a minimalist Text User Interface (TUI) widget library for Python 3 and Pycopy. It provides a comprehensive set of widgets including dropdowns, menus, and dialogs without relying on the curses library. Designed with a 'Keep It Simple, Stupid' (KISS) philosophy, it is particularly well-suited for resource-constrained environments and minimalist Python implementations.

micropython
812

picoweb

A minimalist, asynchronous web micro-framework designed for the Pycopy Python implementation. It features a small memory footprint of approximately 36K heap and provides a Flask-like API for developing web applications on resource-constrained embedded systems and bare-metal platforms.

micropythonsqlite
519