I like the RP2040
RP2040 vs ESP32 and Other MCUs
- Many compare RP2040 to ESP32: ESP32 praised for integrated Wi‑Fi/BLE, module variants, and strong ESP-IDF ecosystem.
- Critics say Espressif’s explosion of variants complicates tooling and inflates firmware size; RP2040’s “one chip” strategy is valued for simplicity, shared knowledge, and consistent docs.
- Others argue STM32, NXP (FlexIO), WCH/PY32, Ambiq, etc. beat RP2040 on power, analog, or performance per dollar in professional designs.
Bootloader, Flashing, and “Unbrickable”
- On-chip ROM bootloader is read-only; firmware lives in external SPI flash.
- This makes RP2040 hard to brick in the field; USB mass‑storage (UF2) is praised for education and recovery, though considered clunky for rapid development.
- Some prefer standard DFU or vendor tools; others highlight picotool and debug probes for faster iteration.
- Discussion of multi‑stage bootloaders, OTA strategies, and how to handle bootloader CVEs shows mixed views; some accept immutable ROM + higher‑level recovery, others want updatable lower-stage boot.
Security and Commercial Use
- Lack of secure boot, code readout protection, and encrypted XIP seen as a major limitation for commercial, especially if firmware cloning is a concern.
- Some argue MCU “security features” are often bypassable and partly “security theater,” but still raise attacker cost.
- Others emphasize crypto key storage and high‑assurance boot as more important, and note many “real commercial MCUs” support these with external flash encryption.
PIO and Use Cases
- Programmable I/O is widely praised as the differentiator: used for custom buses, video (DVI/VGA), console modchips, retro PC cards, odd UART formats, quadrature decoding, and robotics.
- Some note its limits: only 2 blocks, 32 instructions, no external clock; may not replace low‑end FPGA use.
- Comparisons to NXP FlexIO and TI PRU; some feel patents around PIO are unfortunate.
Power, Analog, and Hardware Tradeoffs
- Power consumption and sleep modes are criticized as poor compared to ultra‑low‑power MCUs; not ideal for long‑life battery or energy‑harvesting devices.
- ADC quality is considered weak; few channels and notable nonlinearity. External ADCs are suggested when precision matters.
- Lack of DACs, op‑amps, capacitive touch, and limited analog inputs are common complaints.
External Flash and Architecture
- External QSPI flash is divisive:
- Pro: cheap, flexible sizes, huge unified code+data space, easy to treat part as general storage, simplifies pin muxing.
- Con: more BOM, routing, and initialization complexity; XIP interface can’t write, limiting FRAM/PSRAM expansion; can’t protect firmware like MCUs with internal flash and fuse‑based security.
Tooling, Ecosystem, and Boards
- RP2040 SDK, docs, and examples are frequently praised; Rust/Embassy, CircuitPython, and MicroPython support get positive mentions.
- Some dislike PlatformIO politics and prefer direct CMake, vendor SDKs, or Rust tooling.
- Hobbyists appreciate the many cheap dev boards (Pico, clones, stamps, tiny form factors), and see QFN as manageable via reflow or by using module‑style boards; others find the package unfriendly for hand‑soldered customs.