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.

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

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

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

MQBoard - MicroPython MQTT Micro-Framework

A micro-framework for managing MicroPython boards remotely via MQTT and asyncio. It provides a robust MQTT client, remote REPL access, OTA updates, and remote logging over a single encrypted connection, specifically optimized for ESP32 microcontrollers.

freertos micropython
128

Mu - A Simple Python Code Editor

A cross-platform Python IDE specifically designed for beginner programmers and educators. It provides specialized modes for embedded development, including support for MicroPython, CircuitPython, and the BBC micro:bit, featuring integrated serial REPL and device flashing capabilities.

micropython
1,502

SDCard Boot with OTA for MicroPython

A MicroPython-based bootloader and OTA update system for ESP32 that uses an external SD card as the root filesystem. It minimizes internal flash wear and provides a robust update mechanism with hash matching and rollback capabilities.

micropythonlittlefs

ulab: NumPy-like Array Manipulation for MicroPython

ulab is a high-performance, C-implemented numerical library for MicroPython and CircuitPython that provides a NumPy-like interface for array manipulation. It supports multi-dimensional ndarrays and advanced mathematical routines from NumPy and SciPy, optimized for resource-constrained embedded systems like STM32, ESP32, and RP2040.

micropythonsipeed-maixpy
488

Asynchronous Programming in MicroPython

A comprehensive resource for asynchronous programming in MicroPython using the asyncio library. It provides documentation, tutorials, synchronization primitives, and hardware drivers optimized for high performance on bare-metal microcontrollers.

micropython
813

Blynk Python Library

A Python and MicroPython library designed to connect IoT hardware to the Blynk Cloud. It provides an API for exchanging sensor data and controlling hardware peripherals like relays and motors from iOS and Android devices, specifically targeting Raspberry Pi and ESP-based microcontrollers.

micropython
241

lv_lib_100ask

A comprehensive collection of out-of-the-box UI components and enhanced interfaces for the LVGL graphics library. It provides ready-to-use modules such as a Pinyin input method, page manager, file explorer, and NES simulator for embedded platforms.

freertos lvglmicropython
126