# ESP32 vs RP2040 - which microcontroller should I use?

Both are excellent choices. Here's how to decide:

## Choose ESP32 When:

**Connectivity is Key**

- WiFi-connected devices
- Bluetooth devices
- Smart home/IoT sensors
- Web-based interfaces

**Need More Power**

- Complex computations
- Multiple sensors
- Large displays
- Real-time data processing

**RAM Matters**

- 520KB vs 264KB
- TFT displays with graphics
- Buffering data

**Example ESP32 Projects:**

- Weather stations with web dashboard
- Air quality monitors with alerts
- Smart desk clocks
- Home automation sensors

* * *

## Choose RP2040 When:

**USB Native is Critical**

- Custom keyboards
- MIDI controllers
- Game controllers
- Mouse/trackpad devices

**Precise Timing Needed**

- LED strips (PIO-driven)
- Custom protocols
- Pulse counting

**Cost Sensitive**

- $4 vs $6-8
- High-volume projects

**Example RP2040 Projects:**

- Mechanical keyboards
- Stream Deck alternatives
- Macro pads
- Volume controllers

* * *

## Quick Decision Guide:

| Feature      | ESP32       | RP2040        |
|--------------|-------------|---------------|
| WiFi         | ✅ Built-in  | ❌ (Pico W has it) |
| Bluetooth     | ✅ Built-in  | ❌            |
| USB HID      | ⚠️ Possible   | ✅ Native      |
| RAM          | 520KB       | 264KB         |
| Speed        | 240MHz      | 133MHz        |
| Price        | ~$6-8      | ~$4          |
| Best For     | IoT/WiFi   | USB devices    |

**Still Unsure?**  
Tell Modo your requirements and it will select the best microcontroller automatically based on your project's needs.
