Raspberry Pi Pico 2 Launches with Arm + Risc V Cores: hands-on with the new, $5 microcontroller
January 2021 was an eventful moment in the history of the Raspberry Pi.Originally makers of our favorite single board computers, Raspberry Pi LTD came up with its own microcontroller based board, the Raspberry Pi Pico and best of all it was only $4. June 2022 and the surprise update to the Pico came in the form of the Raspberry Pi Pico W, the W representing Wi-Fi and Bluetooth connectivity, and for only $8!
It’s August 2024, and today we have the $5 Raspberry Pi Pico 2 announced for general sale and while it may look very much like the original Raspberry Pi Pico, the Raspberry Pi Pico 2 is powered by a new System on Chip (SoC) which sees two CPUs in one package! The RP2350 is a higher performing microcontroller which features a dual core Arm Cortex M33 or a Dual Core RISC-V Hazard3 CPU.
Yes, this is the first Raspberry Pi product to be powered by a RISC-V based CPU. Could this be the start of more Raspberry Pi products being powered by RISC-V? We asked Raspberry Pi co-founder and CEO Eben Upton, “I wouldn’t rule it out.” However, it is unlikely that RISC-V will be offered in the Raspberry Pi SBC line anytime soon. But who knows, maybe one day?
Let’s address the elephant in the room. The Raspberry Pi Pico 2 does not have any form of Wi-Fi or Bluetooth connectivity. The good news is that we have confirmed with Upton that the Raspberry Pi Pico W 2 is coming this year. We hope that it can stay under the $10 price point.
This isn’t a full review. More of a “hands on” experience of the new board. We only received our review unit the day before release, and at the time of writing the software that supports the Raspberry Pi Pico 2 is not quite ready. MicroPython support for the RISC-V CPU is not yet ready, and our MicroPython firmware is still a preview image. CircuitPython development is ongoing and we have seen the development team working away in the GitHub repositories to make it work.
This all means there will not be a score or verdict, this is a pure hands-on feature. Once the software support is ready, we will revisit the Pico 2 and fill in all of the performance and power data, and dig deep into the RISC-V CPU.
Raspberry Pi Pico 2 Technical Specifications
Feature | Raspberry Pi Pico 2 | Raspberry Pi Pico |
---|---|---|
SoC | RP2350, Dual Core Arm Cortex M33 or Dual Core RISC-V Hazard3 running at up to 150 Mhz | RP2040, Dual Core Arm Cortex M0+ running at up to 133 MHz |
SRAM | 520 KB | 264 KB |
Flash Storage | 4MB QSPI | 2MB QSPI |
Security | Arm TrustZone, 8KB OTP, Secure Boot | None |
Wi-Fi / Bluetooth | None | None (Pico W has this) |
Language Support | MicroPython, CircuitPython, C, C++ | MicroPython, CircuitPython, C, C++ |
USB Interface | USB 1.1 Device and Host | USB 1.1 Device and Host |
GPIO Logic Level | 3.3V | 3.3V |
GPIO | 26 x Digital IO | 26 x Digital IO |
Row 9 – Cell 0 | 4 x 12-bit ADC (Analog pins) | 3 x 12-bit ADC (Analog pins) |
Row 10 – Cell 0 | 2 x UART, 2 x I2C, 2 x SPI, 24 x PWM | 2 x UART, 2 x I2C, 2 x SPI, 16 x PWM |
Programmable IO | 12 PIO State Machines | 8 PIO State Machines |
Onboard LED | GPIO 25 | GPIO 25 |
Power | 1.8 to 5.5V via Micro USB or VSYS | 1.8 to 5.5V via Micro USB or VSYS |
MCU Sleep Mode | <10uA | 100uA |
Dimensions | 21 x 51mm | 21 x 51mm |
Price | $5 | $4 |
The Pico 2 has roughly double the RAM of its predecessor, and double the flash storage too. Flash storage is still kept separate from the SoC, but there is 8KB of on chip storage, reserved for the new Arm TrustZone feature. The stock CPU speed sees a 17 MHz boost over the original Pico, but you can overclock the Pico’s CPU with just two lines of MicroPython. The real performance boost is in how the Arm Cortex M33 performs versus the older Cortex M0+ and that still remains to be seen.
What the Raspberry Pi Pico 2 and the older Raspberry Pi Pico and Pico W all have in common is that they share the same GPIO pinout. That means that the best Raspberry Pi Pico accessories should just work, but your mileage may vary. We test that in a little more detail later. The Pico 2 also has castellations, the same as the previous boards. This means that the Pico 2 can be surface mount soldered into a PCB.
The Raspberry Pi Pico 2 uses the same micro USB connector for power and data connectivity. We would’ve preferred the more robust USB type C connector. Using the same connector and GPIO pinout as the previous Pico’s makes sense. It means that products designed around the former boards should just work with the Pico 2.
The RP2350 now provides a security architecture that is built using the Arm TrustZone for Cortex-M. There is a signed boot, 8KB of antifuse OTP that can be used for key storage, SHA-256 acceleration, hardware TRNG (True Random Number Generator) and fast glitch detectors. What does this all mean? It means that if you need additional security features in your project or product, then the RP2350 has them baked into the hardware.
Arm vs RISC
Feature | RP2350 | RP2040 |
---|---|---|
Cores | 2 x Dual-Core | Dual-Core |
Core Architecture | 32-bit ARM Cortex-M33, or 32-bit RISC-V Hazard3 | 32-bit ARM Cortex-M0+ |
CPU Clock | Flexible Clock up to 150MHz | Flexible Clock up to 133MHz |
RAM | 520 KB | 264 KB |
Flash Size | Supports up to 16MB of external QSPI | Supports up to 16MB of external QSPI |
Direct Memory Access | 12 x DMA | 12 x DMA |
Security | Arm TrustZone, 8KB OTP, Secure Boot | None |
MCU Voltage | 3.3V | 3.3V |
USB Interface | USB 1.1 Device and Host | USB 1.1 Device and Host |
Program Loading | USB Mass Storage, UF2 | USB Mass Storage, UF2 |
GPIO | 30 x Digital IO | 26 x Digital IO |
Row 11 – Cell 0 | 4 x 12-bit ADC (Analog pins) | 3 x 12-bit ADC (Analog pins) |
Row 12 – Cell 0 | 2 x UART, 2 x I2C, 2 x SPI, 24 x PWM | 2 x UART, 2 x I2C, 2 x SPI, 16 x PWM |
On Chip Sensor | Temperature | Temperature |
IC Package | QFN-60 | QFN-56 |
The RP2350 has two, dual-core CPU brains. The first is the Arm Cortex-M33, which also utilizes the Arm TrustZone framework. The second is the RISC-V Hazard3, the first RISC-V CPU to feature in a Raspberry Pi product. We may not see the open source CPU appear in the main range of Raspberry Pi boards, but it does indicate a possible direction for Raspberry Pi to follow in future Pico boards.
The RISC-V Hazard3 CPU should offer performance somewhere between the original Arm Cortex M0+ of the Pico, and the new Arm Cortex M33 of the Pico 2. But where it falls, we cannot quantify right now.
According to Raspberry Pi, the RISC-V CPU is available via C, but not via MicroPython. We only had a limited amount of time to write this hands-on so we have yet to properly test the Pico SDK with C. According to the currently-private Github repository, one can pass the “platform” to the CMake in order to build your project UF2 file for the Arm or RISC-V CPUs. We shall be testing this and will report back.
This also means that we cannot provide benchmarks showing the performance of the two CPUs versus the older Cortex M0+ found in the Raspberry Pi Pico’s RP2040. Software is still playing catch up to hardware. We have found one benchmark which could be applied to the Pico range, but we’ll be checking its validity before we use it in a review. Stay tuned!
Using add-ons with the Raspberry Pi Pico 2
Ok, some better news now. Because the Pico and Pico 2 share the same 40 pin GPIO pin layout, we can use addons designed for the older boards, with just one catch. Software. If you are wishing to connect I2C, SPI, UART or other types of addons, you should be good to go. We connected an OLED display (128 x 64 pixels) to the I2C interface, installed the SSD1306 module and were able to send text and images to the screen. That was simple.
If your addon is a little more exotic, for example one of Pimoroni’s packs, then you will need the modules for that particular board. We chose the Pico Display 2.0 and hit an issue, there were no modules in the public Github repository. Pimoroni kindly provided a pre-release version of its MicroPython firmware and we can confirm that Pico Display 2.0 works with the Pico 2.
Pimoroni will be releasing an updated version of its MicroPython bundle, and it should be available very soon, if not already available for download as you read this.
What about something “simpler”? Perhaps a board that doesn’t use special modules or protocols? Kitronik’s Pico Motor Driver is a simple board, it essentially provides H-bridge motor drivers that are controlled using the GPIO. Using PWM we can set the speed of the DC motors, and control stepper motors with relative ease. We can confirm that this board works with the Pico 2 with no adjustments to the example code.
More speed, less power?
The Arm Cortex M33 is a much more powerful CPU than the M0+, on paper at least, but that doesn’t mean that it is a power hog. According to documentation that we have seen, the RP2350 in sleep mode consumes less than 10uA. How does that compare to the RP2040? The RP2040 consumes around 100uA in sleep mode, ten times the amount of the RP2350! We’ve yet to verify this for ourselves, but those numbers are encouraging!
Bottom Line
It’s day one of the Raspberry Pi Pico 2’s general availability and the first day for any maker product is beset with patches and updates to remedy the issues that users inevitably discover. Would we buy a Raspberry Pi Pico 2 right now? For $5 sure, the software will catch up and the bugs will be ironed out. But before we can pass our final judgment, we will need to get access to every facet of this new board, and that will take just a little more time than 24 hours of access to the board.
#Raspberry #Pico #Launches #Arm #Risc #Cores #handson #microcontroller