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.