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.

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
MicroPython Camera Driver for ESP32

MicroPython Camera Driver for ESP32

A specialized driver that adds OV2640 camera support to MicroPython for the ESP32 family. It enables high-resolution image capture by leveraging PSRAM and provides a Pythonic interface for controlling camera parameters like frame size, quality, and special effects.

freertos micropython
546

micropython-esp32-ulp

An assembler toolchain for the ESP32 Ultra Low-Power (ULP) Co-Processor, implemented in MicroPython. It allows developers to write, assemble, and load ULP-FSM machine code directly on ESP32 microcontrollers without needing external cross-compilers. Supports the full instruction sets for ESP32, ESP32-S2, and ESP32-S3 variants.

micropython
136

MicroPython Examples for 01Studio Development Boards

A comprehensive collection of MicroPython examples and drivers tailored for 01Studio hardware. It supports a diverse range of platforms including ESP32, STM32, K210, and nRF52840, covering peripherals, wireless connectivity, and AI applications.

micropython
131

MicroPython Font Handling Utility

A comprehensive toolset for converting industry-standard font files into Python source code optimized for MicroPython. It enables high-performance text rendering on resource-constrained microcontrollers by utilizing frozen bytecode to minimize RAM consumption. The project includes a PC-based conversion utility and MicroPython classes for rendering text to various display hardware.

micropython
446

MicroPython for ESP32 with psRAM Support (LoBo Port)

A specialized MicroPython port for ESP32 microcontrollers with extensive support for external psRAM (SPIRAM) up to 16MB. Built as an ESP-IDF component, it features dual-core support, integrated hardware drivers, and advanced networking modules including MQTT, FTP, and GSM/PPPoS.

freertos micropythonspiffslwip
865

MicroPython for Kendryte K210 (LoBo Port)

A comprehensive MicroPython port for the Kendryte K210 64-bit RISC-V SoC, built upon the Kendryte FreeRTOS SDK. It features dual-core support, advanced multi-threading, and extensive peripheral drivers for displays, networking, and file systems.

freertos littlefslwipmicropythonspiffssqlite
131

MicroPython for Pandora IoT Board

A specialized MicroPython port for the RT-Thread Pandora IoT Board, powered by an STM32L475 microcontroller. It leverages the RT-Thread RTOS to provide a high-level Python development environment for IoT applications, featuring extensive hardware peripheral support and integrated networking.

rt-thread easyflashlwipmicropython
27

MicroPython for Sparrow One Board

A MicroPython implementation for the Sparrow One IoT development board, built on the RT-Thread RTOS. It provides high-level Python APIs to control hardware peripherals including cameras, LCDs, WiFi, and audio components for rapid IoT application development.

rt-thread micropython

MicroPython for the BBC micro:bit

A specialized port of the MicroPython programming language for the BBC micro:bit. It provides a Python 3 compatible runtime on the Nordic nRF51822 microcontroller, including hardware-specific modules for the LED matrix, buttons, and sensors.

mbed-os micropython
637

MicroPython for W601 IoT Board

A MicroPython port for the WinnerMicro W601 IoT Board based on the RT-Thread RTOS. It enables high-level Python programming for hardware peripherals and WiFi networking on the Cortex-M3 platform.

rt-thread micropythonlwip

MicroPython Human Interface Device Library

A library for MicroPython that implements Human Interface Device (HID) functionality over Bluetooth Low Energy (BLE). It provides ready-to-use classes for Keyboards, Mice, and Joysticks, specifically optimized for ESP32 microcontrollers.

micropython
314

MicroPython I2S Examples

A comprehensive collection of MicroPython example code for implementing the I2S protocol on various microcontrollers. It enables audio playback of WAV files and microphone recording on STM32, ESP32, RP2040, and i.MX RT platforms.

micropython
296

MicroPython Kitchen Sink for M5Stack

A collection of MicroPython abstractions and helper libraries designed for the M5Stack development kit. It simplifies hardware interaction for the display, buttons, speaker, and power management using the Loboris ESP32 MicroPython fork.

freertos micropython
88

micropython-lib

A comprehensive collection of Python modules and packages optimized for MicroPython. It includes compatible subsets of the Python Standard Library, hardware drivers, and extensions for the wider Python ecosystem designed for resource-constrained embedded systems.

micropython
2,722

MicroPython MAX7219 8x8 LED Matrix Library

A MicroPython driver for the MAX7219 8x8 LED matrix, supporting SPI communication and cascading multiple displays. It integrates with the native framebuf module to provide easy drawing of text, shapes, and animations on ESP32, ESP8266, and PyBoard platforms.

micropython
205

MicroPython MPU-9250 I2C Driver

A comprehensive MicroPython driver for the MPU-9250 9-axis motion tracking device, combining support for the MPU-6500 accelerometer/gyroscope and the AK8963 magnetometer. It provides high-level APIs for motion sensing, temperature readings, and magnetometer calibration over I2C.

micropython
163
MicroPython MPU9x50 IMU Driver

MicroPython MPU9x50 IMU Driver

A comprehensive MicroPython library for InvenSense MPU9150, MPU9250, and MPU6050 sensors. It features a robust 3D vector class, sensor calibration tools, and support for vehicle-relative coordinate mapping, specifically optimized for the Pyboard and other MicroPython-compatible hardware.

micropython
273

MicroPython Sensor Fusion

A MicroPython implementation of the Madgwick sensor fusion algorithm for calculating orientation from IMU data. It provides both synchronous and asynchronous (uasyncio) interfaces for 6DOF and 9DOF sensors. Designed for high performance on microcontrollers like the Pyboard, it enables real-time tracking of heading, pitch, and roll.

micropython
344
Arduino Lab for MicroPython

Arduino Lab for MicroPython

A lightweight, Electron-based editor for MicroPython development. It supports serial communication with microcontrollers to provide an interactive REPL, file system management, and direct code execution.

micropython
270
HydraBus

HydraBus

HydraBus is an open-source multi-tool hardware platform designed for hardware hacking, debugging, and protocol analysis. It supports various firmware configurations including HydraFW, a MicroPython port, and the Black Magic Probe for JTAG/SWD debugging. The platform targets STM32 microcontrollers and provides a versatile interface for interacting with various hardware protocols.

micropython
334

Jupyter MicroPython Kernel

A Jupyter notebook kernel for interacting with MicroPython-based microcontrollers like the ESP8266 and ESP32. It supports serial REPL and WebREPL connections, enabling interactive coding, file transfers, and firmware flashing directly from a notebook environment.

micropython
158