1. Introduction
The Waveshare RP2350-PiZero is a high-performance and cost-effective microcontroller development board. It is designed around the Raspberry Pi RP2350B dual-core microcontroller, offering flexible processing capabilities for various embedded applications.
Key features include:
- Dual-Core and Dual-Architecture Design: Powered by dual ARM Cortex-M33 or dual Hazard3 RISC-V processors, with clock speeds up to 150 MHz.
- Expandable Memory: Features 520KB of Static RAM (SRAM) and 16MB of onboard Flash memory. Reserved solder pads are available for PSRAM chip expansion.
- Comprehensive Connectivity: Includes a DVI interface for HDMI screens, a TF card slot for storage, and a PIO-USB port for versatile connections.
- Mobile-Friendly Power: Equipped with a Type-C connector for power and data, and a lithium battery recharge/discharge header for portable applications.
- Extensive I/O: Provides 5 multi-function GPIO pins, SPI, I2C, UART, ADC, PWM, and 12 programmable I/O state machines for peripheral customization.

Figure 1: Overview of the Waveshare RP2350-PiZero Development Board.
Video 1: An official overview of the RP2350-PiZero Development Board, highlighting its dual-core architecture, memory, and various interfaces. This video provides a visual introduction to the board's capabilities and features.
2. Package Contents
The standard package for the RP2350-PiZero Development Board includes the following items:
- RP2350-PiZero Development Board x1

Figure 2: Contents of the RP2350-PiZero Development Board package.
3. Board Layout and Components
Understanding the layout of the RP2350-PiZero board is crucial for proper setup and operation. Refer to the diagram below for component identification.

Figure 3: Labeled diagram of the RP2350-PiZero Development Board components.
- RP2350B: Dual-core and dual-architecture design, up to 150 MHz operating frequency.
- USB Type-C connector: For programming, USB 1.1 device and host support.
- PIO-USB port: For using as a USB host or device via PIO.
- DVI interface (Mini HDMI connector): For driving DVI screens with an HDMI cable.
- TF card slot: Supports SPI and SDIO interface communication.
- 16MB NOR-Flash.
- PSRAM chip solder pads: Compatible with mainstream PSRAM chips for user expansion (soldering required).
- RUN button: Resets the board.
- BOOT button: Press and hold while resetting to enter download mode.
- Lithium battery header: PH2.0 header, for connecting a 3.7V Lithium battery, allows recharging/discharging the battery.
- 40PIN GPIO header: Compatible with some Raspberry Pi HATs.
- Debug interface.
4. Specifications
| Feature | Description |
|---|---|
| Model Name | RP2350-PiZero |
| CPU Speed | 150 MHz |
| Processor Brand | ARM (Cortex-M33) / Hazard3 RISC-V |
| RAM Memory | 520KB SRAM |
| Onboard Flash | 16MB |
| Connectivity | DVI, TF card slot, USB Type-C, PIO-USB, GPIO, I2C, UART, SPI |
| Operating System | Linux (supported development environments) |
| Power Features | Type-C power, Lithium battery recharge/discharge header |
| Dimensions | 65.00mm x 30.00mm (approximate, refer to Figure 4) |

Figure 4: Outline dimensions of the RP2350-PiZero Development Board.
5. Setup
5.1 Initial Power and Connectivity
- Power Supply: Connect the RP2350-PiZero to a 5V power source using the USB Type-C connector. Alternatively, a 3.7V Lithium battery can be connected to the PH2.0 header.
- TF Card: Insert a formatted TF card into the TF card slot if external storage is required.
- DVI Display: Connect a DVI-compatible display using an HDMI cable to the Mini HDMI (DVI) interface.
- USB Peripherals: Use the PIO-USB port to connect USB host or device peripherals as needed.
- GPIO Connections: Utilize the 40PIN GPIO header for connecting various sensors, actuators, or Raspberry Pi HATs.
5.2 Software Development Environment
The RP2350-PiZero supports multiple development environments:
- Pico C/C++ SDK: The official Raspberry Pi C SDK can be used from the command line or integrated development environments like VSCode and Eclipse.
- MicroPython: A full implementation of the Python 3 programming language for embedded hardware.
- Arduino IDE: An open-source electronic prototyping platform.
Note: The DVI and PIO-USB functions are primarily supported in a C environment and cannot be used simultaneously.

Figure 5: Supported software development environments for the RP2350-PiZero.
5.3 Firmware Upload
To upload firmware, connect the board to your computer via the USB Type-C port. Press and hold the BOOT button, then press the RUN button to enter download mode. The board will appear as a mass storage device, allowing you to drag and drop firmware files.
6. Operating the Board
6.1 General Operation
Once programmed, the RP2350-PiZero will execute the loaded firmware upon power-up or reset. The dual-core architecture allows for complex tasks and real-time processing.
6.2 Using Peripherals
- GPIO: Configure the 5 multi-function GPIO pins for digital input/output, PWM, or other specialized functions as defined by your program.
- SPI, I2C, UART: These serial communication interfaces are available for connecting various modules and sensors. Refer to the RP2350B datasheet and SDK documentation for specific pin assignments and usage.
- ADC: The 2 x 12-bit ADC channels allow for analog signal input.
- PWM: Utilize the 16 controllable PWM channels for applications requiring pulse-width modulation.
- DVI Output: The DVI interface provides video output to compatible displays.
- PIO-USB: This programmable I/O USB port can be configured for custom USB device or host functionalities.

Figure 6: Examples of the RP2350-PiZero connected to various displays via its DVI and PIO-USB interfaces.
6.3 Low-Power Modes
The RP2350-PiZero supports low-power sleep and dormant modes, which can be utilized to optimize power consumption in battery-powered applications.
7. Maintenance
To ensure the longevity and reliable operation of your RP2350-PiZero Development Board, follow these maintenance guidelines:
- Handle with Care: Avoid dropping the board or subjecting it to physical shock.
- Static Electricity: Always handle the board in an anti-static environment to prevent damage from electrostatic discharge.
- Cleanliness: Keep the board free from dust, dirt, and moisture. Use a soft, dry brush or compressed air for cleaning. Avoid liquid cleaners.
- Storage: Store the board in a cool, dry place away from direct sunlight and extreme temperatures.
- Power Off: Disconnect power before connecting or disconnecting any peripherals or making changes to the wiring.
8. Troubleshooting
This section addresses common issues you might encounter with the RP2350-PiZero Development Board.
8.1 Board Not Powering On
- Ensure the USB Type-C cable is securely connected to a reliable 5V power source.
- If using a battery, verify it is charged and correctly connected to the PH2.0 header.
- Check the power indicator LED on the board (if present) for activity.
8.2 Firmware Upload Issues
- Confirm the board is in download mode (hold BOOT, press RUN, then release RUN and BOOT).
- Ensure the USB cable is a data cable, not just a charging cable.
- Try a different USB port or cable.
- Verify that the correct firmware file is being used and that it is compatible with the RP2350B.
8.3 Peripheral Conflicts (e.g., SPI)
Some users have reported conflicts when using the TF card (which uses SPI1) simultaneously with other SPI devices connected to the 40-pin header, as these may also utilize SPI1. This can lead to errors where SPI1 is reported as already in use.
- Check Pin Assignments: Carefully review the pinout diagrams and your code to ensure that different peripherals are not attempting to use the same SPI bus or pins simultaneously.
- Software Configuration: In environments like CircuitPython, direct SDIO support on the RPi might be limited, leading to SPI conflicts. Consider alternative libraries or configurations if available for your chosen development environment.
- Hardware Alternatives: If simultaneous operation is critical, consider using peripherals that utilize different communication interfaces or alternative pin configurations if your project allows.
8.4 General Debugging Tips
- Use the dedicated debug interface for advanced debugging with appropriate tools.
- Refer to the Waveshare Wiki and Raspberry Pi RP2350 documentation for detailed technical information and community support.
9. Warranty Information
The Waveshare RP2350-PiZero Development Board comes with a 1-year warranty from the date of purchase. This warranty covers manufacturing defects and ensures the product meets its specified performance. For warranty claims or service, please contact Waveshare customer support with your proof of purchase.
10. Support and Resources
For additional information, technical documentation, and community support, please refer to the following resources:
- Waveshare Official Wiki: Access comprehensive resources, SDKs, and open-source tutorials to facilitate development. Visit the Waveshare RP2350-PiZero Wiki Page for detailed guides and examples.
- Raspberry Pi Documentation: For in-depth information on the RP2350 microcontroller, refer to the official Raspberry Pi documentation.
- Customer Support: For specific inquiries or technical assistance, contact Waveshare customer support through their official channels.





