尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
从零设计STM32最小系统扩展板:原理图、PCB布局到打样焊接全流程
当时决定自己画一块板子就是因为买来的成品最小系统板接线接到崩溃。传感器要5V、舵机要独立供电、屏幕要I2C十几个杜邦线在面包板上绕成一团还经常接触不良排查一下午发现是某根线没插紧。后来想通了与其跟飞线较劲不如自己用嘉立创EDA设计一块真正符合项目需求的STM32最小系统扩展板。把最小系统核心和扩展排针画在同一块板子上所有外设接口按自己的需求排布焊接调试一次搞定这个思路帮我把项目进入调试阶段的时间缩短了一半以上。这篇文章就把整个流程从头到尾拆开讲零基础也完全可以跟着做出来。1. 先搞懂再动手最小系统扩展板的设计思路1.1 最小系统到底最小到什么程度很多人对最小系统有误解以为是越简单越好恨不得芯片旁边什么都不放。STM32要正常工作电源、时钟、复位、启动配置、下载电路这五样缺一不可但也不需要更多。可以这样理解芯片是一台发动机最小系统就是让它能在台架上平稳点火并稳定运转的最少管路和设备。你不需要给发动机装轮子但至少要有燃油供给、火花塞点火、电瓶启动和一根排气管。对应到STM32F103C8T6上典型的最小系统包含这些电路电源ST官方数据手册写得很清楚VDD引脚需要3.3V供电每个电源引脚旁边放一个0.1μF去耦电容通常还要在板级入口放一个10μF到22μF的储能电容。这个不是可选项是芯片稳定运行的前提。时钟F103系列内部虽然有一个8MHz的RC振荡器但精度约1%跑串口通信会出现波特率误差做定时器长时间累加也会飘。所以设计时通常外接8MHz无源晶振配合两个20pF负载电容。复位STM32的NRST引脚是低电平复位内部虽然有上拉但为了可靠和方便手动复位一般外接10kΩ上拉电阻和一个100nF电容到地再串一个按键。启动配置F103有BOOT0和BOOT1两个引脚决定芯片从Flash、系统存储器还是SRAM启动。常规运行模式是两个都被拉低。BOOT1在F103C8T6上复用PB2一定要处理好。下载调试SWD只需要SWDIO、SWCLK两根线加电源地就能烧录比JTAG省引脚是小型板子的标准选择。1.2 为什么建议第一块板子就画扩展板市面上买得到的STM32最小系统板典型如Blue Pill已经把上面五样电路做好了双排针也把大部分IO引出了。但它的问题在于排针间距固定、排列固定你用起来只能靠杜邦线转接。而扩展板的设计思路是在最小系统基础上把引脚以你自己项目需要的形态引出。我建议新手第一块板子就画扩展板原因有三个。第一纯最小系统的参考电路满地都是画完没有成就感扩展板需要你考虑排针分组、电源扇出像一个真实的小产品。第二扩展板天然有实用价值——画完可以直接用在自己的项目里而不是画完一次就吃灰。第三它让你提前接触如何把设计意图落实到物理布局这是PCB设计里最核心的能力嘉立创EDA的熟练度也会在这一过程中飞速提升。设计目标很明确板载完整的STM32F103C8T6最小系统把几乎所有GPIO引出到2.54mm排针同时引出3.3V和5V电源引脚。尺寸控制在一个合理的DIY范围比如50mm乘40mm以内方便后续放进任意外壳。2. 从注册到新建工程先把工具摸熟2.1 标准版还是专业版我劝你别纠结嘉立创EDA现在有标准版和专业版两个编辑器新手最常问的问题就是选哪个。我的答案是直接用标准版。标准版是纯网页端操作打开浏览器就能画没有安装门槛元件库搜索、放置、连线、铺铜、导出Gerber这些核心操作都很流畅。专业版功能更强支持多人协同、更复杂的规则设置后期还可以导入Altium的工程文件但对零基础用户来说界面更复杂快捷键逻辑也不太一样学习成本明显更高。我见过很多新手一上来就开专业版被各种面板和规则配置劝退的。核心技能是通用的。器件选型思维、原理图连线习惯、PCB布局布线的物理观念这些在标准版里学会之后将来要迁移到专业版最多一个小时就能适应。先跑通流程再考虑效率这是一个好顺序。2.2 新建工程和界面布局第一印象很重要注册登录后进入工作台点新建工程工程名建议直接写STM32F103C8T6_MinSys_Board这种格式后面下单打样、发给同事协作别人一眼就能看懂。我见过有人命名成test1、111过两周自己都分不清文件里是哪个项目非常耽误事。工程创建后会生成原理图和PCB两个文件。标准版界面主要分三块左侧是元件库和工程树中间是画布右侧是属性面板。元件库支持中文搜索这是嘉立创EDA对国内用户最大的友好点之一。别急着放元件先花五分钟熟悉鼠标操作滚轮缩放、右键拖动画布、左键选中元件、按Delete删除。顺手按一下键盘的Shift可以调出对齐工具栏CtrlW是连线快捷键这几个操作在后面的环节会反复用到。还有一个实用习惯设计前先在原理图里放好文本框把板子规格写清楚。比如供电输入范围、预期层数、主要接口定义。这不算流程冗余画到一半忘掉原始需求是常见事故。板子做到最后发现我一开始想改成什么功能来着然后推翻重画真的浪费一个下午。3. 原理图绘制最小系统的每个元件都有存在理由3.1 电源电路3.3V不是接个稳压芯片就完事在元件库搜索STM32F103C8T6结果里有多种封装一定要选LQFP48的贴片封装也就是ST官方标注的UFQFPN48/LQFP48字母后缀不同不要紧封装选择不能错。放置到画布后芯片周围的引脚就等着我们逐个接入。然后是电源芯片。我习惯用AMS1117-3.3SOT-223封装最大输出电流1A对于F103这样峰值电流不到100mA的MCU来说绰绰有余。输入接5V输出3.3V。输入端放一个10μF钽电容或陶瓷电容输出端放一个10μF加一个0.1μF的组合。大电容负责储能稳压小电容负责滤除高频噪声。不要为了省一个电容而删掉0.1μF高频响应正是这类LDO的弱项。AMS1117的引脚顺序容易焊错SOT-223封装从正面看左到右是GND、GND、VOUT中间是VIN。原理图库里的引脚顺序跟实物不完全一致画PCB看封装时一定要检查。电源指示灯也别省。一个LED串一个1kΩ电阻接在3.3V和GND之间板子一上电就能看到是否正常工作。排查问题时这个灯能救你很多次。最后每个VDD引脚旁边放一个0.1μF电容位置尽可能靠近引脚。F103C8T6有好几个VDD引脚不要只放一个否则工作不稳定时你根本不会怀疑到这种基础问题上。3.2 时钟电路和复位电路稳定的心跳8MHz晶振用无源晶振两个引脚分别接STM32的OSC_IN和OSC_OUT即PD0和PD1。每个引脚各接一个20pF电容到地。负载电容的值不是随手写的它与晶振的CL负载电容参数相关。8MHz晶振常见CL负载是20pF那匹配电容通常取15pF到22pF我用20pF做了很多块板子串口波特率没有出过问题。复位电路连接NRST引脚一颗10kΩ电阻上拉到3.3V一颗100nF电容下拉到地按键并接在NRST和GND之间。这样平时NRST被上拉电阻拉高芯片正常运行按下按键NRST被拉到地复位。100nF电容的作用是滤除高频干扰防止误复位。如果实际使用中复位不稳定可以把100nF换成1μF让复位脉冲更宽更可靠。3.3 启动配置和下载电路决定芯片从哪开始跑BOOT0引脚必须拉低用一个10kΩ下拉电阻。BOOT1在F103C8T6上复用PB2也用一个10kΩ下拉电阻。如果你希望支持串口ISP下载可以预留一个2pin跳线把BOOT0引脚引出来想ISP时跳线短接到3.3V平时不装跳线帽即可。我在板上预留了这种方式实际下载还是以SWD为主跳线只是保险。SWD接口用2.54mm间距的4pin排针或5pin排针定义是3V3、SWDIO、SWCLK、GND可选加一个NRST。SWDIO对应PA13SWCLK对应PA14。很多成品板会在SWDIO和SWCLK串接22Ω电阻抑制振铃。零基础新手画板时可以省略但如果你用比较长的杜邦线连接ST-Link加上这两个电阻会更稳定实测能避免不少连接不上的玄学问题。有一点值得专门提醒不要把SWD引脚同时接到多个负载。比如PA13和PA14如果又被你用作了普通GPIO接LED下载时可能会因为负载太重导致握手失败。扩展板上建议把SWD的排针和GPIO排针分开调试口独立杜绝这类冲突。3.4 扩展排针把每个GPIO都变成可用的资源扩展板跟普通最小系统板的区别在这里体现。F103C8T6是LQFP48封装除去电源、复位、晶振、BOOT这些专用引脚大约有37个GPIO可用。按照功能把引脚分成几组引出——PA口一组、PB口一组、PC13到PC15一组电源单独一组这样做成项目时找引脚非常方便不用每次都去看数据手册。排针用2.54mm间距的直排针每排20pin或10pin。放置排针时网络标签要跟芯片引脚同名比如PA0、PA1这样连完线在PCB阶段转网络表时才不会乱。命名习惯上我强烈建议用芯片官方引脚名直接作为网络名不要起a0、b1这种缩写。后面调试写代码时STM32固件库里的引脚宏定义也是PA0这种写法原理图和代码一一对应能少掉很多头发。电源排针至少要引出3V3和GND建议同时引出5V。如果后续项目要接舵机、继电器这类大功率负载5V和GND排针就派上用场了。再预留几个独立的小电容位给外接模块做旁路滤波不过这是后话第一版不用加。3.5 ERC检查让低级错误在画板前现形原理图全部画完后点击菜单中的设计→电气规则检查嘉立创EDA会检查有没有未连接的引脚、短路、悬空网络等问题。零基础经常遇到两类报警一类是引脚悬空你确实没接这类要确认是否故意悬空STM32很多引脚如果不使用悬空是可以接受的但最好在原理图上标注NC或NC/悬空另一类是单端网络一般是连线遗漏或网络标签拼写不一致。常见拼写错误比如把3V3写成3V报错之后排查非常痛苦所以网络标签一定要统一命名规范比如全板固定用3V3不要混用。ERC做完了原理图就算画完。保存然后进入最考验耐心的PCB阶段。4. PCB布局与布线这块小板子的成败全在这里4.1 板框与层叠动手前先定边界原理图转PCB后第一件事是画板框。板子尺寸不要随便拍脑袋。先把排针数量和排列想清楚两排20pin的排针加上SWD接口和电源输入口宽度大约是53mm长度做到32mm左右比较宽裕。网上常见的Blue Pill成品板大约是53mm×22mm那是两面密集排针的方案新手自己画建议留点余地我第一版就画了53mm×30mm焊起来舒服很多。板框用板框层的矩形工具画尺寸可以在属性面板里精确填入。建议画完板框后在PCB空白区域放一个板名丝印和版本号比如v1.0。拿到实物板子后这一行小字会让你感谢自己。层叠设置上双层板足够。顶层铺信号和电源底层基本铺GND铜皮。覆铜参数在右侧面板里设置网格覆铜和实心覆铜都可以信号完整性要求不高的场景用哪个都不影响。默认规则的线宽是6mil最小线宽、6mil最小间距这对嘉立创的制程来说非常安全。电源和GND网络可以单独设置加宽规则GND走线宽20mil到30mil3V3宽15mil到20mil普通信号8mil到10mil。4.2 布局顺序先核心后外围再连接件布局直接决定布线难度。我的顺序是芯片定中心电源靠入口晶振靠近OSC引脚去耦电容贴着VDD排针分布在边缘。把STM32F103C8T6放在板子中心偏一侧1脚方向确定好。LQFP48封装的1脚在左上角用白色丝印三角形标记处理封装时确认一下有没有这个丝印没有就自己加反面验证就不怕装反。晶振要尽可能靠近OSC_IN和OSC_OUT也就是PD0和PD1走线短是硬性要求晶振下面不要走其他信号线我见过很多新手在晶振底下走了电源线结果波形抖动串口随机乱码。复位电路的电阻电容按键可以放芯片左下角。AMS1117放在5V电源输入排针旁边这样输入电流路径最短发热也最容易散出去。去耦电容的摆放是区分新手和老手的标准之一。0.1μF电容必须放在对应VDD引脚旁边走线从VDD引脚出来先到电容再到过孔打到底层GND覆铜。这种先电容后过孔的连接方式能有效保证高频噪声就近回流到地平面。如果电容摆远了引脚到电容之间那截走线就成了天线去耦效果大打折扣。排针最终布在外侧。PA口一排、PB口一排电源和SWD口单独放。两排排针间距40mil到60mil都可以具体看板框。4.3 布线实操星型接地在什么情况下才是正解布线是新手最头痛的环节但其实大多数走线都可以逻辑化处理。先把GND网络隐藏布完信号和电源线后最后铺铜连接GND。这样思路最清晰。信号线尽量走短路径不要在板子上绕圈。相邻层走线尽量垂直顶层横着走底层竖着走减少寄生耦合。这在双层板里天然成立因为顶层和底层本来就隔着绝缘层只要不叠着走长距离就没事。电源线用规则强制加宽。嘉立创EDA的设计规则里可以对特定网络设置线宽比如GND设20mil3V3设15mil排针对应的信号线保持8mil。批量布线时可以按住Ctrl同时选中多条线一起调整线宽非常方便。关于热搜里反复出现的星型接地我多说几句。星型接地的核心思想是不同功能的电路地线分别走线在系统的单一公共点汇合避免大电流地回流引起的噪声串扰到小信号地回路。但这张板子是纯数字系统功耗很小没有高频模拟采集部分用完整地平面覆铜就是最优解。真正需要星型接地或者至少认真分隔接地的情况是在板上增加模拟功能时。比如你在扩展板上接了ADC采样电路、运放、传感器信号调理这时候模拟地和数字地就要分开规划最后单点连接。连接点放在电源输入的地线汇合处也就是AMS1117附近的GND过孔位置用一个小电阻或者零欧电阻连接。简单说没有模拟部分大面积覆铜接地即可有模拟部分再考虑分隔和单点连接。不要一听星型接地就每个器件都拉一根地线回到原点那是给高频功放设计的思路套在数字小板上反而会搞出更多的地回路问题。4.4 布线完成后的收尾覆铜、丝印和DRC信号线和电源线都布完进入覆铜阶段。快捷键ShiftP是覆铜点击PCB边界内部设定网络为GND。注意在覆铜属性里勾选去除死铜避免产生孤岛铜皮。孤岛铜皮就像没接任何电气网络的悬浮铁块会和板子形成寄生电容干扰敏感信号。覆铜完成后可以用检查功能中的布线检查先跑一遍提示未连接网络时回到对应位置补线。丝印整理也很重要。位号默认摆放乱七八糟选中所有丝印字符一键自动布局后再手动把重叠的、压到焊盘的移开。嘉立创EDA有丝印位号整理工具可以让字符分布整齐方向统一。丝印标注的要点是电源接口附近印上电压值SWD接口附近印上引脚名称这块板子将来用的时候就不用每次拿原理图对着看了。最后点设计→DRC跑一次设计规则检查红色条目一般是未连接的线或间距过近的走线黄色是警告。新手看到黄字不要慌逐条看确认不是实际错误即可。比如丝印重叠是警告对功能无影响但最好也清理掉。5. 打样回来以后焊接、点亮与排查5.1 下单参数怎么选尺寸和数量最实际PCB画完在嘉立创EDA里点制造→PCB下单文件会自动上传到工厂进入下单页面后主要设置几项板子数量、颜色、厚度、表面工艺、阻抗要求。对这块扩展板数量建议直接下5片打样方案价格很便宜。颜色选蓝色或绿色都可以纯看个人审美。板厚1.6mm表面工艺选无铅喷锡或ENIG沉金无铅喷锡性价比高沉金适合需要经常插拔、对平整度有要求的板子。这两个工艺对性能差别不大不必为发烧多花钱。不需要做阻抗控制不需要加BGA焊盘嘉立创的默认制程完全满足。还要说一句很多新手不知道下单时板子尺寸按实际生成如果尺寸在10cm×10cm以内属于小额打样标准价超过了会按面积加价。我做的这个53mm×30mm扩展板就落在优惠区间内。5.2 焊接顺序与BOM清单板子到手后按下面的BOM提前备好料总成本非常有限位号元件参数封装数量U1STM32F103C8T6LQFP481U2AMS1117-3.3SOT-2231Y18MHz无源晶振32151C1,C210μF陶瓷电容06032C3,C420pF陶瓷电容06032C5起0.1μF陶瓷电容0603每个VDD旁一个R1,R210kΩ电阻06032R31kΩ电阻06031D1LED06031J1,J22.54mm排针直插若干SW1轻触按键6×6mm1焊接顺序按从矮到高、从核心到外围的原则。先焊STM32的LQFP48芯片因为它的引脚最多、最容易被其他元件挡住。对准方向后先在四周引脚上薄薄拖一层锡利用助焊剂和吸锡带拖平整。然后焊AMS1117和周围电阻电容这些0603小型元件用镊子夹稳一端先上锡固定另一端轻松焊好。晶振焊在PD0/PD1附近。最后焊排针和按键。不建议一上来就焊排针否则翻转板子时排针会挡住烙铁操作空间。5.3 上电不工作的常见问题按顺序排查焊完板子先不要插ST-Link。用万用表测3V3和GND之间的电阻正常应该在数百欧以上接近零说明有短路。常见短路点是AMS1117的中间VIN引脚和旁边GND焊盘桥连或者LQFP48引脚之间的锡桥没清理干净。用放大镜检查一遍不放心就用松香和吸锡带再拖一次。接着上电电源指示灯亮起来后再测3V3是否稳定。如果灯不亮优先查输入5V是否到位、AMS1117是否装反。如果芯片轻微发烫立刻断电多半是电源接反或者哪个引脚碰在一起继续通电可能烧芯片。用ST-Link连接SWD口打开STM32CubeProgrammer或Keil尝试连接芯片。最常见的失败提示是No target connected或者Internal command error排查顺序是先看BOOT0是不是被拉低再看SWD四根线是不是接反最后确认ST-Link驱动是否正常。这里有个经验SWD的3V3不要从板子的3V3排针取直接从ST-Link引出3V3接到板子上SWD排针的3V3脚两端共地后用杜邦线连接成功率最高。因为有些ST-Link的供电能力有限带不动整个板子反而导致握手失败。晶振不起振的问题不太常见但遇到了一脸懵。用示波器探头点OSC_OUT引脚正常能看到1V左右的峰峰值的正弦波频率8MHz。如果没波形检查电容值是否装错、晶振是否焊接虚焊。还有一种特殊情况示波器探头本身的电容会让晶振停振这是正常现象把探头换成低电容探头或者在探头上串一个小电阻再看。程序烧录成功、LED闪烁的那一刻整块扩展板就算完全跑通了。我个人的体会是画一块板子的收获远不止会操作软件这么简单。它逼着你去查数据手册理解每个引脚的功能。它让你在电脑前空想两个小时的布局然后看着实物上电时那种满足感是买成品板完全体会不到的。这块板子现在还躺在我的抽屉里后来做温湿度监测、空气质量采集这些项目时我都是基于它改出来的每次都能省下重新画最小系统的时间把精力放在更有价值的功能实现上。
RELATED

相关推荐

74LS194环形计数器从原理到实战:移位寄存器、自启动电路与调试全解析

74LS194环形计数器从原理到实战:移位寄存器、自启动电路与调试全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 18:26:08
USB集线器供电不足排查与PMOS改造实战:从掉盘到稳定的完整方案

USB集线器供电不足排查与PMOS改造实战:从掉盘到稳定的完整方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 18:26:08
单相桥式整流滤波实战:电容、电感与LC方案选型指南

单相桥式整流滤波实战:电容、电感与LC方案选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 18:26:08
MORE NEWS

更多资讯

📰

ADS Momentum RF仿真避坑指南:从网格划分到端口接地

开头先交代一个我见过无数次的场景:新手在ADS原理图仿真里跑得顺风顺水,一到Momentum RF版图级电磁仿真就全线崩溃。要么S参数曲线像随机噪声,要么仿真跑到一半直接发散,要么结果在物理上完全说不通。我早期也经历过这个阶段&…

📰

欺骗技术实战解析:用蜜罐与蜜标构建内网反制能力

干了这么多年安全应急,我见过太多“该拦的都拦了,最后还是被偷了”的尴尬场景。防火墙部署了,终端管控上了,SIEM大屏也七乘二十四小时滚动,可真到出问题时才发现,攻击者的每一步看起来都那么“正常”&#…

📰

Xshell高效运维实战:版本选型、连接配置与终端技巧

用了这么多年Xshell,我越来越觉得,终端操作这件事,拉开差距的从来不是敲命令的速度,而是对工具本身的掌控程度。Xshell作为Windows下最主流的SSH客户端,很多人只用了它20%的能力:新建会话、敲命令、关闭窗口…

📰

从零入门 Redis:核心原理、数据类型与分布式锁实战

开了很多次技术分享会,发现一个几乎是规律的现象:只要是聊后端基础组件,Redis 一定是被提起最多的那个。它看起来上手极其简单,无非就是 GET、SET,但真正用起来,很多人卡在了“看着全会,一写就废…

📰

快速排序原理与优化实战:从分区算法到避坑指南

1. 快速排序为什么“快”:分治骨架与平均复杂度的直觉1.1 从一趟划分看它的“分治”底子快速排序这名字我没少听人念叨,说是“最快的排序”。但从算法原理上看,它并不是快在每次都全局比较,而是快在“分治”这个骨架里。你随便拿一…

📰

Windows临时文件自动清理:PowerShell脚本释放C盘空间全指南

先说我自己的经历吧。Windows系统用久了,C盘一片飘红,右键属性看一眼,也不知道到底什么占了地方。手动打开临时文件夹删一遍,隔两天又塞满了。后来我仔细排查了一圈,发现真正占空间的往往不是"C:\Windows\Temp&qu…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬