RP2040-Zero: Difference between revisions

Rita (talk | contribs)
Rita (talk | contribs)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{GD Template Impl}}
{{GD Template Impl}}
[[|thumb|RP2040-Zero]]
[[File:RP2040-Zero-04.jpg|thumb|RP2040-Zero]]
[[|thumb|RP2040-Zero]]
[[File:RP2040-Zero-07.jpg|thumb|RP2040-Zero Interface]]
[[|thumb|RP2040-Zero]]
[[File:RP2040-Zero-03.jpg|thumb|RP2040-Zero]]
[[File:RP2040-Zero-05.jpg|thumb|RP2040-Zero application]]


==Overview==
==Overview==
''' RP2040-Zero  ''' is a tiny, low-cost Pico-compatible microcontroller module based on Raspberry Pi RP2040 dual-core chip. Its castellated edge pads allow direct SMD surface mounting for mass production integration.  
''' RP2040-Zero  ''' is a tiny, low-cost Pico-compatible microcontroller module based on Raspberry Pi RP2040 dual-core chip. Its castellated edge pads allow direct SMD surface mounting for mass production integration.
 
Two variants available: bare castellated module or pre-soldered pin header model for rapid breadboard prototyping
 
[[File:RP2040-Zero-11.jpg|RP2040-Zero RP2040-Zero Bare Module|350px]]
[[File:RP2040-Zero-12.jpg|350px|RP2040-Zero Pre-Soldered Pin Header Version]]


== Technical Specification==
== Technical Specification==
Line 21: Line 27:


Independent power pins are reserved on board: 5V power input, GND ground, 3.3V power output for external sensor power supply.
Independent power pins are reserved on board: 5V power input, GND ground, 3.3V power output for external sensor power supply.
<span style="color:red">'''Do not supply power via USB-C and external 3.3V simultaneously</span>


|-
|-
Line 52: Line 60:
Equipped with 29 independently configurable multiplexed GPIO pins. Each single pin can be assigned as digital GPIO, PWM output, ADC analog input, or hardware communication interface (SPI/I2C/UART). Complete pin function allocation details are available in the official pinout diagram.
Equipped with 29 independently configurable multiplexed GPIO pins. Each single pin can be assigned as digital GPIO, PWM output, ADC analog input, or hardware communication interface (SPI/I2C/UART). Complete pin function allocation details are available in the official pinout diagram.


[[File:RP2040-Zero-09.jpg|650px]]


==Quick Start Guide==
==Use Manual==


* [https://www.waveshare.com/wiki/RP2040-Zero#Pico_Getting_Started Pico Getting Started]
'''[https://www.waveshare.com/wiki/RP2040-Zero#Pico_Getting_Started Pico Getting Started](Main link: Official resource page)'''
* [https://www.waveshare.com/wiki/RP2040-Zero#Resources Resources]
* [https://www.waveshare.com/wiki/RP2040-Zero#Firmware_Download Firmware_Download]
* [https://www.waveshare.com/wiki/RP2040-Zero#FAQ FAQ]
* [https://www.waveshare.com/wiki/RP2040-Zero#Basic_Introduction Basic Introduction]
* [https://www.waveshare.com/wiki/RP2040-Zero#MicroPython_Series MicroPython Series]
* [https://www.waveshare.com/wiki/RP2040-Zero#C.2FC.2B.2B_Series C/C++ Series]
* [https://www.waveshare.com/wiki/RP2040-Zero#Arduino_IDE_Series Arduino IDE Series]
* [https://www.waveshare.com/wiki/RP2040-Zero#Open_Source_Demos Open Source Demos]


==Dimensions & Package Contents==
'''[https://www.waveshare.com/wiki/RP2040-Zero#Resources Resources](Main link: Official resource page)'''
* [https://www.waveshare.com/wiki/RP2040-Zero#Supporting_Resources Supporting Resources]
* [https://www.waveshare.com/wiki/RP2040-Zero#Applications Applications]
* [https://www.waveshare.com/wiki/RP2040-Zero#Official_Documents Official Documents]
* [https://www.waveshare.com/wiki/RP2040-Zero#Project_Resources Project Resources]


* 1 × RP2040-Zero HAT
==Dimensions==


[[ 650px]]
[[File:RP2040-Zero-08.jpg|650px]]


==FAQ==
==FAQ==
Line 69: Line 86:
<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
<div style="font-weight:bold;line-height:1.0;">
Q1: Question 1
Q1: Why do I put a file on a disk and the disk disappears and I don't see the previous file when I re-enter the disk?
</div>
<div class="mw-collapsible-content">
A:
 
1. The Bootrom of RP2040 provides a standard USB boot loader, which can be recognized as a writable drive for using UF2 files to copy code to the RP2040. The UF2 file copied to the drive is downloaded and written to Flash or RAM, and the device is automatically restarted, allowing code to be downloaded and run on the RP2040 solely via USB connection.
 
2. Any type of file can be written from the host to a USB drive, but these files are typically not stored; it appears so only due to the host's cache. Only when a UF2 file is written to the device, special content is recognized, and data is written to a designated position in RAM or Flash. After downloading the complete and valid UF2 file, the RP2040 will automatically reboot to run the newly downloaded code.
 
3. UF2 files will not be stored, but instead, the firmware is flashed to the specified location according to the corresponding file format, the specific file format can refer to Microsoft's open source project at [https://github.com/microsoft/uf2 https://github.com/microsoft/uf2]
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q2: How to flash the firmware?
</div>
<div class="mw-collapsible-content">
A: Press RESET first, then press BOOT. Release RESET first, then release BOOT to enter the flashing mode. Just drag and drop or copy the firmware into it
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q3: How do I debug this design when the debugger pins are not brought out?
</div>
<div class="mw-collapsible-content">
A: Debugging is not possible. You can program on a board that can be debugged and then directly burn the firmware into the RP2040 Zero.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q4: Is there any way to connect a battery pack to the WS RP2040-Zero using GPIO pins or anything else?
</div>
<div class="mw-collapsible-content">
A: The VSYS pin of the RP2040 is connected to the VUSB pin directly in RP2040-zero (named Pin23 ), If you want to connect the battery directly to the VSYS pin, you need to add a diode to avoid backflow. You can also directly connect the battery to Pin 21 (the 3V3) of the RP2040-zero if the voltage of the battery is 3.3V.
RP2040 zero itself has no battery protection function, you need to ensure that your battery will not be overcharged or over-discharged, causing safety accidents.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q5: Is that none of the debugging pins are exposed for SWD debugging?
</div>
<div class="mw-collapsible-content">
A: This board doesn't pin out the SWD pins.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q6: Any advice on using the RP2040-Zero in USB host mode? For the pico, it recommends an OTG cable but since the RP2040-Zero has a USB-C connector there is no sense of pin?
</div>
<div class="mw-collapsible-content">
A: Just use an OTG adapter like this or use a C2C cable:
 
[[File:RP2040-Zero-15.jpg|500PX]]
 
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q7: What is the spacing on the 10 pads underneath the RP2040-Zero?
 
[[File:RP2040-Zero-16.jpg|500PX]]
 
</div>
<div class="mw-collapsible-content">
A: Please check this:
 
[[File:RP2040-Zero-17.jpg|400PX]]
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q8: In P2040-Zero to which pin must the 5V input voltage must be given to power up the board?
</div>
<div class="mw-collapsible-content">
A: If you do not use USB for power supply, you can use the 5V pin for power supply:
 
[[File:RP2040-Zero-18.jpg|900PX]]
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q9: I want to power RP2040-Zero using 1s lipo battery.. can I connect the battery directly to the 5v pin mentioned in the pinout document?
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
A: Place the answer here.
A: Due to the limited space, the power management part is omitted, resulting in zero can only be powered by 5V/3.3V. But zero itself has no battery protection function, you need to ensure that your battery will not be overcharged or over-discharged, which will cause safety accidents.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q10: How can I power it using a battery power source such as a lipo3.7v?
</div>
<div class="mw-collapsible-content">
A: The VSYS pin of the RP2040 is connected to the VUSB pin directly in RP2040-zero (named Pin23 ), If you want to connect the battery directly to the VSYS pin, you need to add a diode to avoid backflow. You can also directly connect the battery to Pin 21 (the 3V3) of the RP2040-zero if the voltage of the battery is 3.3V.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q11: Could it be powered via a regulated 3.3V supply but not the NOT USBC - 5V?
</div>
<div class="mw-collapsible-content">
A: The VSYS pin of the RP2040 is connected to the VUSB pin directly in RP2040-zero (named Pin23 ), if you do not need to use the USB port, you can connect a 3.3V power to the VSYS pin, we still recommend you to add a diode to it to avoid backflow.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q12: What is the lowest sleep current that can be achieved and how do I achieve this?
</div>
<div class="mw-collapsible-content">
A: The RP2040 microcontroller, which is used in the RP2040 Zero, has the potential to achieve very low sleep currents, making it ideal for low-power applications.
The power consumption is 2mA.
 
Implementation example:[ https://github.com/raspberrypi/pico-playground/tree/master?tab=readme-ov-file#sleep]
 
</div>
</div>
</div>
</div>