MicroPython Projects

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

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

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

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

Pycopy Standard Library (pycopy-lib)

A modular standard library for the Pycopy project, providing CPython-compatible modules and optimized 'micro' versions for resource-constrained embedded systems. It supports both the Pycopy Unix port and bare-metal targets like the ESP8266, allowing for a flexible, lightweight Python environment.

micropython
261

Pycopy

A minimalist and lightweight Python 3 implementation optimized for microcontrollers and embedded systems. It provides a highly portable core written in C, supporting a wide range of architectures from STM32 and ESP32 to POSIX-compliant systems.

micropython
819

PyDOS

A DOS-like shell for MicroPython and CircuitPython microcontroller boards including RP2040, ESP32, and STM32. It provides a command-line interface with standard DOS commands, batch file support, and a suite of external utilities like a BASIC interpreter and text editors.

micropython
169
Python For Kids

Python For Kids

A comprehensive educational series for children to learn Python programming using the BBC micro:bit development board. It covers fundamental concepts from basic I/O and data types to advanced topics like classes and unit testing using MicroPython.

micropython
767
Raspberry Pi Pico Web Server Control

Raspberry Pi Pico Web Server Control

A MicroPython-based web server framework for Raspberry Pi Pico, ESP8266, and ESP32 microcontrollers. It provides a browser-based interface to execute Python functions remotely, serve dynamic content, and manage files, with specific optimizations for memory-constrained devices.

micropython
139
μReflow Oven with MicroPython & LVGL

μReflow Oven with MicroPython & LVGL

A PID-controlled reflow oven controller built for the ESP32 using MicroPython and the LVGL graphics library. It features a touch-screen interface for selecting solder profiles, real-time temperature monitoring via thermocouple amplifiers, and remote configuration via FTP.

freertos lvglmicropython
125

SAMA5D27 Resource Sharing

A comprehensive resource repository for the Microchip SAMA5D27 Cortex-A5 MPU, providing extensive documentation and guides for Linux development, bare-metal programming, and various RTOS ports. It features in-depth tutorials for NuttX, RT-Thread, and ThreadX, including driver integration for LVGL, EtherCAT, and TensorFlow Lite.

nuttx lvgllwipsqlitemicropythontensorflow-micro