MicroPython is a small, efficient implementation of the Python 3 language built to run on microcontrollers and other tightly constrained systems. Created by Damien George and released in 2014 after a successful crowdfunding campaign, it makes it possible to write programs for embedded hardware in Python instead of in C or assembly. The project’s GitHub repository describes it as an implementation of Python 3.x for microcontrollers, embedded systems, and other constrained platforms.
The appeal is straightforward: Python is one of the most approachable languages, and MicroPython brings its readable syntax, interactive prompt, and high-level features to devices with only kilobytes of memory. According to the documentation at docs.micropython.org, the implementation includes a subset of the standard library plus hardware-specific modules for talking to pins, buses, and timers, so a developer can blink an LED or read a sensor with a few lines of familiar code. Many boards expose a live REPL over a serial connection, letting you type Python and see results on the hardware immediately, which is a dramatic change from the usual compile-flash-reboot cycle.
Making Python fit on a microcontroller required serious engineering. MicroPython compiles source to compact bytecode, runs it on a small virtual machine tuned for low memory, and can store both the runtime and user code in a chip’s limited flash. The documentation lists quick-reference guides for a range of ports, including the popular ESP8266 and ESP32 chips, the Raspberry Pi RP2 series, and the original pyboard, among others.
CircuitPython, a derivative maintained by Adafruit, forked MicroPython to emphasize ease of learning. It presents a board as a USB drive where saving a file named code.py instantly runs the program, lowering the barrier even further for beginners while sharing MicroPython’s core language and virtual machine.
MicroPython’s significance is that it broke the assumption that embedded programming must mean low-level C. By letting people use a high-level, interpreted language directly on the metal, it widened the audience for hardware projects and made rapid, interactive experimentation a normal part of embedded work.