几乎每个嵌入式工程师都用过 STM32 的现成开发板——Nucleo、Blue Pill、各种最小系统板。它们够用,但当你想把项目真正做成产品、想要自定义形状尺寸、想加上专属的传感器和接口时,你迟早要面对那个绕不开的问题: 怎么从零设计一块属于自己的 STM32 板?
Hackster.io 上的 RoboticWorx 写了一份 面向初学者的完整指南 ——从芯片选型、原理图、四层 PCB,一直到 用钢网和热板手工焊接 ,全流程不省略,预计耗时 12 小时。

它最颠覆认知的一个观点,是关于选型的:
"newer technologies make manufacturing harder things (like more flash) easier, which can help bring the price down."(新工艺让"做更难的东西"(比如更大的 Flash)变得更容易,反而能把价格压下来)
也就是说—— 更新的 STM32 往往更便宜,性能还更强 。作者也很诚恳地给了前置建议:如果没做过类似项目,强烈建议先用 Arduino 练几个,一上来就深入容易让人不知所措。下面顺着原文脉络拆解。

选型认知

1. 这块板用的主控:STM32H573RIT6
先把最关键的信息说清楚—— 本项目这块自制板的主控芯片,就是意法半导体的 STM32H573RIT6 :基于 ARM Cortex-M33 内核,250MHz 主频、2MB Flash,封装紧凑,目前价格约人民币67元 。作者正是用它做出了那块 35×35mm 的四层小板。后文的原理图设计、PCB 布局、手工焊接,全部是针对这颗芯片的实战。
2. 为什么选 STM32
作者选 STM32 的两大理由:一是 型号极多 ("字面上有几千种变体",总能精准匹配项目需求),二是 生态成熟 (ST 官方文档、CubeIDE 工具、FreeRTOS 支持)。


3. STM32/ESP32/Arduino到底怎么选


这是原文里一段非常实用、但很多人会忽略的内容——作者并没有"无脑吹 STM32",而是给出了清晰的选型边界:

作者的诚恳建议 :
"if you haven't done projects like this before, I highly recommend doing a few with an Arduino first." (如果你没做过这类项目,我强烈建议先用 Arduino 做几个练手)
也就是说—— 自制 STM32 板不是入门第一步,而是练过 Arduino、理解了电路之后的进阶动作 。
4. 新芯片比老芯片更香


作者选 STM32 的两大理由:一是 型号极多 ("字面上有几千种变体",总能精准匹配项目需求),二是 生态成熟 (ST 官方文档、CubeIDE 工具、FreeRTOS 支持)。而我们工程师选型记住的,是这张直观对比:
相同价格的,2023 年的 H573 比 2016 年的 F446 便宜一些、性能还强约 4 倍。作者的结论很直白:"pick newer STM32s! You'll save money and get better performance." 他还给了一张按场景的选型矩阵:低功耗可穿戴用 STM32U5(高性能超低功耗)或 U0(小巧便宜);通用量产用 C 系列(廉价,2023-01);高性能加安全用 H5(含 TrustZone,2023-03,本项目的 H573 即属此系列);极限性能用 H7(最高 550MHz)。
用到的工具
整套工具几乎零成本: KiCad 做 PCB 设计(免费开源,支持 Gerber 生成、从 Ultra Librarian/SnapEDA 导入元件库、PCBWay 插件直连制造商); STM32CubeIDE 做代码开发与调试(图形化引脚配置、自动代码生成、FreeRTOS 集成、SWO 支持);元件符号和封装从 Ultra Librarian 或 SnapEDA 导入。
原理图设计
电源:


电源部分 :作者选用 LDO 线性稳压而非 SMPS 开关电源,优先考虑简洁;去耦电容严格按 ST 数据手册的 "power supply scheme" 配置,并遵循一条黄金法则——"给某个引脚的电容,要尽可能贴近那个引脚"。USB 口配 ESD 保护 IC(USBLC6),生产设计强烈推荐。
晶振:




晶振部分(本节最有干货) :HSE 用 8MHz 晶体(型号 ECS-80-18-23B-JTN-TR,±20ppm),来自数据手册的 "Typical application with an 8MHz crystal"。负载电容用公式计算:
C = 2 × (Cload − Cstray)
其中 Cload 是晶体额定负载电容,Cstray 是 PCB 走线与引脚的寄生电容。晶振必须尽可能贴近对应引脚以减小寄生电容。LSE 32.768kHz 晶振可选,用于 RTC 和低功耗。
调试接口:


调试接口(SWD) :必需 SWCLK、SWDIO、 SWO 、NRST 四脚。作者特别强调 SWO 的价值(很多人忽略)——它能让单片机通过 printf 把日志打到终端,"super useful for logging"。他坦言自己刚学 STM32 时很久没搞懂这个,强烈推荐。
BOOT按键:


BOOT / NRST 按键 :BOOT0 用下拉电阻保证默认低电平(运行已烧写程序),按下拉高进 bootloader 上传模式;NRST 用上拉电阻保证默认高电平(运行),按下拉低复位。两者都要加小电容消抖——"add a small capacitor to smooth out any button bouncing"。此外原型阶段建议加一颗闪烁 LED(验证代码在跑)和一颗电源 LED(无电流时熄灭,可快速识别短路)。

PCB设计
布局:


四层叠层 :顶层走信号、内层 1 是完整地平面、内层 2 走电源加地填充、底层走信号。作者一句话点破为什么不用两层板:
"there's really not much point doing 2-layer PCBs since you'll miss out on a free ground and power plane for minimal cost."(做两层板没多大意义,因为你会以极小的成本代价错失一个免费的地平面和电源平面)
布局优先级 :先放主芯片 STM32H573 → 再放 USB-稳压器电源链 → 然后晶振及其负载电容 → 接着其余去耦电容(紧贴对应电源引脚)→ 最后电阻 LED。
布线:




布线优先级 (高敏感网络优先):
① USB 差分对 D+/D−,必须配对走线,"routed together so they can cancel out noise EMI-wise";
② 晶振走线,紧贴晶体与 MCU 最小化寄生;
③ 去耦电容,从电源平面 via → 电容 → MCU 引脚直连;
④ 电源进平面用 多个 via 降低阻抗,"use a few vias instead of just one";
⑤ 普通 GPIO 最后布,用 0.2–0.25mm 细走线;铜填充区域广布接地 via。
最后用 Add Teardrops (泪滴过渡,降阻抗与应力)和 Remove Unused Pads (删冗余 via 让地平面扩展)清理,DRC 检查时注意"并非所有 Error 都是真问题"(如小电容的热焊盘警告可安全忽略),关键看间隙 ≥0.2mm、无桥接、可制造性。
铺铜:




布线完成后还有关键一步—— 铺铜 。作者用 Tools > Add Filled Zone 给内层做整面铜填充:内层 1(In1)铺一整面 地平面 ,内层 3 铺 电源平面 。这里他特地留了一句很实用的提醒:
"Here I use a solid 3.3V plane for layer 3 for convenience, but you would typically only do power traces on layer 3 then fill the rest with ground!" (为了方便我把第 3 层做成整面 3.3V 电源平面,但通常的做法是第 3 层只走电源走线,其余区域全部填地)
也就是说,演示里为省事用了整面电源平面,但 工程上更推荐"第 3 层只走电源走线、其余填地" ——地填充越多,回流路径越好。铜填充区域要广布接地 via,把各层的地连成一体,接地才扎实。下图为最终效果。


成品:
铺铜、清理、DRC 都过了之后,就可以出制造文件了。作者用 File > Fabrication Outputs > Gerbers > Plot 导出 Gerber,再生成钻孔文件和 map 文件,把所有文件打包成一个 .zip,上传给制造商。


作者用 PCBWay 制板,选蓝色阻焊(阻焊间隙更小)、无铅工艺,并 强烈建议勾选钢网(stencil)选项 ——"to make hand assembly easier"(让手工贴装更轻松)。交期约一周,他拿到板子后的评价是 "they looked great!"。这块从工厂寄回来、还光秃秃没贴件的成品空板,就是下一步手工焊接的起点。
手工焊接






手工 SMD 焊接分五步:
① 钢网上锡 (PCB 用胶带固定、盖上钢网、均匀刮焊膏,标准是"焊膏完美覆盖每个焊盘,几乎看不出有膏");
② 贴装元件 ,对照 BOM 的 designator 逐个放(作者额外提供了标注更清晰的 designator PDF);
③ 小心放上 热板 回流焊融锡;
④ 冷却后 目视检查 ,有引脚桥接就用 吸锡带 清除;
⑤ 给 SWD 接口 焊排针 ,便于后续上传与在线调试。

开源资源
所有资源都在仓库
github.com/RoboticWorx/Custom-STM32s :
原理图 PDF、Gerber 制造文件、BOM 清单(CSV)、坐标文件 CPL、Designator 标号参考 PDF、Demo 代码。
参考资料包括 ST 应用笔记 AN5711 (STM32H5 硬件开发入门)、Microchip 的晶振负载电容计算文,以及 Phil's Lab、Robert Feranec 等 PCB 设计频道。
为何适合新手学习 工具全免费:KiCad + STM32CubeIDE,零软件成本 芯片国内可购:STM32H573、ECS 晶体在立创/Digikey 均可得,PCBWay 国内可直接下单 认知纠偏价值高:"选新不选旧"的选型逻辑能帮国内工程师省钱又提性能——很多人还在沿用 2016 年的老芯片 完整工业级规范:从去耦电容摆放、晶振负载电容计算、USB 差分对、四层叠层到接地过孔——这些是任何自研硬件团队都要掌握的硬功夫 资源齐全可直接复刻:原理图/Gerber/BOM/CPL/Demo 代码全开源
关键信息速查
项目
详情
Beginner(预计 12 小时)
STM32H573RIT6(250MHz / 2MB Flash)
35×35mm,四层板
KiCad + STM32CubeIDE
晶振负载电容 C = 2×(Cload − Cstray)
CC BY-NC-SA / github.com/RoboticWorx/Custom-STM32s
总结
这份指南的价值,远超"做一块板子"本身。它把一个嵌入式工程师从"会用开发板"跨越到"会做开发板"所需的全部关键认知——选型经济学、去耦与晶振、四层叠层、差分对与接地、DFM 与手工贴装——用一篇可以照着跟做的教程串了起来。
对很多工程师来说,它既是一份可以直接复刻的实操手册,也是一面镜子:很多人还在沿用多年前的老芯片,而更便宜、更强的新芯片其实就在那里。不要只会用别人的开发板——你完全可以做出属于自己的那一块。
版权声明
本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。
最新留言