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.

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

LVGL MicroPython Bindings

Automatically generated MicroPython bindings for the LVGL graphics library, enabling high-level GUI development on microcontrollers. It features seamless integration with MicroPython's garbage collector, support for various display and touch drivers, and an automated API generation system for maintaining parity with the C library.

lvglmicropython
329

MaixPy Scripts

A comprehensive collection of MicroPython scripts for the MaixPy platform, targeting Sipeed hardware based on the Kendryte K210 RISC-V SoC. It includes examples for machine vision, AI acceleration, hardware peripheral control, and multimedia processing.

freertos micropythontensorflow-micro
646

Microdot

Microdot is a minimalistic Python web framework inspired by Flask, specifically designed for resource-constrained environments like microcontrollers. It supports both CPython and MicroPython, offering a lightweight and extensible solution for building web applications and APIs on embedded hardware.

micropython
2,045

Microhomie

A MicroPython framework for the Homie convention, a lightweight MQTT protocol for IoT devices. It targets ESP8266 and ESP32 platforms, providing an asynchronous implementation of Homie v4.0.0 using MicroPython's uasyncio library.

micropythonlittlefs
81

MicroMLP

A lightweight multilayer perceptron neural network library specifically designed for MicroPython environments on ESP32 and Pycom modules. It provides a single-file implementation of artificial neural networks with support for multiple activation functions, supervised learning, and Q-Learning for reinforcement learning tasks.

micropython
193

MicroPico Visual Studio Code Extension

A comprehensive development extension for Visual Studio Code tailored for MicroPython projects on Raspberry Pi Pico, ESP32, and Teensy 4.0. It provides an integrated REPL, automatic code completion via stubs, and streamlined file management for embedded microcontrollers.

micropython
360

Micropy Cli

A project management and generation tool for MicroPython development. It automates workspace setup with linting, IntelliSense, and dependency management for modern IDEs like VSCode, targeting platforms such as ESP32 and Raspberry Pi Pico.

micropython
329
micropyGPS

micropyGPS

A full-featured GPS NMEA-0183 sentence parser written in pure Python 3.x for MicroPython and embedded platforms. It provides robust parsing for various GPS messages, including position, time, and satellite data, with specific support for the PyBoard and ESP32.

micropython
384