MicroPython
It is a small but efficient interpreter of the Python Programming Language , optimized to work in microcontrollers and restricted environments.
An interpreter is defined as the logical layer of software between the code and the hardware , in other words, it is in charge of processing the programming code and making it possible for the hardware like computers, microcontrollers to execute the actions described in it.
MicroPython is implemented starting with the Python 3.4 standard interpreter – with features selected from later versions .
Due to the resource limitations of microcontrollers, most of the modules in the standard library have been simplified, but providing their main functionalities – a subset of the total functionalities .
MicroPython also has specific modules within the standard library that allow the programmer access to the microcontroller hardware .
There are some features that MicroPython has and it is what makes it unique and different from other embedded systems:
It has, as well as the Python Programming Language, a multitude of libraries for the execution of tasks .
It has a very simple code editor of its own.
It is extensible. For advanced MicroPython users, they can extend Python to lower-level functions such as C or C ++, and can mix code that requires faster, lower-level execution with MicroPython.
With MicroPython, many things can be done, such as controlling the inputs / outputs of a microcontrollers by blinking an LED, obtaining readings of analog and digital signals, generating PWM signals, controlling servo motors, OLED displays, NeoPixel displays, performing I2C, SPI communication, etc. In some microcontrollers like ESP32 it also allows Network and WiFi connections.