1. Introduction
The TENSTAR RP2040-Zero is a compact and powerful microcontroller module designed by Raspberry Pi, featuring the RP2040 chip. This module is ideal for a wide range of embedded projects, offering a dual-core ARM Cortex M0+ processor, flexible clock speeds up to 133MHz, and ample memory for complex applications. Its stamp-hole design allows for direct integration into custom base plates, making it versatile for both prototyping and production.
This manual provides essential information for setting up, operating, and maintaining your RP2040-Zero module.
Figure 1: TENSTAR RP2040-Zero Modules and Pin Headers
2. Specifications
The RP2040-Zero module boasts the following technical specifications:
- Microcontroller: RP2040 (designed by Raspberry Pi)
- Processor: Dual-core ARM Cortex M0+
- Clock Speed: Up to 133MHz (flexible)
- SRAM: 264KB
- Flash Memory: 2MB (on-chip)
- Connectivity: USB 1.1 host and device support
- Power Modes: Low-power sleep and hibernation modes
- GPIO Pins: 29 (20 accessible via row pins, others via welding)
- Peripherals:
- 2 x SPI
- 2 x I2C
- 2 x UART
- 4 x 12-bit ADCs
- 16 x Controllable PWM channels
- 8 x Programmable I/O (PIO) state machines
- Additional Features: Accurate on-chip clock and timer, Temperature sensor, On-chip accelerated floating-point library
- Supply Voltage: 5V
- Package Type: DIP
- Condition: New
- Operating Temperature: 1 (unit not specified, typically Celsius or Fahrenheit range)
- Dimensions: Approximately 23.3mm x 17.9mm
Figure 2: RP2040-Zero Pinout and Component Diagram
Key Components:
- USB Type-C connector
- WS2812B RGB LED
- BOOT Button (Press when resetting to enter download mode)
- RESET button
- ME621 low dropout LDO, max current 800mA
- RP2040 dual-core processor, up to 133MHz operating frequency
- RP2040 pins
3. Package Contents
Each package typically includes:
- 2 x TENSTAR RP2040-Zero Microcontroller Modules
- Pin Headers (for soldering)
Video 1: Unboxing and initial look at the RP2040-Zero module and included pin headers.
4. Setup Guide
Follow these steps to get your RP2040-Zero module ready for use:
4.1. Soldering Pin Headers (Optional but Recommended)
The RP2040-Zero module comes with separate pin headers. For easy prototyping with breadboards or custom PCBs, it is recommended to solder these headers onto the module's stamp holes.
- Insert the pin headers into a breadboard or a soldering jig to hold them steady.
- Place the RP2040-Zero module onto the pin headers, ensuring all pins align with the module's holes.
- Carefully solder each pin to the module's pads. Ensure good solder joints without bridging adjacent pins.
4.2. Connecting to a Computer
The RP2040-Zero can be connected to your computer via its USB Type-C port.
- Connect one end of a USB Type-C cable to the RP2040-Zero module.
- Connect the other end of the USB cable to an available USB port on your computer.
- To enter bootloader mode for programming, press and hold the BOOT button (3 in Figure 2) while connecting the USB cable, then release the BOOT button. The module will appear as a mass storage device (RPI-RP2) on your computer.
4.3. Software Setup
To program the RP2040-Zero, you will need a suitable development environment. Popular options include:
- MicroPython: Easy to get started with Python. Download the UF2 file from the official Raspberry Pi Pico MicroPython page and drag it onto the RPI-RP2 drive when in bootloader mode.
- C/C++ SDK: For more advanced users, the Raspberry Pi Pico C/C++ SDK provides a powerful environment. Refer to the official Raspberry Pi documentation for installation and usage.
- Arduino IDE: The RP2040-Zero can also be programmed using the Arduino IDE with the appropriate board support package.
5. Operating Instructions
Once your development environment is set up, you can begin programming and operating your RP2040-Zero module.
5.1. Uploading Code
The process for uploading code depends on your chosen development environment:
- MicroPython: After flashing the MicroPython firmware, you can use a tool like Thonny IDE to connect to the module's serial port and upload Python scripts.
- C/C++ SDK: Compile your C/C++ code into a UF2 file. Enter bootloader mode (hold BOOT, press RESET, release BOOT), and drag the UF2 file onto the RPI-RP2 drive.
- Arduino IDE: Select the correct board (e.g., Raspberry Pi Pico) and port in the Arduino IDE, then click the upload button. The IDE will handle entering bootloader mode automatically.
5.2. GPIO Usage
The RP2040-Zero provides 29 GPIO pins for interfacing with external components. Refer to Figure 2 for the pinout diagram.
- Digital I/O: Configure pins as inputs or outputs to control LEDs, read button states, etc.
- Analog Input: Use the 4 ADC pins for reading analog sensor values.
- PWM: Utilize the 16 PWM channels for controlling motor speeds, LED brightness, and more.
- Communication Protocols: Implement SPI, I2C, and UART for communication with other microcontrollers, sensors, and displays.
5.3. Power Management
The module supports low-power sleep and hibernation modes to conserve energy in battery-powered applications. Consult the RP2040 datasheet and SDK documentation for details on implementing these modes in your code.
6. Maintenance
To ensure the longevity and optimal performance of your RP2040-Zero module, follow these maintenance guidelines:
- Handle with Care: Avoid dropping the module or subjecting it to excessive force, as this can damage sensitive components.
- Static Discharge: Always handle the module in an ESD-safe environment to prevent damage from electrostatic discharge.
- Cleanliness: Keep the module free from dust, dirt, and moisture. Use a soft, dry brush or compressed air for cleaning. Avoid using liquids or harsh chemicals.
- Storage: Store the module in its original anti-static packaging or a similar protective container when not in use.
- Power Supply: Ensure you provide a stable 5V power supply. Incorrect voltage can damage the module.
7. Troubleshooting
If you encounter issues with your RP2040-Zero module, try the following troubleshooting steps:
| Problem | Possible Cause | Solution |
|---|---|---|
| Module not recognized by computer | Incorrect bootloader mode entry, faulty USB cable, driver issues. |
|
| Code not uploading | Module not in bootloader mode, incorrect board/port selection in IDE, syntax errors in code. |
|
| Module not powering on | No power, faulty USB cable, damaged module. |
|
8. User Tips
- Start Simple: If you're new to microcontrollers, begin with basic examples like blinking an LED or reading a button before moving to more complex projects.
- Utilize Documentation: The official Raspberry Pi Pico documentation and community forums are excellent resources for learning and troubleshooting.
- Power Considerations: When powering external components, be mindful of the 800mA current limit of the on-board LDO. For higher current draws, use an external power supply.
- Experiment with PIO: The Programmable I/O (PIO) state machines are a powerful feature of the RP2040. Experiment with them to implement custom hardware interfaces.
- Keep Firmware Updated: Periodically check for updated MicroPython firmware or C/C++ SDK versions to benefit from new features and bug fixes.
9. Warranty and Support
For specific warranty information and technical support, please refer to the TENSTAR ROBOT Store or the platform where you purchased the product. General support for the RP2040 chip and its ecosystem can be found through the official Raspberry Pi documentation and community resources.
The product is covered by standard consumer guarantees as per local regulations. Please retain your proof of purchase for any warranty claims.