MicroPython Projects

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

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

Senko - OTA Updater for MicroPython

A lightweight Over The Air (OTA) update solution for MicroPython projects targeting ESP8266 and ESP32 microcontrollers. It synchronizes local files with remote GitHub repositories by comparing SHA1 hashes to ensure devices are running the latest code.

micropython
100

smolOS

A lightweight, POSIX-like operating system environment written in MicroPython for microcontrollers. It provides a command-line interface for file management, system monitoring, and running user scripts on hardware like the Seeed Studio XIAO RP2040 and ESP8266.

micropython
188

ST7789 Driver for MicroPython

A high-performance C-based driver for ST7789 display controllers in MicroPython. It supports ESP8266, ESP32, and STM32 platforms, providing fast drawing routines and support for various display resolutions including 240x240 and 135x240.

micropython
222

The MicroPython Board (pyboard)

The official hardware design repository for the MicroPython board (pyboard), a development platform based on the STM32F405RGT6 microcontroller. It provides the schematics, PCB layouts, and pinout diagrams for the reference hardware specifically optimized to run the MicroPython programming language.

micropython
529

TinyWeb

A lightweight, asynchronous HTTP server specifically designed for MicroPython environments on microcontrollers like the ESP8266 and ESP32. It leverages the uasyncio library to provide a non-blocking, single-threaded server with an API inspired by Flask, making it ideal for building modern web interfaces and RESTful services on IoT devices with limited RAM.

micropython
277
Trezor Firmware

Trezor Firmware

The official firmware for Trezor hardware wallets, supporting both the Trezor Model T and Trezor One. It features a modular architecture including a MicroPython-based core for modern devices and a legacy C implementation, backed by custom cryptographic and storage libraries.

nanopbmicropython
1,650
Tulip Creative Computer

Tulip Creative Computer

A portable, self-contained computer powered by the ESP32-S3 and MicroPython, designed for music synthesis, graphics, and coding. It features a dedicated 120-voice synthesizer engine, multi-layer GPU support, and integrated LVGL for user interface elements. The system boots directly into a Python prompt, providing a distraction-free environment for creative programming.

freertos lvglmicropython
542

uble: Lightweight Bluetooth Low Energy Driver for MicroPython

A pure Python Bluetooth Low Energy (BLE) driver designed for MicroPython environments. It enables parsing and building of HCI packets, specifically supporting the STMicroelectronics SPBTLE-RF module and BlueNRG-MS stack on platforms like the PyBoard.

micropython
88