# Microcontroller
|  | 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. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips. |
| ---- | ---- |
| | wikipedia:: [Microcontroller](https://en.wikipedia.org/wiki/Microcontroller) |
| | [Comparison of single-board microcontrollers - Wikipedia](https://en.wikipedia.org/wiki/Comparison_of_single-board_microcontrollers) |
#summary In modern terminology, a microcontroller is similar to, but less sophisticated than, a system on a chip (SoC). An SoC may include a microcontroller as one of its components, but usually integrates it with advanced peripherals like a graphics processing unit (GPU), a Wi-Fi module, or one or more coprocessors.
[[Embedded systems]]
[[Internet of Things (IoT)]]
contra [[System on a chip]]
## List
- [[Espressif Systems]]
- [[ESP8266]]
- [[ESP32]]
- [[Arduino]] & compatible
- [[Arduino]]
- [[Adafruit]]
- [[Adafruit Feather]]
- [[Circuit Playground]]
- [[Adafruit Neopixel]]
- [[Raspberry Pi]]
- [[Raspberry Pi Pico]]
- [[RP2040]]
- [[nRF52840]]
- [[Atmel]]
- [[Atmega32u4]]
- chip, which is the same core chip in the Arduino Leonardo as well as the same chip we use in our Feather 32u4.
- [[Semtech SX1262 LoRa Transceiver]]
- [[LILYGO]]
- [[HELTEC]]
- [[RAKwireless]]
- [[BBC microbit]]
### Single-board microcontroller
- [[Arduino]], etc.
## Programming
> Interpreters may also contain nonstandard features, such as MicroPython, although a fork, CircuitPython, has looked to move hardware dependencies to libraries and have the language adhere to a more CPython standard.
- [[Python]]
- [[MicroPython]]
- [[CircuitPython]]
- [[Circuit Playground]]
- [[Mongoose OS]]
- Mongoose OS – an operating system for connected products on microcontrollers; programmable with JavaScript or C. A recommended platform by Espressif Systems,[70] AWS IoT,[71] and Google Cloud IoT.[72]
- [[VS Code|Visual Studio Code]] with the officially supported Espressif Integrated Development Framework (ESP-IDF) Extension[76]
- [[ESPHome]]
- — ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through home automation systems.
- [[Arduino]]
- ESP32[66] – Arduino core for the ESP32, ESP32-S2, ESP32-S3 and ESP32-C3.
- Espruino
- JavaScript SDK and firmware closely emulating Node.js
### IDEs
[[IDEs & Text Editors]]
- [[Arduino IDE]]
- [[Thonny]]
- [[VS Code|Visual Studio Code]]
- [[PlatformIO]]