Raspberry Pi rolling out the RP2040


Microcontrollers are everywhere in the world now. They connect the world of software to the hardware. They allow developers to write software that interacts with the physical world. RP2040 is a microcontroller designed by the Raspberry Pi team.

The RP2040 shows their values while designing any raspberry pi board: high performance, low cost, and ease of use. It comes with large on-chip memory, dual-core processor & unique programmable I/O. It also comes with a MicroPython port and UF2 bootloader in ROM, making it the lowest possible entry for beginners and hobby users. RP2040 is made on a modern 40nm Process node which delivers high performance, low dynamic power consumption, and low leakage. It also comes with a variety of low-power modes to support extended duration operation on battery power.

Why is it called RP2040?

The post-fix numeral on RP2040 comes from the following.

  1. Number of processor cores(2)
  2. Loosely which type of processor (M0+)
  3. floor(log2(ram / 16k))
  4. floor(log2(nonvolatile / 16k)) or 0 if no onboard nonvolatile storage

Features of RP2040

  • Dual ARM Cortex-M0+ @ 133MHz
  • 264kB on-chip SRAM in six independent banks
  • Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
  • DMA controller
  • Fully-connected AHB crossbar
  • Interpolator and integer divider peripherals
  • On-chip programmable LDO to generate core voltage
  • 2 on-chip PLLs to generate USB and core clocks
  • 30 GPIO pins, 4 of which can be used as analogue inputs
  • Peripherals
    • ◦2 SPI controllers
    • 2 I2C controllers
    • 16 PWM channels
    • USB 1.1 controller and PHY, with host and device support
    • 8 PIO state machines

It has 6 dedicated IO for SPI Flash (supporting XIP), Dedicated hardware for commonly used peripherals, Programmable IO for extended peripheral support

4 channel ADC with internal temperature sensor, 0.5 MSa/s, 12-bit conversion

A system overview of the RP2040 chip code can be executed directly from an external memory through a dedicated SPI, DSPI, or QSPI interface. A small cache improves performance for typical applications.

Debug is available via the SWD interface.

DMA bus masters are available to offload repetitive data transfer tasks from the processors. In addition, GPIO pins can be driven directly or from a variety of dedicated logic functions.

RP2040 has a simple USB controller with embedded PHY, which can provide FS/LS Host or Device connectivity under software-hardware design.

4 GPIOs also share package pins with ADC inputs,2 PLLs are available to provide a USB or ADC fixed 48MHz clock and a flexible system clock up to 133MHz.

Why buy an RP2040?

If you read the features, you will be interested in buying this. It is the cheapest micro-controller in the market. It is launched in India at 79 Rupees, Including GST, which is total nuts. At first, even I was amazed by the launch price.

When the RP2040 Pico came out, I knew that this controller is going to take over the market in few years and is going to replace other controllers like ATMEGA328.

Companies like Arduino, Sparkfun, ATTiny & Adafruit adapted the micro-controller and launched their development boards. They knew the features it offers in the price, which makes it future proof.

Final Words

Overall the RP2040 is a huge success by the RPI team like their other boards. I am amazed by the consistency of the Raspberry Pi team. Anything they launch in the market becomes a deal-breaker. The microcontroller comes with lots of features and a less price to pay. It has more features than the standard ATMEGA328 in Arduino UNO and, I would say it beats ATMEGA328 like nothing. What would you choose for your project? An RP2040 based board or the standard controllers you have been using till now. I would go for the RP 2040. Let me know your thoughts on this in the comment section.

Sayonara. See you next time.