Skip to content

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