check in
Completed

[ Core board ]RP2040 minimum system

PRO[ Core board ]RP2040 minimum system

tag

98
0
0
0
Mode:Full

License

GPL 3.0

Creation time:2025-02-21 03:30:34Update time:2025-02-24 02:49:22

Description

1. General Overview

The Raspberry Pi Pico is a low-cost, high-performance microcontroller development board based on the RP2040, which can be developed in Python or C/C++, which is convenient for quick development and learning.
图片1.png

Pin distribution

图片2.png

Onboard resources

图片3.png

  • Main control chip: RP2040, QFN-56 SMD package;
  • Memory chip: SPI Flash;
  • Power interface: TYPE C;
  • Function buttons: BOOT and reset buttons;
  • LED display: power indication and status indicator;
  • Debugging interface: TYPE C and SWD interface;
  • External pins: programmable I/O for easy connection expansion;

Features & Benefits:

图片4.png

  • The appearance of the board is small and exquisite, with a size of 53.34mmand 22.86mm (2100mil 900mil);
  • Compatible with mainstream Raspberry Pi Pico, the distance between the two rows of pins is 17.78mm, which can be applied to hole boards;
  • Support the use of MicoPython and C/C++ language development, convenient for quick start learning;
  • Provide TYPE C serial port and SWD interface, which is convenient for development and debugging;
  • On-board RESET and BOOTSEL buttons;
  • Support UF2's USB mass storage boot mode for drag-and-drop programming;
  • Low price, ultra-low power consumption, abundant external function pins, high cost performance;
  • Use high-quality PCB and genuine components to ensure product quality;

2. Chip introduction

RP2040 chip introduction

图片5.png

  • Dual-core Cortex M0+, up to 133MHz
  • Built-in 264kB 6-sector SRAM
  • 30 multi-function GPIO pins
  • 6 SPI Flash dedicated pins (XIP supported)
  • Hardware dedicated to common peripherals
  • Programmable I/O supports external devices
  • 4-channel ADC with built-in temperature sensor, sampling frequency 500ksps, 12-bit resolution
  • USB 1.1 host and device support

RP2040 System Overview

图片6.png

RP2040 pin description

图片7.png

  • GPIOx: General-purpose digital inputs and outputs, the RP2040 can connect multiple internal peripherals to each GPIO, or control the GPIO directly from the software.
  • GPIOx/ADCy: General purpose digital input and output with analog-to-digital conversion. The RP2040 ADC has an analog multiplexer that selects any of these pins and samples the voltage.
  • QSPIx: Connected to SPI, Dual-SPI or Quad-SPI Flash devices, code can be executed directly. It can also be used as a GPIO.
  • USB_DP and USB_DM: USB controller that supports full-speed devices and full/low-speed hosts, each pin needs a 27Ω resistor in series, and the internal bus provides pull-up and down.
  • XIN and XOUT: Connect a crystal to the RP2040's crystal oscillator. XIN can also be used as a single-ended CMOS clock input, while XOUT is off. clock input while disconnecting XOUT. The USB bootloader requires a 12MHz crystal or a 12MHz clock input.
  • RUN: Global asynchronous reset pin. Reset when driven low and run when driven high. If an external reset is not required, the pin can be bound directly to the IOVDD.
  • SWCLK and SWDIO: Provides debug access to both processors and debug access to the processor, which can be used to download code.
  • TESTEN: Factory test mode pin. Bind to GND.
  • GND: A single external ground connection that is connected to the RP2040 internal ground pad.
  • IOVDD: Power supply for digital GPIOs with nominal voltages from 1.8V to 3.3V.
  • USB_VDD: Power supply for internal USB full-speed PHY with a nominal voltage of 3.3V.
  • ADC_AVDD: Power supply for analog-to-digital converter with a nominal voltage of 3.3V.
  • VREG_VIN: Power input to the internal core voltage regulator with a nominal voltage of 1.8V to 3.3V.
  • VREG_VOUT: The power output of the internal core voltage regulator with a nominal voltage of 1.1V and a maximum current of 100mA.
  • DVDD: Digital core power supply with a nominal voltage of 1.1V. Can be connected to VREG_VOUT, or some other board-level power supply.

RP2040 bus structure

The RP2040 has dual Cortex-M0+ cores, DMA, internal memory, and peripherals connected via an AHB/APB bus structure.
图片8.png

RP2040 product introduction

RP2040商品介绍.png

Introduction to Flash chips

Flash memory, also known as flash memory, is a type of non-volatile memory, which can keep the on-chip data information from being lost even after the power supply is turned off, can be erased and reprogrammed repeatedly, and is low-cost, high-density, reliable and durable, and easy to use.
Flash is mainly divided into NOR Flash and NAND Flash, NOR Flash is divided into serial (SPI) and parallel (parallel), the serial structure is relatively simple, the cost is low, can meet the general system requirements for speed and data reading and writing, generally used to store the BootLoader boot program; NAND Flash has a large capacity and complex practical application, and is mainly used to store users' real programs.
In order to be able to store the program code that the RP2040 starts up and runs, we need to use a flash memory. RP2040 supports up to 16MB of Flash memory, here choose W25Q128JVSIQ model, Quad-SPI NOR Flash, the communication mode is SPI, 128Mbit (16MB) storage size, if you don't need so much storage space, you can use Flash with smaller storage space to replace it, reduce costs.

W25Q128JVSIQ pin description

图片9.png
图片10.png

W25Q128JVSIQ product introduction

W25Q128JVSIQ商品介绍.png
Brand:WINBOND
Manufacturer model: W25Q128JVSIQ
SKU:C97521
Encapsulation:SOIC-8-208mil
Data Sheet:📂 Download file
Gross weight: 0.465 grams (g)
Packing: tube
Netizen design reference:📎 Flash memory - W25Q128 scheme verification board

3. Engineering design

Power circuits

The RP2040 requires two voltage supplies: 3.3V (for I/O) and 1.1V (for the chip's digital core voltage), and the RP2040 has a 3.3V to 1.1V LDO inside, so there is no need to worry about the 1.1V power supply.
The power supply uses the TYPE-C interface input VBUS (5V), the VBUS and VSYS are connected through a diode, and then the output is fixed at 3.3V through the external LDO (ME6211), and 2.2uF and 100nF capacitor filtering are added to the input/output of the LDO. Because the RP2040 has a USB data transfer function, the DP/DN is connected to the RP2040.
图片11.png

RP2040 main control circuit

The pins of the RP2040 must be all pins, and the USB_DP and USB_DM pins must be connected in series with a 27Ω resistor and then connected to the TYPE C, not directly.
A 2.2uF decoupling capacitor is placed near the input (VREG_IN) and output (VREG_OUT) pins of the RP2040's internal LDO (3.3V→1.1V) to provide a stable 1.1V supply.
Add a 100nF decoupling capacitor to the pin to be powered on the RP2040. Filters out power supply noise and provides a stable power supply.
When drawing the PCB, the decoupling capacitor should be placed as close to the chip pins as possible, and the power flow direction should be paid attention to for trace drawing.
The TEN factory test mode pin is connected to the GND binding.
图片12.png

ADC sampling circuit

The GPIO26-29 pins with ADC function on the RP2040 have internal reverse diodes between the IOVDD (3V3) terminals with 12-bit resolution.
The reference voltage of the ADC is 3.3V by default, C7 acts as a filter, and R5 and R6 divide the voltage to obtain 1/3 of the VSYS, which is connected to Q1 (DMG1012T-7) and can be monitored by GPIO29_ADC3.
图片13.png

Flash circuitry

The W25Q128JVSIQ pin is connected to the QSPIx pin of the RP2040, and the flash memory requires the RP2040 chip to select the input voltage to be at the same voltage as its own 3.3V power supply pin, otherwise, it will not work properly. Therefore, 2.2uF and 100nF filter capacitors are placed near the W25Q128JVSIQ supply pin (VCC) to provide a stable 3.3V for W25Q128JVSIQ use.
When drawing the PCB, the connection distance should be shortened as much as possible, the crosstalk of the peripheral circuits should be reduced, and the integrity of the signal should be ensured.
图片14.png

Key circuitry

  1. The reset button is connected to the RUN pin of the RP2040, an external pull-up resistor makes the RUN stable to a high level by default, press the RESET button, the RUN is pulled low, the board resets and restarts, and a 100nF capacitor is connected at both ends of the button to speed up the reset response time.
  2. The boot mode switch is connected to the QSPI_SS pin of the RP2040 in series with a 1kΩ connection, and the series resistor prevents booting from BootLoader mode instead of running Flash when BootLoader mode is pressed and then pressed to reset. When the RP2040 is powered on, the QSPI_SS pin will automatically default to pull-up, and the RP2040 will check the value of this I/O during the boot process, QSPI_SS it to logical 0, and the RP2040 will enter the BootLoader mode.
  • When the BOOTSEL button is not pressed, reset or power on, boot from Flash, and enter normal mode.
  • When the BOOTSEL button is pressed, reset or power on, it will be displayed as an RPI-RP2 disk, enter BootLoader mode, and drag and drop the UF2 firmware for programming and development.

If the state of the QSPI_SS pin cannot be guaranteed for a short period of time after powering on, the addition of a pull-up resistor will always be satisfied. W25Q128JVSIQ this Flash external pull-up resistor is unnecessary, it is marked as NO-FIT and is negligible when soldered.
图片15.png

Crystal oscillator circuit

The crystal oscillator is a 12MHz crystal oscillator in a SMD3225-4P package, and an internal oscillator input can be used when strict timing requirements are not required. The 15pF capacitance on both sides of the crystal oscillator is used to ensure that the oscillation frequency is more stable, and the 1kΩ resistor in series in XOUT is used for current limiting, which can prevent the crystal oscillator from being overdriven and causing life reduction or damage.
图片16.png

LED indication circuitry

The power indicator (red) lights up when powered on, which proves that the minimum system power supply part is working normally;
Status indicator (blue) for GPIO25 pin testing of RP2040, which can be turned on and off by programming;
图片17.png

Pin circuitry

The pins are led out by two 1×20-pin 2.54mm headers for easy expansion project connection.
When drawing the PCB, it should be noted that the distance between the two rows of pins is 17.78mm, which is compatible with the mainstream Raspberry Pi Pico board on the market.
图片18.png

Debug interfaces

The USB serial debugging interface (USB1) is the most concise way for the Raspberry Pi Pico to reprogram/flash programs, and is usually used to debug.
SWD download and debugging interface (H1), capacitor is used as a filter, making the download and programming performance more stable.
图片19.png

SCH_RP2040 minimal system

图片20.png

PCB layout recommendations

图片21.png

  • TYPE-C is placed in the center of the left side of the board;
  • The spacing between the pins is 17.87mm, which is placed on both sides of the board edge;
  • The main control chip is placed in the middle of the board to facilitate the routing of the external pin header with the expansion pins;
  • The crystal oscillator is placed close to the MCU to reduce interference;
  • The SWD debugging pin header interface is placed on the right side of the board;
  • The filter capacitor is placed next to the pin to be filtered;

PCB Routing Recommendations

图片22.png

  • The power line width is set to 15mil, and the signal line width is set to 8mil;
  • The top-layer wiring is the mainstay, and the unreachable line can be placed via to switch to the bottom layer for connection;
  • In the process of wiring, priority is given to straight lines, and the places that need to be turned are mainly obtuse angles or arcs of 135°, horizontal and vertical, and the design is maintained in good shape;
  • The crystal oscillator wiring should be as short as possible, and the bottom should not be traced to reduce noise interference;
  • In the process of wiring, the GND fan hole should be appropriately placed to occupy the space to avoid the incomplete GND after copper pouring;

Silk screen printing copper pouring recommendation

图片23.png

  • Marker indicates board information (RP2040 minimum system);
  • Add silkscreen marking buttons, external pins and debugging interface functions;
  • After drawing and adjusting the PCB, add a teardrop effect to make the board more beautiful and stable;
  • Add JLCJLCJLCJLC under the component to specify the custom editing position, and the board is beautiful;

4. Programming development

Development environment

Raspberry Pi can be developed using MicroPython and C/C++ languages, Thonny IDE is recommended for MicroPython development, and Arduino IDE is recommended for C/C++ development. Simple and friendly, easy to get started and get started.
图片24.png
图片25.png

Flash the firmware

  • Download firmware UF2 into MicroPython website https://micropython.org/download/rp2-pico/;
  • Press and hold the BOOTSEL button, insert the Pico into the USB serial port of the computer, the computer will pop up an RPI-RP2 disk, the INDEX.HTM files under this folder, click it will jump to open the official website of the Raspberry Pi Pico, INFO_UF2. The TXT file records the current information of the board.
  • Drag the downloaded UF2 file into the RPI-RP2 folder. At this time, the open RPI-RP2 window will automatically close, the Raspberry Pi Pico will automatically restart, and at the same time, you can see a virtual port through USB in the device manager, and the firmware flashing is completed.
    图片26.png

Thonny

图片27.png

Arduino

图片28.png

5. Physical verification

Bill of Materials

图片29.png

Device soldering

图片30.png
Order of reference

  • First, the RP2040 chip (U1) needs to be soldered, and the QFN package needs to be soldered first, or the solder paste should be used on the heating table/heat gun;

  • Re-soldering TYPE-C, diode (D1), button, Flash (U2);

  • Then solder resistor capacitors, LEDs and crystal oscillators;

  • Finally, you can choose whether you need to weld the pin headers according to your needs.
    Precautions

  • When welding, you can select the welding auxiliary tool in the EDA toolbar of JLC, which is convenient for real-time interaction;

  • Priority soldering of RP2040 chips to avoid other devices affecting soldering;

  • When welding the pin header, it can be used to resist a blank plate or a hole plate to prevent welding skew and affect the use.

Top-level assembly drawing

图片31.png

Underlying assembly drawing

图片32.png

Finished product display

图片33.png

Physical verification

图片34.png

Zadig

Zadig can help users load general drivers, solve the problem that the device cannot connect to the computer, and ensure that the peripherals can access the computer normally. Click Options→List All Devices, and make sure that you do not select the system driver (RP2040 driver USB ID: 2E8A) when you select Modify.
图片35.png
BootLoader mode

  • RP2 Boot(interface 0) → USB Serial(CDC)
  • RP2 Boot(interface 1) → WinUSB

normal mode

  • Raspberry Pi Pico(interface 0) → USB Serial(CDC)

图片36.png

Frequently asked questions

  • USB connection transfer doesn't work, no RPI-RP2 disk manager or string slogan pops up.
  1. Check if you haven't held down the BOOTSEL button, or if you have released it in the middle;
  2. TYPE C must be a data cable (charging cable does not have data transmission function), and the DP/DN of Type-C is not connected properly (virtual welding);
  3. The crystal does not vibrate (virtual welding or damage).
  • Device Manager Doesn't Recognize/Unknown USB Device After Burning Initial UF2 Firmware (Device Descriptor Request Failed)
  1. Drag and flash into the flash_nuke.uf2 to clear the firmware, erase the original content in the Flash, and then flash the initial UF2 firmware again;
  2. If the RP2040 chip is soldered or damaged, the pins must be soldered before soldering or heating when soldering the QFN package.
  • Using Zadig causes Pico not to enumerate as a storage data drive in bootloader mode.
  1. Find all RP2 boot drivers in Device Manager;
  2. Right-click and select "Uninstall Device", check "Remove driver software for this device" (if asked);
  3. Click Uninstall and be sure to uninstall all RP2 related boots.

Designed by 立创EDA课程案例推荐 (from OSHWHub)

Link:https://oshwhub.com/course-examples/he-xin-ban-rp2040-zui-xiao-xi-tong

Design Drawing

Download File
Board1
schematic diagram
PCB

Attachments

OrderFile nameDownload times
1
[ Core Board ]RP2040 minimum system .pptx
1080
2
Firmware.zip
319
3
RP2040-datasheet.pdf
267
4
W25Q128JVSIQ-datasheet.pdf
137
5
Raspberry-Pi-Pico-C-sdk.pdf
307
6
Raspberry-Pi-Pico-Python-sdk.pdf
233
Add to Album
0
0
Share
Report

Comment

All Comments(1)
Sort by time|Sort by popularity
Followers0|Likes0
Related projects
Empty

Bottom Navigation