MicroPython implements the Python programming language optimized for microcontrollers and embedded systems that are resource-constrained devices. It is simple and enables rapid prototyping.
Here are some key features and characteristics of MicroPython:
MicroPython is designed to run on devices with limited memory and processing power. It has a small storage and RAM footprint.
MicroPython is compatible with Python 3 syntax.
MicroPython includes a Read-Eval-Print Loop (REPL), which allows developers to run interactively and test code on a microcontroller line by line and evaluate results immediately. This feature is invaluable for debugging and tracing.
MicroPython provides a rich set of libraries and modules for interacting with hardware components such as GPIO pins, sensors, motors, displays and networking capabilities that make it suitable for building IoT devices.
MicroPython is designed to be cross-platform. including popular ones like the ESP8266, ESP32, Raspberry Pi Pico, and more. Developers should be aware of the hardware limitations that somehow reduce code portability.
MicroPython has a growing community, shared libraries and sample projects. A package manager called “upip” also enables the installation of additional MicroPython libraries easily.
MicroPython is released under an open-source license (typically the MIT License).
MicroPython is designed to be power-efficient, which is crucial for battery-powered and energy-constrained devices.
While Micropython is not a real-time operating system (RTOS) itself, it can be used in conjunction with RTOSes to build real-time systems, if only needed.
MicroPython is a popular choice for educational purposes: thanks to REPL, the setup of the SDK is simple and quick.
Installation
Installation of the Micropython usually involves flashing firmware, specific for a microcontroller, that contains a Python interpreter and becomes de-facto a middleware between hardware and developer that is used with means of scripts. Micropython scripts can be executed inline via terminal (REPL), or a file with a source code (usually named main.py) can be uploaded to the drive's root folder exposed via USB connection by the MCUs firmware.
A website that is a starting point for Micropython is micropython.org[1].
The installation procedure is specific to the hardware platform and sometimes differs slightly from flashing C++-based solutions or burning an OS, as in the case of the RP2040. The main steps to prepare a working environment are presented below:
Download a Micropython binary image suitable for your hardware.
Switch the MCU into the bootloader mode that exposes a flash drive: in the case of the RP2040, the easiest way is to hold down the Boot button and power on the device while holding.
Move the firmware file into the flash drive; the device will flash and reboot.
Connect to the serial port exposed.
[pczekalski]Intro to Micropython, explain the idea, installation concept (e.g. RP2040), compare to regular one (move "note" from hardware section) and present sample coding using terminal (GKTerm).