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.

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

uPyCam

A MicroPython-based video streaming application designed for ESP32-CAM and M5Camera modules. It provides a web-based interface for real-time video streaming and photo capture using a custom MicroPython firmware with integrated camera drivers.

freertos micropython
163

wasp-os

Wasp-os is a MicroPython-based firmware for nRF52-powered smartwatches, including the Pine64 PineTime. It provides a complete wearable operating system with heart rate monitoring, step counting, and a variety of applications, all accessible via an interactive Python REPL for real-time development.

micropythonlittlefsmcuboot
903

WiFi Manager for MicroPython

A web-based WiFi configuration tool for ESP8266 and ESP32 microcontrollers running MicroPython. It provides a captive portal interface to scan for networks, enter credentials, and persist them to the device's local storage.

micropython
406

yaota8266 OTA Bootloader

An in-place over-the-air (OTA) update solution for the ESP8266 WiFi SoC designed for large firmwares on small flash devices. It features a dual-stage bootloader architecture with RSA-signed UDP updates, eliminating the need for redundant flash partitions.

lwipmicropython
121
EEZ Bench Box 3 (BB3) Modular Power Supply Platform

EEZ Bench Box 3 (BB3) Modular Power Supply Platform

An open-source modular Test and Measurement platform centered around an STM32F769 ARM Cortex-M7 MCU. It provides a complete hardware and software framework for modular power supplies and data acquisition, supporting visual programming via EEZ Flow, SCPI commands, and MicroPython scripting.

micropython
357

MicroPython for Bare Metal Raspberry Pi

A bare-metal port of MicroPython for the Raspberry Pi Zero, Zero W, and Raspberry Pi 2. It enables running Python code directly on the hardware without an underlying operating system. The project includes drivers for USB host support and SD card access, allowing for a standalone Python environment on classic Raspberry Pi boards.

micropython
238
MicroPython for Monocle

MicroPython for Monocle

A custom MicroPython firmware deployment specifically designed for the Monocle AR glasses. It integrates the Nordic nRF52832 SoC with support for Bluetooth LE, FPGA-driven displays, and camera modules using the LittleFS file system and Nordic SoftDevice.

micropythonlittlefs
234

MicroPython port for RT-Thread

A specialized port of MicroPython to the RT-Thread operating system, primarily targeting STM32F4 microcontrollers. It provides a seamless integration between the RT-Thread shell and the MicroPython REPL, allowing developers to control hardware and inspect RTOS internals using Python scripts.

rt-thread micropythoneasyflasheasylogger

MicroPython Rotary Encoder Driver

A robust, interrupt-driven MicroPython driver for reading rotary encoders on various development boards including ESP32, ESP8266, Pyboard, and Raspberry Pi Pico. It utilizes a state machine approach for effective debouncing and accurate tracking of encoder transitions.

micropython
329

MicroPython Samples and Drivers

A comprehensive collection of drivers, tutorials, and code samples for MicroPython targeting platforms like Pyboard, ESP32, ESP8266, and RP2040. It features advanced implementations for asynchronous programming, hardware interfacing, and data serialization.

micropython
522

MicroPython ST7735 TFT LCD Driver

A modified ST7735 driver for MicroPython optimized for ESP32 and Raspberry Pi Pico. It supports multiple display variants, text rendering with custom fonts, and advanced features like offscreen frame buffering and BMP image display.

micropython
259

MicroPython-STM-Lib

A collection of Python modules and drivers for MicroPython, specifically optimized for STM32F4-based hardware like the pyboard and STM32F4DISCOVERY. It provides essential utilities for rotary encoders, LCDs, MIDI communication, SPI flash memory, and networking, with support extending to ESP8266 and ESP32 ports.

micropython
98

MicroPython Stubber

A specialized toolset for generating PEP 484 type hint stubs for MicroPython firmware, enabling advanced IntelliSense and static analysis in modern IDEs. It supports a wide range of ports including ESP32, RP2040, and STM32, and facilitates the creation of stubs for custom firmware builds.

micropythonlvgl
241

MicroPython Stubs

A collection of over 3,000 stub files for MicroPython that provide type hinting, auto-completion, and static type checking for embedded development. It supports numerous ports and boards, including ESP32 and Raspberry Pi Pico, and integrates with major IDEs to streamline the MicroPython coding workflow.

micropython
275
MicroPython TM1637 Library

MicroPython TM1637 Library

A MicroPython library for quad 7-segment LED display modules using the TM1637 LED driver. It provides a comprehensive API for controlling brightness, displaying numbers, hex values, temperatures, and scrolling text on various microcontroller platforms.

micropython
223
MicroPython Waveshare e-Paper Drivers

MicroPython Waveshare e-Paper Drivers

A collection of MicroPython drivers for various Waveshare e-Paper displays, supporting a wide range of screen sizes and color configurations. The library provides an interface for controlling these displays using SPI or UART on MicroPython-compatible hardware, including support for partial and full refreshes.

micropython
379

MicroPython-Wrap

A header-only C++ library that provides seamless interoperability between C++ and MicroPython. It automates the conversion of function arguments and return values between native types and the MicroPython object model, significantly reducing the boilerplate required to extend MicroPython with custom C++ modules.

micropython
134

micrOS

A MicroPython-based application execution platform and operating system designed for DIY projects and IoT devices. It provides a robust framework for managing asynchronous tasks, hardware interrupts, and cron-based scheduling on ESP32 and Raspberry Pi Pico W microcontrollers. With built-in shell and web servers, micrOS enables seamless remote management and device-to-device communication via WiFi and ESP-NOW.

micropython
123

MicroWebSrv2

A powerful, fully asynchronous embedded web server for MicroPython and CPython. It supports route handlers, WebSockets, and template engines while maintaining a small footprint optimized for microcontrollers like ESP32 and STM32.

micropython
702

MicroWebSrv

A micro HTTP Web server for MicroPython that supports WebSockets, HTML/Python templating, and routing handlers. It is optimized for embedded modules like the ESP32, Pycom, and Pyboard D-series.

micropython
657
mPython Board

mPython Board

An open-source MicroPython-based firmware and hardware project for the mPython (掌控板) educational board. Powered by the ESP32 dual-core microcontroller, it provides a Python 3 compatible environment designed for STEAM education and maker projects.

freertos micropython
136