Microcontrollers¶
Side-by-side comparison¶
| Board | MCU | Clock | Flash | SRAM | GPIO | WiFi | Bluetooth | USB | Voltage |
|---|---|---|---|---|---|---|---|---|---|
| Arduino Uno | ATmega328P (AVR 8-bit) | 16 MHz | 32 KB | 2 KB | 14 | — | — | Type-B | 5 V |
| Arduino Nano | ATmega328P (AVR 8-bit) | 16 MHz | 32 KB | 2 KB | 14 | — | — | mini-USB | 5 V |
| Arduino Mega 2560 | ATmega2560 (AVR 8-bit) | 16 MHz | 256 KB | 8 KB | 54 | — | — | Type-B | 5 V |
| Arduino Pro Mini | ATmega328P (AVR 8-bit) | 8 or 16 MHz | 32 KB | 2 KB | 14 | — | — | none (FTDI header) | 3.3 V or 5 V |
| ESP32 Dev Board | Xtensa LX6 dual-core | 240 MHz | 4 MB | 520 KB | 25 | b/g/n | BT Classic + BLE 4.2 | micro-USB | 3.3 V |
| ESP32-S3 | Xtensa LX7 dual-core | 240 MHz | 4–16 MB | 512 KB + 8 MB PSRAM | 45 | b/g/n | BLE 5 | native USB-OTG | 3.3 V |
| ESP32-C3 | RISC-V single-core | 160 MHz | 4 MB | 400 KB | 22 | b/g/n | BLE 5 | native USB | 3.3 V |
| ESP8266 NodeMCU | Xtensa L106 | 80 MHz | 4 MB | 80 KB | 11 usable | b/g/n | — | micro-USB | 3.3 V |
Common questions¶
Which Arduino should I buy first?¶
Arduino Uno R3. Largest library compatibility, most tutorial coverage, full-size pins for breadboard / shields. Skip Nano only if your project needs Uno-incompatible shields.
Arduino vs ESP32 — which is better?¶
ESP32 for WiFi/Bluetooth projects, more memory, faster (240 MHz dual-core vs 16 MHz single-core). Arduino Uno for tutorials, 5 V logic compatibility, and simpler debugging. Use Arduino if you don't need networking.
ESP32 vs ESP32-S3 vs ESP32-C3 — what's the difference?¶
ESP32 = original dual-core Xtensa with WiFi + Bluetooth Classic + BLE 4.2. ESP32-S3 = newer dual-core Xtensa with native USB-OTG and BLE 5 (no Bluetooth Classic). Better for USB peripherals + AI workloads. ESP32-C3 = single-core RISC-V, BLE 5, cheapest of the three. Pick C3 for cost-sensitive projects without USB-host needs.
Can I use Arduino code on an ESP32?¶
Mostly yes — ESP32 supports the Arduino IDE via the ESP32 board package. Library compatibility varies: AVR-specific libraries (interrupts, EEPROM) often need ESP32-equivalent replacements. Pin numbers differ.
Does ESP8266 NodeMCU still make sense?¶
Only for ultra-budget WiFi-only projects. ESP32 is cheaper than it used to be and is faster, has more memory, and adds Bluetooth. New designs should use ESP32 unless you specifically need ESP8266 compatibility.
Last updated: 2026-05-13 · Source on GitHub