August 8th, 2024

Introducing the RP2350

The RP2350 microcontroller upgrades the RP2040 with two Cortex-M33F cores, enhanced DMA, and PIO capabilities, supporting QSPI PSRAM and new variants with built-in flash, outperforming STM32H7.

Read original articleLink Icon
ExcitementEnthusiasmCuriosity
Introducing the RP2350

The RP2350 microcontroller, an upgrade from the RP2040, features significant enhancements that address previous limitations. It incorporates two Cortex-M33F cores, offering improved floating-point support and a custom instruction set for accelerated double-precision math. The chip can be overclocked to 300MHz and has doubled RAM capacity. Notably, the RP2350 introduces three PIO units, allowing for more complex operations and improved DMA capabilities, including infinite transfers without channel waste. It also supports QSPI PSRAM, enabling reliable read/write operations and cache functionality, which outperforms the STM32H7 series in terms of stability and performance. The RP2350 is compatible with existing RP2040 projects, and new variants, RP2354A and RP2354B, include built-in flash memory and additional GPIOs. The author has successfully implemented projects using the RP2350, including a Game Boy emulator for the DEFCON 32 badge. Overall, the RP2350 is positioned as a superior alternative to the STM32H7, promising enhanced performance and ease of use for developers.

- The RP2350 features two Cortex-M33F cores and improved floating-point support.

- It supports QSPI PSRAM with reliable performance, surpassing STM32H7 capabilities.

- Enhanced DMA and PIO functionalities allow for more complex project implementations.

- New variants of the RP2350 include built-in flash memory and additional GPIOs.

- The author has successfully developed projects, including a Game Boy emulator, using the RP2350.

Related

Rp2040-psram: A header-only C library for access to SPI PSRAM via PIO on RP2040

Rp2040-psram: A header-only C library for access to SPI PSRAM via PIO on RP2040

The GitHub repository offers a header-only C library for RP2040 microcontroller to access SPI PSRAM via PIO, enhancing data transfer speed. Compatible with various PSRAM chips. Find details at https://github.com/polpo/rp2040-psram.

The Workstation You Wanted in 1990, in Your Pocket

The Workstation You Wanted in 1990, in Your Pocket

A project emulates a DECstation on an RP2040 microcontroller, showcasing 1990s computing power. The emulation board offers modest specs but highlights past software efficiency. Enthusiasts discuss early workstation capabilities.

A RP2040 based DECstation 3000 emulator that can run DECWindows

A RP2040 based DECstation 3000 emulator that can run DECWindows

The GitHub URL offers comprehensive documentation on the DECstation 2040 emulator, based on RP2040, capable of running DECWindows. It includes hardware specs, software features, PIO, DMA, USB components, setup instructions, project commentary, and media showcasing progress.

Radxa X4 low-cost, credit card-sized Intel N100 SBC goes for $60 and up

Radxa X4 low-cost, credit card-sized Intel N100 SBC goes for $60 and up

The Radxa X4 is a compact Intel Processor N100 SBC with 4GB/8GB RAM, dual HDMI, USB, Ethernet, WiFi, GPIO, RP2040 microcontroller, M.2 SSD support, Windows/Linux compatibility. Lacks camera/display interfaces. Compatible with Raspberry Pi GPIO. Out of stock temporarily.

Romram: Using QSPI RAM with RP2040's SSI in read-write mode

Romram: Using QSPI RAM with RP2040's SSI in read-write mode

The article explores challenges of using external QSPI RAM with the RP2040 microcontroller, proposing a method to emulate write operations via a HardFault handler, achieving effective RAM utilization despite limitations.

AI: What people are saying
The comments on the RP2350 microcontroller reveal a mix of excitement and critique regarding its features and improvements over the RP2040.
  • Many users express enthusiasm for the dual Cortex-M33F cores and enhanced capabilities, indicating a significant upgrade for various applications.
  • Some commenters highlight the importance of improved PIO and DMA functionalities, while others call for better support and libraries for common peripherals.
  • Concerns are raised about the continued use of micro-USB instead of USB-C, which some see as outdated.
  • There is a discussion about the potential for the RP2350 to compete with established microcontroller giants like STM32H7, with mixed opinions on its advantages.
  • Users are eager to see practical applications and projects that can leverage the new features of the RP2350.
Link Icon 53 comments
By @TaylorAlexander - 5 months
This is very exciting! For the last several years I have been developing a brushless motor driver based on the RP2040 [1]. The driver module can handle up to 53 volts at 30A continuous, 50A peak. I broke the driver out to a separate module recently which is helpful for our farm robot and is also important for driver testing as we improve the design. However this rev seems pretty solid, so I might build a single board low cost integrated single motor driver with the RP2350 soon! With the RP2040 the loop rate was 8khz which is totally fine for big farm robot drive motors, but some high performance drivers with floating point do 50khz loop rate.

My board runs SimpleFOC, and people on the forum have been talking about building a flagship design, but they need support for sensorless control as well as floating point, so if I use the new larger pinout variant of the RP2350 with 8 ADC pins, we can measure three current signals and three bridge voltages to make a nice sensorless driver! It will be a few months before I can have a design ready, but follow the git repo or my twitter profile [2] if you would like to stay up to date!

[1] https://github.com/tlalexander/rp2040-motor-controller

[2] https://twitter.com/TLAlexander

By @ryukoposting - 5 months
I can't imagine someone using an RP2040 in a real product, but the RP2350 fixes enough of my complaints that I'd be really excited to give it a shot.

There's a lot going for the 2040, don't get me wrong. TBMAN is a really cool concept. It overclocks like crazy. PIO is truly innovative, and it's super valuable for boatloads of companies looking to replace their 8051s/whatever with a daughterboard-adapted ARM core.

But, for every cool thing about the RP2040, there was a bad thing. DSP-level clock speeds but no FPU, and no hardware integer division. A USB DFU function embedded in boot ROM is flatly undesirable in an MCU with no memory protection. PIO support is extremely limited in third-party SDKs like Zephyr, which puts a low ceiling on its usefulness in large-scale projects.

The RP2350 fixes nearly all of my complaints, and that's really exciting.

PIO is a really cool concept, but relying on it to implement garden-variety peripherals like CAN or SDMMC immediately puts RP2350 at a disadvantage. The flexibility is very cool, but if I need to get a product up and running, the last thing I want to do is fiddle around with a special-purpose assembly language. My hope is that they'll eventually provide a library of ready-made "soft peripherals" for common things like SD/MMC, MII, Bluetooth HCI, etc. That would make integration into Zephyr (and friends) easier, and it would massively expand the potential use cases for the chip.

By @blackkat - 5 months
Some specs here: https://www.digikey.ca/en/product-highlight/r/raspberry-pi/r...

Based on the RP2350, designed by Raspberry Pi in the United Kingdom

Dual Arm M33s at 150 MHz with FPU

520 KiB of SRAM

Robust security features (signed boot, OTP, SHA-256, TRNG, glitch detectors and Arm TrustZone for Cortex®-M)

Optional, dual RISC-V Hazard3 CPUs at 150 MHz

Low-power operation

PIO v2 with 3 × programmable I/O co-processors (12 × programmable I/O state machines) for custom peripheral support

Support for PSRAM, faster off-chip XIP QSPI Flash interface

4 MB on-board QSPI Flash storage

5 V tolerant GPIOs

Open source C/C++ SDK, MicroPython support

Software-compatible with Pico 1/RP2040

Drag-and-drop programming using mass storage over USB

Castellated module allows soldering directly to carrier boards

Footprint- and pin-compatible with Pico 1 (21 mm × 51 mm form factor)

26 multifunction GPIO pins, including three analog inputs

Operating temperature: -20°C to +85°C

Supported input voltage: 1.8 VDC to 5.5 VDC

By @kaycebasques - 5 months
Big day for my team (Pigweed)! Some of our work got mentioned in the main RP2350/Pico2 announcement [1] but for many months we've been working on a new end-to-end SDK [2] built on top of Bazel [3] with support for both RP2040 and RP2350, including upstreaming Bazel support to the Pico SDK. Our new "Tour of Pigweed" [4] shows a bunch of Pigweed features working together in a single codebase, e.g. hermetic builds, on-device unit tests, RPC-centric comms, factory-at-your-desk testing, etc. We're over in our Discord [5] if you've got any questions

[1] https://www.raspberrypi.com/news/raspberry-pi-pico-2-our-new...

[2] https://opensource.googleblog.com/2024/08/introducing-pigwee...

[3] https://blog.bazel.build/2024/08/08/bazel-for-embedded.html

[4] https://pigweed.dev/docs/showcases/sense/

[5] https://discord.gg/M9NSeTA

By @synergy20 - 5 months
You can pick either ARM cores or RISC-V cores on the same die? Never saw design like this before. Will this impact price and power consumption?

"The Hazard3 cores are optional: Users can at boot time select a pair of included Arm Cortex-M33 cores to run, or the pair of Hazard3 cores. Both options run at 150 MHz. The more bold could try running one RV and one Arm core together rather than two RV or two Arm.

Hazard3 is an open source design, and all the materials for it are here. It's a lightweight three-stage in-order RV32IMACZb* machine, which means it supports the base 32-bit RISC-V ISA with support for multiplication and division in hardware, atomic instructions, bit manipulation, and more."

By @kaycebasques - 5 months
By @vardump - 5 months
RP2040 had Doom ported to it. https://kilograham.github.io/rp2040-doom/

RP2350 looks very much like it could potentially run Quake. Heck, some of the changes almost feel like they're designed for this purpose.

FPU, two cores at 150 MHz, overclockable beyond 300 MHz and it supports up to 16 MB of PSRAM with hardware R/W paging support.

By @nimish - 5 months
Gross, the dev board uses micro-USB. It's 2024! Otherwise amazing work. Exactly what's needed to compete with the existing giants.
By @mastax - 5 months
It's a bit surprising that they put so much effort into security for the second microcontroller from a young consumer-oriented* company. My first instinct was to distrust it's security, simply due to lack of experience. However, the "experienced" vendors' secure micros have lots of known security bugs and, more crucially, a demonstrated desire to sweep them under the rug. Two security architecture audits, a $10k bug bounty, and designing a board for glitching as the DEF CON badge shows a pretty big commitment to security. I'm curious about how the Redundancy Coprocessor works. I still wouldn't be surprised if someone breaks it, at least partially.

* By perception at least. They have been prioritizing industrial users from a revenue and supply standpoint, it seems.

By @elipsitz - 5 months
Can’t find an official announcement or datasheet yet, but according to this post:

* 2x Cortex-M33F * improved DMA * more and improved PIO * external PSRAM support * variants with internal flash (2MB) and 80 pins (!) * 512KiB ram (double) * some RISC-V cores? Low power maybe?

Looks like a significant jump over the RP2040!

By @jsheard - 5 months
Speak of the devil: https://news.ycombinator.com/item?id=41156743

Very nice that the "3" turned out to mean the modern M33 core rather than the much older M3 core. It has a real FPU!

By @jonathrg - 5 months
Can someone explain the benefit of having essentially 4 cores (2 ARM + 2 RISC-V) on the chip but only having 2 able to run simultaneously? Does this take significantly less die space than having all 4 available at all times?
By @swetland - 5 months
Lots of nice improvements here. The RISC-V RV32I option is nice -- so many RV32 MCUs have absurdly tiny amounts of SRAM and very limited peripherals. The Cortex M33s are a biiig upgrade from the M0+s in the RP2040. Real atomic operations. An FPU. I'm exited.
By @numpad0 - 5 months
https://www.raspberrypi.com/products/rp2350/

4 variants? "A" and "B" variants in QFN60 and QFN80, "2350" and "2354" variants with and without 2MB Flash. CPU can be switched between dual RISC-V @ 150MHz or dual Cortex-M33 @ 300MHz by software or in one-time programming memory(=permanently).

Datasheet, core switching details, most of docs are 404 as of now; I guess they didn't have embargo date actually written in `crontab`.

e: and datasheet is up!

By @jackwilsdon - 5 months
I'm most excited for the partition and address translation support - partitions can be mapped to the same address for A/B boot slots (and it supports "try before you buy" to boot into a slot temporarily). No more compiling two copies for the A and B slots (at different addresses)!
By @gchadwick - 5 months
This looks awesome a really great step up from the RP2040. I'm a big fan of the original and I'm excited to see all the improvements and upgrades.

I imagine with the new secure boot functionality they've got a huge new range of customers to tempt to.

Also exciting to see them dip their toe into the open silicon waters with the hazard 3 RISCV core https://github.com/Wren6991/Hazard3.

Of course it they'd used Ibex https://github.com/lowrisc/ibex the RISC-V core we develop and maintain at lowRISC that would have been even better but you can't have everything ;)

By @begriffs - 5 months
I see CMSIS definitions for the RP2040 at https://github.com/raspberrypi/CMSIS-RP2xxx-DFP but none for RP2350. Maybe they'll eventually appear in that repo, given its name is RP2xxx? I thought vendors are legally obligated to provide CMSIS definitions when they license an ARM core.
By @jononor - 5 months
Aha, the 3 is for M33, not Cortex M3 (as some speculated based on the name). That makes a lot more sense! Integrated FPU is a big improvement over the RP2040, and M33 is a modern but proven core.
By @ralferoo - 5 months
I presume the article was edited to change its headline after it was submitted to HN, but it's interesting that it doesn't match up with the HN title. It's still a subjective but positive title, but somehow feels like it has a different tone to the title on HN:

HN: "I got almost all of my wishes granted with RP2350"

Article: "Why you should fall in love with the RP2350"

title tag: "Introducing the RP2350"

By @maccam912 - 5 months
Can anyone speak about plans for a Pico 2 W (or Pico W 2)? I've been playing around recently with mine and even just syncing with the current time over wifi opens up a lot of possibilities.
By @tecleandor - 5 months
Not off topic but a bit tangentially...

How difficult would be emulating an old SRAM chip with an RP2040 or an RP2350? It's an early 80s (or older) 2048 word, 200ns access time CMOS SRAM that is used to save presets on an old Casio synth. It's not a continuous memory read, it just reads when loading the preset to memory.

I feel like PIO would be perfect for that.

By @GeorgeTirebiter - 5 months
What is the process node used? Who is fabbing this for them? Given that the new chip is bigger, my guess is the same (old) process node is being used. RP2040 is manufactured on a 40nm process node.

Whoops, I read the fine print: RP2350 is manufactured on a 40nm process node.

By @mmmlinux - 5 months
And still no USB C on the official devboard.
By @weinzierl - 5 months
This is fantastic news. Is there information on power consumption? This is something that precludes a good deal of use cases for the RP2040 unfortunately and any improvements here would be good, but maybe the RP's are just not made for ultra low power?
By @kvemkon - 5 months
> 1 × USB 1.1 controller and PHY, with host and device support

Sure, after integrating USB 2.0 HS or 1Gb-Ethernet the pico2-board will cost more than $5. So, integrated high-speed interfacing with PC was not a nice-to-have option (for special chip flavor)?

By @boznz - 5 months
> I got almost all of my wishes granted with RP2350

I got all mine, these guys really listened to the (minor) criticisms of the RP2040 on their forums and knocked them out of the ball park. Cant wait to get my hands on real hardware. Well done guys

By @SethTro - 5 months
This has 2 of the 3 features (float support, faster clock) + more POI that was keeping me on ESP32. For projects that need wifi, and can tolerate the random interrupts, I'll stick with ESP32.
By @TheCipster - 5 months
While I completely agree with the content of the post, I still think that QFN packages in general, and RP2350's in particular, are very hobbyist-averse.

Moving all GND pins to the bottom pad makes this chip usable only by people with a reflow oven. I really hoped to see at least a version released as (T)QFP.

By @urbandw311er - 5 months
I absolutely love this guy’s enthusiasm.
By @zrail - 5 months
Looks like the SDK got updated a couple hours ago:

https://github.com/raspberrypi/pico-sdk/commit/efe2103f9b284...

By @anyfoo - 5 months
> > I was not paid or compensated for this article in any way

> However the Raspberry Pi engineer in question WAS compensated for the samples, in the form of a flight over downtown Austin in Dmitry's Cirrus SR22.

Hahah, I’ve been in that plane. Only in my case, it was a flight to a steak house in central California, and I didn’t actually do anything to get “compensated”, I was just at the right place at the right time.

Anyway, I am extremely excited about this update, RPi are knocking it out of the park. That there is a variant with flash now is a godsend by itself, but the updates to the PIO and DMA engines make me dream up all sorts of projects.

By @katzinsky - 5 months
I suppose this isn't the first time a company that started out as a hobbiest board manufacturer produced really amazing micro controllers but man is it insane how far they've knocked the ball out of the park.
By @ChrisArchitect - 5 months
Related:

Raspberry Pi Pico 2, our new $5 microcontroller board, on sale now

https://news.ycombinator.com/item?id=41192341

By @RA2lover - 5 months
Is there any info on the analog capabilities compared to the RP2040?
By @bschwindHN - 5 months
Alright, what's the max image resolution/framerate someone is going to pump out with the HSTX peripheral?
By @doe_eyes - 5 months
I think it's a good way to introduce these chips, and it's a great project, but the author's (frankly weird) beef with STM32H7 is detracting from the point they're trying to make:

> So, in conclusion, go replan all your STM32H7 projects with RP2350, save money, headaches, and time.

STM32H7 chips can run much faster and have a wider selection of peripherals than RP2350. RP2350 excels in some other dimensions, including the number of (heterogenous) cores. Either way, this is nowhere near apples-to-apples.

Further, they're not the only Cortex-M7 vendor, so if the conclusion is that STM32H7 sucks (it mostly doesn't), it doesn't follow that you should be instead using Cortex-M33 on RPi. You could be going with Microchip (hobbyist-friendly), NXP (preferred by many commercial buyers), or a number of lesser-known manufacturers.

By @limpbizkitfan - 5 months
Is there an exhaustive list of stm32h7 errata? Has anyone compiled a defect list?
By @amelius - 5 months
> So, in conclusion, go replan all your STM32H7 projects with RP2350, save money, headaches, and time.

Except the STM32H7 series goes up until 600MHz.

Overclocking is cool, but you can't do that on most commercial projects.

By @tibbon - 5 months
Thanks for making the DEF CON badge! 10000x cooler than last year
By @ckemere - 5 months
I wish there was a way to share memory with a Pi. The PIO looks great for high speed custom IO, but 100Mb scale interface to/from it is quite hard/unsolved.
By @rowanG077 - 5 months
Would the pio now support sane Ethernet using rmii for example?
By @fouronnes3 - 5 months
Curious about the low-power and sleep mode improvements!
By @boznz - 5 months
This is amazing IP; it makes you wonder if the RPi foundation could be a target for Aquisition by one of the big microcontroller manufacturers.
By @294j59243j - 5 months
But still USB-micro instead of USB-C. Raspberry Picos are literally the one and only reason why I still own any older USB cables.
By @v1ne - 5 months
Hmm, it's really nice that they fixed so many complaints. But honestly, reading the errata sheet, I had to chuckle that Dmitry didn't tear this chip to pieces.

I mean, there's erratums about obscure edge cases, about miniscule bugs. Sure, mistakes happen. And then there's this: Internal pull-downs don't work reliably.

Workaround: Disconnect digital input and only connect while you're reading the value. Well, great! Now it takes 3 instructions to read data from a port, significantly reducing the rate at which you can read data!

I guess it's just rare to have pull-downs, so that's naturally mitigating the issue a bit.

By @andylinpersonal - 5 months
In terms of security features, it lacks on-the-fly external memory (flash and PSRAM) encryption and decryption as ESP32 and some newer STM32s did. Decrypting by custom OTP bootloader and running entirely in the internal SRAM maybe sometimes limited for larger firmware.
By @amelius - 5 months
How easy is it to share memory between two of these processors?
By @endorphine - 5 months
Can someone explain what projects this can be used for?
By @hashtag-til - 5 months
The disclaimer is brutally honest. I love it.
By @Taniwha - 5 months
New BusPirate 5XL&6 also dropping today - use the 3250

https://buspirate.com/

By @brcmthrowaway - 5 months
Why would I pick this over esp32 if I need to get shit done
By @1oooqooq - 5 months
> It overclocks insanely well

says the guy with engineering samples and creme of the creme silicon parts... i expect most that will actually be available when they do to their normal schedule of scraping the literal bottom of the barrel to keep their always empty stocks that will not be the case.