Skip to content

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.

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.

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.