MicroPython
- Software
- Microcontrollers and firmware tools
- Firmware
MicroPython is a compact implementation of Python 3 for microcontrollers, embedded systems and other constrained platforms, running on many boards and on Unix-like and Windows systems.
Source on GitHub: github.com/micropython/micropython (opens in a new tab). Facts read at commit 9e348d2 (opens in a new tab).
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit 9e348d2 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Implements most of Python 3.4 syntax, plus async/await and some later features, with a subset of the core datatypes and standard modules.
- Runs scripts as source (.py) or precompiled bytecode (.mpy), from an on-device filesystem or frozen into the executable.
- Provides MicroPython-specific modules for hardware such as GPIO, timers, ADC, DAC, PWM, SPI, I2C, CAN, Bluetooth and USB.
- Supports over twenty ports, including esp32, rp2, stm32, samd, mimxrt, Unix, Windows and webassembly, grouped into support tiers.
- Most ports need the mpy-cross cross-compiler built first, using make; some ports also use CMake.
- Microcontroller targets can be as small as 256kiB flash and 16kiB RAM, while 512kiB flash and 128kiB RAM allow a fuller experience.
Written by Robotheca from the project's README (opens in a new tab) at commit 9e348d2.
Getting started
- Difficulty
- Beginner
- Hardware it needs, as the project states it
- Microcontroller targets can be as small as 256kiB flash and 16kiB RAM, although devices with at least 512kiB flash and 128kiB RAM allow a much more full-featured experience. Unix and Windows systems are also supported; building requires bash, gcc and Python 3.3+ as python3.
- How to start
- The project's website (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 16 Oct 2026 on master
- Latest release
- New psoc-edge port, CAN on alif and mimxrt, mem_backup, manifest c_module (24 Aug 2026)
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.