MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller.
[4] MicroPython does have an inline assembler, which lets the code run at full speed, but it is not portable across different microcontrollers.
[5] MicroPython was originally created by the Australian programmer Damien George, after a successful Kickstarter-backed campaign in 2013.
[16] MicroPython has the ability to run Python, allowing users to create simple and easy-to-understand programs.
[17] MicroPython was designed specifically to support the typical performance gap between microcontrollers and Python.
[20] MicroPython offers functionality, once new code has been written, to create a frozen module and use it as a library which can be a part of developed firmware.
This feature assists with avoiding repetitive downloading of the same, already error-free, tested code into a MicroPython environment.
[20] The read–eval–print loop (REPL) allows a developer to enter individual lines of code and have them run immediately on a terminal.
[17] Helpful REPL commands (once connected to a serial console):[21] Although MicroPython fully implements Python language version 3.4 and much of 3.5, it does not implement all language features introduced from 3.5 onwards,[22] though some new syntax from 3.6 and more recent features from later versions, e.g. from 3.8 (assignment expressions) and 3.9.
[18] MicroPython does not include an integrated development environment (IDE) or specific editor unlike other platforms.
[24] Unlike most other programming languages less punctuation is used with fewer syntactical machinations in order to prioritise readability.
This key feature is simple but important as misused indentation can result in code executing under a wrong condition or an overall error from the interpreter.
[19] When developers begin to create a new application, standard MicroPython libraries and drivers may not meet the requirements, with insufficient operations or calculations.
MicroPython firmware can be built without the compiler, leaving only the virtual machine which can run the precompiled mpy programs.