Getting started with the Raspberry Pi RP2350 MCU
A Powerful New Microcontroller with Dual-ISA Support
This article will get you started with the RP2350. Raspberry Pi has once again pushed the boundaries of microcontroller design with the introduction of the RP2350 MCU. This microcontroller is a significant upgrade over the previous RP2040, bringing enhanced performance, advanced security features, and the novel inclusion of dual-ISA support, making it a versatile platform for a wide range of applications.
RP2350 is a symmetric dual-core system. Two cores operate simultaneously and independently, offering high processing throughput and the ability to route interrupts to different cores to improve throughput and latency of interrupt handling. The two cores have a symmetric view of the system bus; all memory resources on RP2350 are accessible equally on both cores, with the same performance.
RP2350 Key Specifications and Features
The RP2350 MCU is built around a quad-core architecture that includes two Arm Cortex-M33 cores and two Hazard3 RISC-V cores. This dual-ISA configuration is a standout feature, allowing developers to choose between Arm and RISC-V instruction sets, which can be selected at boot time. The flexibility provided by this architecture opens up new possibilities for developers who are looking to explore RISC-V or leverage the existing Arm ecosystem.
RP2350 Clock Speed
The RP2350 can operate at a base clock speed of 150 MHz, which is a significant boost over its predecessor RP2040.
RP2350 Memory
It features 520 KB of on-chip SRAM, double the amount found in the RP2040, and offers optional 2 MB internal flash storage.
In addition to the internal memory you can naturally add an external FLASH memory up to 16MByte in size. A new feature of the RP2350 is that it now also supports PSRAM to be added to the device. A GPIO pin can be dedicated to be used as a chip select signal for the PSRAM which then ties in to the XIP system, allowing the allocated memory region to be used seamlessly to the system.
RP2350 Security features
The RP2350 includes advanced security features such as Arm TrustZone, SHA-256 acceleration, a hardware random number generator (RNG), and 8 KB of one-time programmable (OTP) memory for secure key storage. These features are critical for applications requiring robust security, such as IoT devices.
RP2350 Peripheral Support
The Rp2350 provides a rich set of peripherals, including 2 × UARTs, 2 × SPI controllers, 2 × I2C controllers, 24 × PWM channels, and a USB 1.1 controller with host and device support. Additionally, it includes 12 PIO (Programmable I/O) state machines, a feature that was highly praised in the RP2040.
Packaging and Power Efficiency
The RP2350 is available in two space-efficient QFN packages: QFN-80 (10 × 10 mm) and QFN-60 (7 × 7 mm). These compact packages are designed for use in embedded systems where space is at a premium. The microcontroller also features several low-power states, making it suitable for battery-operated applications.
RP2350 Developer Experience and Ecosystem
Raspberry Pi has always been known for its focus on a robust developer experience, and the RP2350 is no exception. The MCU is supported by comprehensive documentation, ensuring that both beginners and experienced developers can quickly get up to speed. Additionally, the inclusion of RISC-V cores is a significant step towards embracing open-source hardware, further expanding the Raspberry Pi ecosystem.
Developers can leverage popular toolchains such as GCC and LLVM, and there is also support for debugging with OpenOCD. This makes the RP2350 an attractive option for those looking to experiment with or transition to RISC-V, while still having access to the familiar Arm development environment.
The RP2350 enjoys robust support from both Adafruit and the Arduino community, making it highly accessible for developers. Adafruit has ensured CircuitPython support for the RP2350, allowing users to easily program the microcontroller using Python, a beginner-friendly language popular in the maker community. This integration simplifies rapid prototyping and experimentation with embedded systems.
Arduino support for the RP2350 is provided through the work of Earle Philhower and iLabs, who have extended the popular Arduino IDE to include this new microcontroller. This enables developers to program the RP2350 using the familiar Arduino environment, benefiting from its extensive libraries and community support. This dual support from both CircuitPython and Arduino makes the RP2350 an excellent choice for both beginners and experienced developers to get you started working on embedded RP2350 projects.
Applications and Use Cases
The RP2350 is poised to be a popular choice for a wide range of applications, from IoT devices to educational tools. Its dual-ISA support and strong security features make it particularly well-suited for secure embedded systems and low-power applications. Moreover, its rich peripheral set and programmability via PIO make it an ideal candidate for custom hardware projects and rapid prototyping.
In conclusion, the RP2350 represents a significant leap forward in microcontroller technology for Raspberry Pi. It combines high performance, versatility, and security in a compact package, ensuring that it will find a home in many future projects and products.
For more detailed technical specifications, you can refer to the official Raspberry Pi product page.
iLabs boards
Check out these great boards that uses the RP2350 and will get you started experimenting with the RP2350.
0 Comments for “Getting started with the RP2350”