1. Produit terminéview
The Waveshare RP2040-Zero is a compact, high-performance microcontroller unit (MCU) board designed around the Raspberry Pi RP2040 chip. This board is ideal for a wide range of embedded applications, offering a powerful dual-core Arm Cortex M0+ processor with flexible clock speeds up to 133 MHz. It integrates 264KB of SRAM and 2MB of on-board Flash memory, providing ample resources for complex projects. Its castellated module design allows for direct soldering onto carrier boards, making it suitable for SMD applications. The inclusion of a modern USB-C connector enhances ease of use and connectivity.

Figure 1 : Face avant view of the Waveshare RP2040-Zero Microcontroller Board.
2. Principales caractéristiques
- RP2040 Microcontroller Chip: Designed by Raspberry Pi, featuring a dual-core Arm Cortex M0+ processor.
- Flexible Clock Speed: Operates up to 133 MHz.
- Mémoire: Equipped with 264KB of SRAM and 2MB of on-board Flash memory.
- Connecteur USB-C: Modern and reversible connector for power and data.
- Castellated Module: Enables direct soldering to custom carrier boards for integrated designs.
- Prise en charge USB 1.1 : Includes both device and host capabilities.
- Modes d'alimentation : Supports low-power sleep and dormant modes for energy efficiency.
- Programmation: Features drag-and-drop programming via mass storage over USB.
- Broches GPIO : 29 multi-function GPIO pins (20 via edge pinout, others via solder points).
- Périphériques : 2 × SPI, 2 × I2C, 2 × UART, 4 × 12-bit ADC, 16 × controllable PWM channels.
- Composants internes : Accurate clock and timer on-chip, temperature sensor, accelerated floating-point libraries.
- Machines à états PIO : 8 × Programmable I/O (PIO) state machines for custom peripheral support.
3. Installation
3.1 connexion physique
To begin using your Waveshare RP2040-Zero, connect it to your computer using a standard USB-C cable. The board will typically appear as a mass storage device, allowing for easy firmware upload. Ensure the cable is securely connected to both the board's USB-C port and your computer's USB port.

Figure 2: The RP2040-Zero board, showing the USB-C port for connection.
3.2 Schéma de brochage
Understanding the pinout is crucial for connecting external components and utilizing the board's full capabilities. The RP2040-Zero provides various GPIO pins, power pins (5V, 3V3, GND), and dedicated peripheral pins (SPI, I2C, UART, ADC, PWM). Refer to the diagram below for a detailed layout.

Figure 3: Detailed pinout diagram for the Waveshare RP2040-Zero, indicating multi-function GPIOs and power connections.
3.3 Environnement de programmation
The RP2040-Zero supports multiple programming environments, offering flexibility for developers:
- Pico C/C++ SDK: The official C SDK from Raspberry Pi, suitable for command-line development or integration with IDEs like Visual Studio Code and Eclipse.
- MicroPython : A full implementation of the Python 3 programming language optimized for embedded hardware like the Raspberry Pi Pico.
- IDE Arduino : Compatibility with the Arduino IDE allows for familiar development using Arduino sketches.

Figure 4: Illustration of C/C++ SDK and MicroPython support for the RP2040-Zero.
For a visual introduction to the RP2040-Tiny (a similar board from Waveshare), including its features and programming capabilities, please watch the video below:
Vidéo 1 : Terminéview of the RP2040 Tiny Kit, demonstrating its features and programming support.
4. Fonctionnement
4.1 Boutons de démarrage et de réinitialisation
The RP2040-Zero features two tactile buttons: BOOT and RESET. These buttons are essential for controlling the board's state and uploading new firmware.
- Bouton BOOT : Press and hold this button while connecting the USB-C cable to enter USB mass storage mode, which allows you to drag-and-drop firmware files onto the board.
- Bouton de réinitialisation: Press this button to restart the microcontroller. This is useful after uploading new code or if the board becomes unresponsive.

Figure 5: Labeled components of the RP2040-Zero board, highlighting the BOOT and RESET buttons.
4.2 Drag-and-Drop Programming
One of the most user-friendly features of the RP2040-Zero is its drag-and-drop programming capability. When the board is in bootloader mode (by holding the BOOT button during connection), it appears as a removable drive on your computer. You can then simply drag and drop a compiled firmware file (.uf2 format) onto this drive. The board will automatically flash the new firmware and reboot.
5. Entretien
To ensure the longevity and optimal performance of your Waveshare RP2040-Zero, follow these general maintenance guidelines:
- À manipuler avec précaution : Avoid dropping the board or subjecting it to excessive physical stress.
- Protection statique : Always handle the board in an anti-static environment or use appropriate grounding measures to prevent electrostatic discharge (ESD) damage.
- Garder au sec : Protect the board from moisture and liquids, which can cause short circuits and corrosion.
- Propreté: Veillez à ce que le tableau reste propre et exempt de poussière et de débris. Utilisez une brosse douce et sèche ou de l'air comprimé pour le nettoyer si nécessaire.
- Stockage approprié : Lorsqu'elle n'est pas utilisée, rangez la carte dans son emballage d'origine ou dans un sac antistatique, dans un endroit frais et sec.
6. Dépannage
If you encounter issues with your RP2040-Zero, consider the following troubleshooting steps:
- Carte non reconnue par l'ordinateur :
- Ensure the USB-C cable is fully inserted and functional. Try a different cable or USB port.
- Verify the board is in bootloader mode (hold BOOT button while connecting USB).
- Check if necessary drivers are installed for your operating system (though often not required for RP2040).
- Échec du chargement du firmware :
- Confirm the firmware file is in the correct .uf2 format.
- Ensure the board is in bootloader mode before dragging the file.
- Check for sufficient free space on the board's flash memory (if applicable for your specific firmware).
- Code Not Running as Expected:
- Double-check your code for syntax errors or logical flaws.
- Verify that all external components are correctly wired according to the pinout diagram.
- Use serial debugging to output messages and identify where the code might be failing.
- Problèmes d'alimentation :
- Ensure your USB power source provides adequate current.
- Inspect the board for any visible damage or short circuits.
7. Spécifications techniques
| Fonctionnalité | Spécification |
|---|---|
| Processeur | Dual-core Arm Cortex M0+ |
| Vitesse du processeur | Jusqu'à 133 MHz |
| Mémoire SRAM | 264 Ko |
| Mémoire flash | 2 Mo |
| Connecteur USB | USB-C |
| USB standard | USB 1.1 (Device and Host support) |
| Broches GPIO | 29 (20 via edge pinout) |
| Canaux ADC | 4 × 12-bit |
| Chaînes PWM | 16 × controllable |
| PIO State Machines | 8 |
| Prise en charge du système d'exploitation | FreeRTOS (and others via SDKs) |
| Dimensions | 23 mm x 18 mm (environ 0.90 x 0.70 pouces) |
| Poids de l'article | 0.704 onces |
8. Assistance et ressources
For further assistance, detailed documentation, and community support, please refer to the official Waveshare resources:
- Waveshare Wiki/Documentation: Visit the Waveshare official website for comprehensive guides, tutorials, and technical specifications specific to the RP2040-Zero.
- Raspberry Pi Pico Documentation: As the RP2040-Zero is based on the RP2040 chip, much of the official Raspberry Pi Pico documentation and SDK information is directly applicable.
- Forums communautaires : Engage with the broader Raspberry Pi and embedded systems communities for project ideas, troubleshooting tips, and shared knowledge.





