================
Microcontrollers
================
A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit.
A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals.
Arduino
=======
Arduino is an open-source electronics platform based on easy-to-use hardware and software.
ESP8266
=======
The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP networking software, and microcontroller capability,
produced by Espressif Systems in Shanghai, China
ESP32
=====
ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth,
produced by Espressif Systems in Shanghai, China.
ESP32 is a successor of the ESP8266 microcontroller.
ESP32 is a dual-core 160MHz to 240MHz CPU, whereas the ESP8266 is a single-core processor that runs at 80MHz. Both CPUs are 32-bit.
ESP32 has more RAM than ESP8266.
Raspberry Pi Pico
================
The Raspberry Pi Pico is a microcontroller board based on the RP2040 microcontroller chip.
Useful resources
================
* `Platformio `_ - an open-source ecosystem for embedded development. It allows working with various MCUs
(such as ARM Cortex, AVR, MSP430), development boards, frameworks, and environments (Arduino, ESP-IDF, and many others).
* `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. MicroPython consists of a Python compiler to bytecode and a runtime interpreter of that bytecode
* `CircuitPython `_ - is an open-source derivative of the MicroPython programming language targeted toward students and
beginners. Development of CircuitPython is supported by Adafruit Industries
* `micro-ROS `_ - is an open source project to realize ROS2 on a microcontroller in various robot applications.
By using a common framework, it enables interoperability with conventional robots, IoT sensors and devices.