RP2040 and RP2350 Microcontrollers: Architecture, PIO and Practical Use

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.

Shopping Cart
Scroll to Top