86 lines
3.0 KiB
Markdown
86 lines
3.0 KiB
Markdown
# 🔌 Microcontroller Comparison: ESP32 vs Arduino Nano vs RP2040
|
||
|
||
---
|
||
|
||
## 📡 ESP32
|
||
|
||
**Overview:**
|
||
A powerful and cost-effective microcontroller with **built-in Wi-Fi and Bluetooth** — perfect for IoT and wireless projects.
|
||
|
||
### ✅ Key Features:
|
||
- **Processor:** Dual-core Xtensa @ 240 MHz
|
||
- **RAM:** 520 KB internal
|
||
- **Flash:** 4 MB (external, typical)
|
||
- **Wireless:** Wi-Fi 802.11 b/g/n + Bluetooth 4.2 (classic & BLE)
|
||
- **GPIO & Peripherals:** ADC, DAC, PWM, SPI, I2C, UART
|
||
- **Special:** Capacitive touch, hall sensor, temperature sensor
|
||
- **Power:** Low-power modes for battery operation
|
||
|
||
**Common Uses:**
|
||
- Smart home automation
|
||
- Wireless sensor networks
|
||
- Web-controlled devices
|
||
- Bluetooth-enabled wearables
|
||
|
||
---
|
||
|
||
## 📏 Arduino Nano
|
||
|
||
**Overview:**
|
||
A compact, beginner-friendly microcontroller ideal for basic electronics and education.
|
||
|
||
### ✅ Key Features:
|
||
- **Processor:** 8-bit AVR ATmega328P @ 16 MHz
|
||
- **RAM:** 2 KB
|
||
- **Flash:** 32 KB
|
||
- **EEPROM:** 1 KB
|
||
- **GPIO:** 14 digital I/O, 6 PWM, 8 analog inputs
|
||
- **USB:** Mini-B for programming/power
|
||
- **Size:** 45 mm × 18 mm
|
||
|
||
**Common Uses:**
|
||
- Simple embedded systems
|
||
- Robotics and automation
|
||
- Learning electronics and C/C++ programming
|
||
|
||
---
|
||
|
||
## 🧠 Raspberry Pi RP2040
|
||
|
||
**Overview:**
|
||
Raspberry Pi’s first microcontroller — versatile and high-performance, found in the Raspberry Pi Pico.
|
||
|
||
### ✅ Key Features:
|
||
- **Processor:** Dual-core ARM Cortex-M0+ @ 133 MHz
|
||
- **RAM:** 264 KB SRAM
|
||
- **Flash:** Up to 16 MB external (via QSPI)
|
||
- **GPIO & Peripherals:** 26 GPIO, PWM, ADC, I2C, SPI, UART
|
||
- **Special:** Programmable I/O (PIO) blocks for custom protocols
|
||
- **USB:** USB 1.1 device support
|
||
- **Low Cost:** ~$4 for Pico
|
||
|
||
**Common Uses:**
|
||
- Performance-heavy embedded projects
|
||
- USB device emulation (keyboards, MIDI)
|
||
- Robotics and motor control
|
||
- Custom protocols via PIO
|
||
|
||
---
|
||
|
||
## 🔍 Summary Comparison Table
|
||
|
||
| Feature | ESP32 | Arduino Nano | Raspberry Pi RP2040 |
|
||
|---------------------|-------------------------|-----------------------|----------------------------|
|
||
| **CPU** | Dual-core @ 240 MHz | 8-bit AVR @ 16 MHz | Dual-core @ 133 MHz |
|
||
| **Architecture** | Xtensa LX6 | AVR | ARM Cortex-M0+ |
|
||
| **RAM** | 520 KB | 2 KB | 264 KB |
|
||
| **Flash** | 4 MB (external) | 32 KB | Up to 16 MB (external) |
|
||
| **Wireless** | Wi-Fi + Bluetooth | None | None |
|
||
| **GPIO/PWM/ADC** | Yes | Yes | Yes + PIO |
|
||
| **USB Support** | Yes (program/debug) | Yes (Mini-B) | Yes (USB device mode) |
|
||
| **Price** | ~$5–10 | ~$3–5 | ~$4 (Pico) |
|
||
| **Best For** | IoT, wireless control | Beginners, prototyping| Flexibility, custom I/O |
|
||
|
||
---
|
||
|