Raspberry Pi Pico RP2040 Board
This is the first board from Raspberry Pi based on the RP2040 MCU.
The two official environments are C/C++ and MicroPython. |
Hardware
The MCU features a dual-core Cortex-M0+ MCU running up to 133 MHz with 264 kB SRAM. Flash is external QSPI 2 MB.
The board is minimalistic with a push-button for uploading and a green LED. |
Software
The official C/C++ SDK relies on Cmake with Visual Studio Code as recommended IDE. For portability, I switched to an Arduino-compatible implementation.
I haven't tested MicroPython. |
Arduino-compatible options
Arduino has published the ArduinoCore-mbed board package to support the Pico RP2040.
However, I've faced two issues with release 2.1.0:
So I recommend using the arduino-pico boards package by Earle F. Philhower.
The main differences are about the location of the pins for the default SPI and I²C buses. Large projects upload and run, and debugging with the Segger J-Link programmer-debugger raises no issues. Additionally, this package supports all the boards based on the RP2040, including Adafruit and SparkFun variants. |
Debugging
The board exposes the SWD signals clock and data, making debugging connections very easy. For the programmer-debugger, the multiple options include: using the second core of the same Pico, using a second Pico board, using a standard programmer-debugger like the Segger J-Link.
The page Debugging against the Pico Board reviews those options. |
Pins Map
The pins map shwon below is valid for the recommended arduino-pico boards package by Earle F. Philhower.
|
Conclusion
At GBP4/USD4/EUR4, the Raspberry Pi Pico brings incredible value; and for twice the price, a fully operationnal programmer-debugger for serious development.
With two cores and excellent documentation, the board can be programmed with C/C++ or Python using a wide range of tools, including the Arduino IDE and Visual Studio Code. |
Pros
|
Cons
|
Wrap-Up
|
Links
|