The RP2040 and RP2350 microcontrollers from Raspberry Pi represent a modern class of low-cost, high-performance microcontrollers without integrated wireless features. They are designed as general-purpose controllers with strong I/O capabilities, flexible hardware interfaces and excellent software support.
These devices are often considered successors to traditional 8-bit microcontrollers such as Atmega, offering significantly higher performance while maintaining simplicity and deterministic behavior.
Architecture Overview
RP2040
- Dual-core ARM Cortex-M0+
- Clock speed: up to 133 MHz (often overclocked higher in practice)
- No internal flash (external QSPI flash required)
- 264 KB SRAM
RP2350
- Dual-core ARM Cortex-M33 (newer architecture)
- Higher performance than RP2040
- Improved security features
- Enhanced peripheral set
- Available with different memory configurations
The RP2350 is a significant architectural upgrade, especially in terms of performance, security and memory flexibility.
Memory Architecture
RP2040
- 264 KB internal SRAM
- External QSPI flash required for program storage
- Typical modules include 2 MB to 16 MB flash
RP2350
RP2350 is available in multiple memory configurations:
- Variants with integrated flash memory
- Variants with different SRAM sizes
- Support for external memory expansion
This allows more flexible system design compared to RP2040, which always requires external flash.
Operating Voltage and Power Consumption
- Operating voltage: typically 1.8V - 3.3V
- 3.3V logic standard
- Very low power consumption compared to many 32-bit MCUs
RP2040 and RP2350 are efficient microcontrollers, especially in applications without wireless communication, where ESP32-class devices would consume significantly more power.
GPIO and Electrical Characteristics
- Up to 30 GPIO pins (RP2040 typical)
- Configurable functions per pin
- Drive strength configurable
- Not 5V tolerant (level shifting required)
GPIO pins are highly flexible due to the internal routing and PIO system.
Programmable I/O (PIO)
One of the most important features of RP2040 and RP2350 is the PIO (Programmable I/O) subsystem.
- Custom hardware interfaces implemented in software
- Deterministic timing independent of CPU
- Supports protocols such as:
- Custom SPI / I2C
- WS2812 (NeoPixel)
- VGA / DVI video output
- Software-defined communication protocols
PIO makes these microcontrollers extremely flexible and capable of tasks that would require dedicated hardware peripherals on other platforms.
Analog Capabilities
- ADC resolution: 12-bit (RP2040)
- Multiple analog input channels
- No true DAC
Analog performance is adequate for general sensor applications, but external ADCs are recommended for precision measurements.
Communication Interfaces
- I2C: multiple instances
- SPI: multiple instances
- UART: multiple instances
- USB device support
- PIO allows creation of custom communication protocols
Unlike ESP32, these devices do not include WiFi or Bluetooth, which simplifies software and reduces power consumption.
Toolchains and Development
- Arduino IDE (excellent support)
- PlatformIO
- Official Raspberry Pi Pico SDK (C/C++)
- MicroPython / CircuitPython
Arduino support makes RP2040 and RP2350 accessible to beginners, while the SDK allows advanced low-level development.
Typical Use Cases
- Replacement for Atmega-based designs
- Real-time control systems
- Custom communication interfaces (PIO)
- USB devices
- Display and signal generation
- Low-power embedded systems
Advantages
- Very low cost
- High performance compared to 8-bit MCUs
- No wireless complexity
- Deterministic behavior
- Extremely flexible I/O (PIO)
- Strong Arduino and MicroPython support
Limitations
- No built-in WiFi or Bluetooth
- No internal flash (RP2040)
- Limited analog performance
- Not 5V tolerant
Typical RP2040 / RP2350 Comparison
| Device | Core | Clock | SRAM | Flash | GPIO | ADC | USB | Special Features |
|---|---|---|---|---|---|---|---|---|
| RP2040 | Dual Cortex-M0+ | Up to 133 MHz | 264 KB | External (QSPI) | ~30 | 12-bit | Device | PIO subsystem |
| RP2350 (base) | Dual Cortex-M33 | Higher than RP2040 | Variant dependent | Integrated / external options | Higher than RP2040 | Improved | Device | Improved PIO, security |
| RP2350 (extended) | Dual Cortex-M33 | Higher | Larger SRAM variants | More memory options | More GPIO | Improved | Device | Expanded peripherals |
Conclusion
The RP2040 and RP2350 are excellent general-purpose microcontrollers for projects that do not require wireless connectivity. They offer significantly more performance than traditional 8-bit devices while remaining simple, deterministic and cost-effective.
For many applications, they are a strong alternative to both Atmega and ESP32, especially when low power consumption, flexibility and predictable behavior are important.
