DesignForElectronics/week3/Readme.md

86 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔌 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 |
---