Raspberry Pi RP2040 IC Microcontroller Chip
RP2040 brings our signature values of high performance, low cost, and ease of use to the microcontroller space. With a large on-chip memory, symmetric dual-core processor complex, deterministic bus fabric, and rich peripheral set augmented with our unique Programmable I/O (PIO) subsystem, it provides professional users with unrivaled power and flexibility.
Flexible I/O connects RP2040 to the physical world by allowing it to speak to almost any external device. High-performance breezes through integer workloads. Low cost helps ease the barrier to entry.
This isn’t just a powerful chip: it’s designed to help you bring every last drop of that power to bear. With six independent banks of RAM and a fully connected switch at the heart of its bus fabric, you can easily arrange for the cores and DMA engines to run in parallel without contention.
RP2040 builds Raspberry Pi’s commitment to inexpensive, efficient computing into a small and powerful 7 mm × 7 mm package, with just two square millimeters of 40 nm silicon.
RP2040 is manufactured on a modern 40nm process node, delivering high performance, low dynamic power consumption, and low leakage, with a variety of low-power modes to support extended-duration operation on battery power.
Note: Robocraze is the authorized seller of Raspberry Pi products in India. Therefore even if you are in Bangalore, Hyderabad, Kerala, Mumbai, or Pune, you can buy RP2040 IC online from Robocraze at the comfort of your homes.
Whatever your microcontroller application, from machine learning to motor control, from agriculture to audio, RP2040has the performance, feature set, and support to make your product fly.
With two fast cores, plenty of on-chip RAM, and a port of TensorFlow Lite, RP2040 is a great platform for machine learning applications.
1 x RP2040 IC Microcontroller Chip
|Processor||Dual ARM Cortex-M0+ cores|
|SPI Flash||2M on-board QSPI|
|ADC||3 available × 12-bit|
Frequently Asked Questions
1. Is RP2040 5V tolerant?-
No. RP2040 microcontrollers use 3.3V for GPIO
2. I’ve accidentally connected +5V to my RP2040-based microcontroller. Is the pin dead?
It depends; often RP2040 will survive, but it is not recommended, and can reduce the life of the microcontroller
3. Can I solder it myself?
For the RP2040 itself, yes; it’s not easy, and you will need magnification of some sort and a very good soldering iron to go with a very steady hand, but it can be hand soldered. The Raspberry Pi Pico board on the other hand has been designed so that it can be easily soldered down to another PCB; it’s why it has castellated contacts on each edge
4. What OS does it run?
Like other microcontrollers, it doesn’t run an OS by default, but we supply an SDK which provides a rich library of functions for using the hardware/features of the chip, along with higher-level functionality often found in an OS. You can use this to write “bare metal” C/C++ applications easily, or you can use MicroPython, which is even simpler for beginners
5. What is the maximum Flash size?
16 MiB (2^24 bytes) of Flash memory
6. Should I buy a Raspberry Pi Pico or a Raspberry Pi Zero?
These are two very different devices, a microcontroller and a microcomputer, intended for different purposes. Raspberry Pi Pico is a great device for dedicating to a very specific task, whereas Raspberry Pi Zero is a multipurpose device. Raspberry Pi Zero has HDMI out, a camera interface, etc; Raspberry Pi Pico does not. However, Raspberry Pi Pico has an on-board ADC as well as other peripherals not present on Raspberry Pi Zero, and consumes considerably less power; it is therefore much more suited to embedded applications than Raspberry Pi Zero
7. Is it supported in the Arduino or other third-party programming environments?
Yes. Alongside the very comprehensive C/C++ SDK both Raspberry Pi Pico and other RP2040-based boards are supported by an official port of MicroPython, while Adafruit also ported CircuitPython to RP2040. There has been been both an unofficial and an official port of the Arduino environment.
8. Can I run machine learning tools?
Yes. TensorFlow Lite for Microcontrollers has been ported to Raspberry Pi Pico by Google. It is an early version so there is lots of optimisation still to do. However there are some example projects starting to appear.
9. I don't want to use C or Python, can I write assembler?
Of course. The processor (dual-core ARM Cortex M0+) implements the ARMv6-M Thumb instruction set, including a number of 32- bit instructions that use Thumb-2 technology. The ARMv6-M instruction set comprises all of the 16-bit Thumb instructions from ARMv7-M excluding CBZ, CBNZ and IT and the 32-bit Thumb instructions BL, DMB, DSB, ISB, MRS and MSR. Check out the SDK which has some library functions written in assembler
10. Is there a downloadable version of “Get started with MicroPython on Raspberry Pi Pico”?
Yes there is a downloadable PDF of "Get started with MicroPython on Raspberry Pi Pico" by Gareth Halfacree and Ben Everard.
11. Why is there no reset button? Constantly unplugging and plugging in is a pain!
Cost is the main reason, adding an extra button can make a big difference. But we also expect that if you are making a lot of changes during development, you will have set up the SWD (Serial Wire Debug) system, which allows you to download code to the board via the debugger. This means you don’t need to power off or use the BOOTSEL button at all. There are other options as well, such as adding your own reset button
12. Can I use my Raspberry Pi to develop for the Raspberry Pi Pico?
Of course. Although any model of Raspberry Pi would be able to communicate with the Raspberry Pi Pico, we recommended more recent models for development, especially if using the VSCode IDE as that requires a strong CPU and at least 2GB of RAM. So the Raspberry Pi 4 and Raspberry Pi 400 are best when using an IDE, but if you are using the command line, the Raspberry Pi 3 or even Raspberry Pi 2 should be OK. Compile times will be a bit longer though, and we do recommend a 16GB card to ensure you have enough space for all the code trees
13. What is the maximum current rating of the GPIO's?
In total (adding up all the individual GPIO demands), the current for the IOVDD must be <= 50mA
14. Can I use USB serial when debugging using SWD?
No, you need to use a UART based console when debugging using SWD. This is because the USB stack will be paused when the RP2040 cores are stopped during debugging, which will cause any attached devices to disconnect
15. What caches does the RP2040 have?
There is just one, an execute-in-place (XIP) cache on the Flash (because Flash memory is quite slow). There are otherwise no instruction or data caches