DesignForElectronics/week3/Readme.md

86 lines
3.0 KiB
Markdown
Raw Normal View History

# 🔌 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 Pis 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** | ~$510 | ~$35 | ~$4 (Pico) |
| **Best For** | IoT, wireless control | Beginners, prototyping| Flexibility, custom I/O |
---