
【核心板】RP2040最小系统
简介
基于RP2040的树莓派Pico最小系统核心板设计,可选用Python或C/C++进行开发,方便快速入门开发学习,迷你小巧,灵活易用。
简介:基于RP2040的树莓派Pico最小系统核心板设计,可选用Python或C/C++进行开发,方便快速入门开发学习,迷你小巧,灵活易用。开源协议
:GPL 3.0
描述
1.总体概述
Raspberry Pi Pico是一款基于RP2040设计的低成本高性能微控制器开发板,可选用Python或C/C++进行开发,方便快速入门开发学习,迷你小巧,灵活易用。

引脚分布

板载资源

- 主控芯片:RP2040,QFN-56贴片封装;
- 存储芯片:SPI Flash;
- 电源接口:TYPE C;
- 功能按键:BOOT和复位按键;
- LED显示:电源指示和状态显示灯;
- 调试接口:TYPE C和SWD接口;
- 外接引脚:引出可编程I/O,方便扩展连接;
优势特点

- 板子外观小巧精致,尺寸为53.34mm22.86mm(2100mil900mil);
- 兼容主流树莓派Pico,两排针间距为17.78mm,可适用于洞洞板;
- 支持使用MicoPython和C/C++语言开发,方便快速入门学习;
- 提供TYPE C串口和SWD接口,方便进行开发和调试;
- 板载复位(RESET)和启动模式切换(BOOTSEL)按键,
- 支持UF2的USB大容量存储启动模式,用于拖放式编程;
- 价格便宜,超低功耗,外引功能引脚丰富,性价比高;
- 使用嘉立创优质PCB以及正品元器件,保障产品质量;
2.芯片介绍
RP2040芯片介绍

- 双核Cortex M0+,最高频率133MHz
- 内置264kB的6扇区SRAM
- 30个多功能GPIO引脚
- 6个SPI Flash专用引脚(支持XIP)
- 常见外围设备专用硬件
- 可编程I/O支持外部设备
- 4通道ADC,内置温度传感器,采样频率500ksps,12位分辨率
- USB 1.1主机和设备支持
RP2040系统概述

RP2040引脚描述

- GPIOx:通用数字输入和输出,RP2040可以连接多个内部中的一个外设到每个GPIO,或直接从软件上控制GPIO。
- GPIOx/ADCy:通用数字输入和输出,具有模数转换功能。RP2040 ADC有一个模拟多路复用器,可以选择这些引脚中的任何一个,并采样电压。
- QSPIx:接到SPI,Dual-SPI或Quad-SPI Flash设备,可以直接执行代码。也可当作GPIO用。
- USB_DP and USB_DM:USB控制器,支持全速设备和全/低速主机,每个引脚都需要串联一个27Ω电阻,内部总线提供了上下拉功能。
- XIN and XOUT:将一个晶体连接到RP2040的晶体振荡器。XIN也可以用作单端CMOS时钟输入,而XOUT是断开的。时钟输入,同时断开XOUT的连接。USB引导程序需要一个12MHz的晶体或12MHz的时钟输入。
- RUN:全局异步复位引脚。低电平驱动时复位,高电平驱动时运行。如果不需要外部复位,该引脚可以直接与IOVDD绑定。
- SWCLK and SWDIO:提供对两个处理器的调试访问处理器的调试访问,可用于下载代码。
- TESTEN:工厂测试模式引脚。绑定到GND。
- GND:单个外部接地连接,与RP2040内部接地焊盘相连接。
- IOVDD:数字GPIO的电源,标称电压1.8V至3.3V。
- USB_VDD:用于内部USB全速PHY的电源,标称电压3.3V。
- ADC_AVDD:用于模数转换器的电源,标称电压3.3V。
- VREG_VIN:内部核心电压调节器的电源输入,标称电压1.8V至3.3V。
- VREG_VOUT:内部核心电压调节器的电源输出,标称电压1.1V,最大电流100mA。
- DVDD:数字核心电源,标称电压1.1V。可以连接到VREG_VOUT,或一些其他板级电源。
RP2040总线结构
RP2040具有双Cortex-M0+内核,DMA,内部存储器和外设通过AHB/APB总线结构连接。

RP2040商品介绍

- 品 牌:Raspberry Pi(树莓派)
- 厂家型号:RP2040
- 商品编号:C2040
- 封 装:LQFN-56(7×7)
- 数据手册:📂 下载文件
- 商品毛重:0.18克(g)
- 包装方式:编带
- 网友设计参考:📎 YuzukiCore Pico RP2040 核心板
Flash芯片介绍
Flash存储器又称闪存,是一类非易失性存储器,供电电源关闭后仍能保持片内数据信息不丢失,可重复擦除和再编程,成本低、密度大、可靠耐用,易于使用。
Flash主要分为NOR Flash和NAND Flash两种,NOR Flash分为串行(SPI)和并行(parallel),串行结构相对简单、成本低,能满足一般系统对速度及数据读写的要求,一般用来存放BootLoader引导程序;NAND Flash容量大,实际应用方式复杂,主要用来存放用户真正的程序。
为了能够存储RP2040启动和运行的程序代码,我们需要使用一个Flash存储器。 RP2040最大支持16MB的Flash存储器,这里选择W25Q128JVSIQ型号, Quad-SPI NOR Flash,通讯方式为SPI,128Mbit(16MB)存储大小,如果不需要那么多存储空间,可以使用存储空间较小的Flash来代替,降低成本。
W25Q128JVSIQ引脚描述


W25Q128JVSIQ商品介绍

品 牌:WINBOND(华邦)
厂家型号:W25Q128JVSIQ
商品编号:C97521
封 装:SOIC-8-208mil
数据手册:📂 下载文件
商品毛重:0.465克(g)
包装方式:管装
网友设计参考:📎 Flash储存器—W25Q128方案验证板
3.工程设计
电源电路
RP2040需要3.3V(用于I/O)和1.1V(用于芯片的数字核心电压)两种电压供应,RP2040内部有一个3.3V转1.1V的LDO,所以不需要担心1.1V的电源问题。
电源采用TYPE-C接口输入VBUS(5V),VBUS和VSYS通过二极管连接,再通过外部的LDO(ME6211)输出固定的3.3V,在LDO的输入/出端加上2.2uF和100nF电容滤波。因为RP2040具有USB数据传输功能,所以DP/DN与RP2040相连接。

RP2040主控电路
将RP2040的引脚全部引出,USB_DP和USB_DM引脚必须分别串联上27Ω电阻再与TYPE C连接,不能直接连接。
在RP2040的内部LDO(3.3V→1.1V)的输入(VREG_IN)和输出(VREG_OUT)引脚附近放置2.2uF的去耦电容,以便提供稳定的1.1V电源。
在RP2040需供电的引脚加上100nF的去耦电容。滤除电源噪声,提供稳定的电源供应。
在绘制PCB时去耦电容应尽可能挨近芯片引脚放置,注意电源流向进行走线绘制。
TESTEN工厂测试模式引脚,和GND绑定相连接。

ADC采样电路
RP2040具有ADC功能的GPIO26-29引脚在IOVDD(3V3)端之间分别接有内部反向二极管,分辨率为12位。
ADC的基准电压默认为3.3V,C7起滤波作用,R5和R6分压得到1/3的VSYS,与Q1(DMG1012T-7)相连接,可通过GPIO29_ADC3进行电压监视。

Flash闪存电路
W25Q128JVSIQ的引脚与RP2040的QSPIx引脚相连接,Flash闪存要求RP2040芯片选择输入电压与自己的3.3V电源引脚处于同一电压,否则,它不能正常工作。所以在W25Q128JVSIQ电源引脚(VCC)附近放置2.2uF和100nF的滤波电容,以便提供稳定的3.3V供W25Q128JVSIQ所使用。
在绘制PCB时,应尽可能缩短连接距离,减少外围电路的串扰,保证信号的完整性。

按键电路
- 复位按键与RP2040的RUN引脚相连接,外接上拉电阻使RUN默认稳定为高电平,按下RESET按键,RUN被拉低,板子复位重启,在按键两端接个100nF电容,可以加快复位响应时间。
- 启动模式切换按键与RP2040的QSPI_SS引脚串联一个1kΩ相连接,串联电阻防止在BootLoader模式时,随后按下复位时,还是从BootLoader模式启动,而不是运行Flash的内容。当RP2040上电时,QSPI_SS引脚将自动默认为上拉,RP2040在启动过程中会检查这个I/O的值,QSPI_SS为逻辑0,RP2040进入引导加载驱动BootLoader模式。
- 未按BOOTSEL按键时,复位或上电,从Flash启动,进入normal普通模式。
- 按下BOOTSEL按键时,复位或上电,将显示为一个RPI-RP2磁盘,进入BootLoader模式,拖放UF2固件进行编程开发。
在开机有短暂一段时间不能保证QSPI_SS引脚的状态,增加一个上拉电阻就可始终得到满足。W25Q128JVSIQ这款Flash闪存外部上拉电阻是不必要的,所以标记为NO-FIT,焊接时可忽略不焊。

晶振电路
晶振选用SMD3225-4P封装12MHz的晶振,在不需要严格时序要求时,可以使用内部振荡器输入。晶振两旁的15pF电容作用是保证振荡频率更加稳定,在XOUT中串联1kΩ的电阻用于限流,可以防止晶振过驱导致寿命减少或损坏,选用其他不同的晶振,可能需要调整这些值。

LED指示电路
电源指示灯(红),上电时亮起,证明最小系统供电部分正常工作;
状态显示灯(蓝),用于给RP2040的GPIO25引脚测试,通过程序实现亮灭;

引脚电路
引脚使用2个1×20Pin的2.54mm排针孔方式引出,方便扩展项目连接。
在绘制PCB时,要注意两排针距离为17.78mm,兼容市面主流的树莓派Pico板。

调试接口
USB串口调试接口(USB1),是树莓派Pico进行重新编程/烧写程序的最简洁方法,通常使用此方式调试。
SWD下载调试接口(H1),电容为滤波作用,使下载烧录性能更加稳定。

SCH_RP2040最小系统

PCB 布局建议

- TYPE-C靠左侧板边居中摆放;
- 排针间距为17.87mm,放置在板边两侧;
- 主控芯片摆放在板子中部位置,方便与扩展引脚的外接排针走线;
- 晶振靠近放置在MCU附近,减小干扰;
- SWD调试排针接口放置在板右侧;
- 滤波电容紧挨需滤波引脚放置;
PCB 布线建议

- 电源线宽设置为15mil,信号线宽设置为8mil;
- 以顶层走线为主,走不通的线可以放置过孔切换到底层进行连接;
- 走线过程中优先走直线,需要拐弯的地方以135°钝角或圆弧为主,横平竖直,保持设计美规;
- 晶振走线尽量短,底部不要走线,减少噪声干扰;
- 在布线过程中适当放置GND扇孔占位,避免覆铜后GND不完整;
丝印覆铜建议

- 标记注明板子信息(RP2040最小系统);
- 添加丝印标记按键,外接引脚和调试接口功能;
- 在绘制调整完PCB后加上泪滴效果,使板子更加美观稳固;
- 在元器件底下添加JLCJLCJLCJLC指定客编位置,成板美观;
4.编程开发
开发环境
树莓派可以使用MicroPython和C/C++语言进行开发学习,使用MicroPython语言开发时建议使用Thonny IDE,C/C++语言开发时建议使用Arduino IDE。简单友好,方便快速入门,上手学习。


烧录固件
- 进入MicroPython官网https://micropython.org/download/rp2-pico/下载UF2固件;
- 按住BOOTSEL按键不放,将Pico插入电脑的USB串口,电脑会弹出一个RPI-RP2的磁盘,在这文件夹下的INDEX.HTM文件,点击会跳转打开树莓派Pico的官网,INFO_UF2.TXT文件,则是记录板子当前的信息。
- 将下载好的UF2文件拖入RPI-RP2文件夹中。此时打开的RPI-RP2窗口会自动关闭,树莓派Pico自动重启,同时在设备管理器器可以看到一个通过USB虚拟出来的端口,固件烧录完成。

Thonny

Arduino

5.实物验证
物料清单

器件焊接

参考顺序
-
首先焊接RP2040芯片(U1),焊接时需先将在QFN封装上锡,或者使用锡膏上加热台/热风枪;
-
再焊接TYPE-C,二极管(D1),按键,Flash(U2);
-
然后再焊接电阻电容,LED和晶振;
-
最后再根据需要选择是否需要焊接排针。
注意事项 -
焊接时可选择嘉立创EDA工具栏中的焊接辅助工具,实时交互方便焊接;
-
优先焊接RP2040芯片,避免其它器件影响焊接;
-
焊接排针时可用一块空板或洞洞板顶住,防止焊斜,影响使用。
顶层装配图

底层装配图

成品展示

实物验证

Zadig
Zadig可以帮助用户装载通用驱动,解决设备无法连接电脑的问题,保证外设可以正常访问电脑。点击Options→List All Devices,选择修改时需要注意不要选到系统驱动程序(RP2040驱动程序USB ID:2E8A)。

BootLoader模式
- RP2 Boot(interface 0) → USB Serial(CDC)
- RP2 Boot(interface 1) → WinUSB
normal普通模式
- Raspberry Pi Pico(interface 0) → USB Serial(CDC)

常见问题
- USB连接传输不起作用,没有弹出RPI-RP2磁盘管理器或串口号
- 检查是否没有按住BOOTSEL按键,或者中间松开过;
- TYPE C必须是数据线(充电线不带数据传输功能),TYPE-C的DP/DN未连接好(虚焊);
- 晶振不起振(虚焊或者损坏了)。
- 烧录初始UF2固件后设备管理器无法识别/未知USB设备(设备描述符请求失败)
- 托拽刷入flash_nuke.uf2清除固件,将Flash中原有内容清除,然后再次刷入初始UF2固件;
- RP2040芯片虚焊或者损坏了,焊接QFN封装时一定得先在引脚处上锡再焊接或加热。
- 使用了Zadig导致Pico在bootloader mode(引导加载程序模式)下不会枚举作为存储数据驱动器
- 在设备管理器中找到所有RP2的引导驱动;
- 右键选择“卸载设备”,勾选“删除此设备的驱动程序软件”(如果弹出询问时);
- 点击卸载,一定要卸载所有RP2相关的引导。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。



评论