先说个我个人很深的感受:每次 KiCad 发布大版本,总有一批人兴致勃勃地装上、打开、画两笔,然后嘀咕一句“好像也没什么翻天覆地的变化嘛”,就切回原来的工具了。这其实是用错了评测标准——评价 KiCad 这类开源 EDA,从来不该盯着某一个点的新功能多炫,而是要看整个链条:原理图、PCB、封装库、仿真、制造输出、团队协作,这一整套流程在开源生态下是不是转得更顺了。KiCad 10.0 的到来,给我的第一感觉正是如此:它没有搞什么花哨的噱头,但把一批长期以来“能用但不顺手”的位置认真收拾了一遍。这篇文章不打算做功能清单式的罗列,而是想结合我这些年用 KiCad 画板子、做开源硬件、和队友协作的真实项目经历,聊聊 10.0 背后的设计思路、从其他工具迁过来的适应成本,以及一些在常规文档里不太会写的实操细节。
1. KiCad 10.0 发布这件事,为什么值得重新关注
1.1 开源 EDA 在今天的真实位置
很多硬件工程师接触 KiCad,最早都是抱着“看看”的心态。毕竟不少人的职业生涯起点是 Altium Designer,或者近两年越来越常见的嘉立创 EDA(EasyEDA)。但开源生态这几年的进展确实在悄悄改变行业格局——KiCad 的官方库越来越规范,社区贡献者覆盖到全球范围,GitHub 上围绕它的插件和脚本多到翻不完。更关键的是,它不再是“只能画简单小板子”的工具了。我亲眼见过有人拿它做四层板的工业采集卡,也有人用它完成了带有阻抗控制要求的射频小板。这种工具角色升级的过程里,版本的每一次迭代都不是小事。
10.0 这个版本号本身就是一个信号。KiCad 的版本节奏向来不算激进,一个版本背后往往揉合了数百位开发者和用户反馈的长期积累。与其期待一次革命性的重构,不如把它看作一次结构性的巩固升级。很多要害改动都是在改“手感”:比如更顺滑的敷铜操作、更智能的布线推挤、更从容的大板卡渲染。这些体验层面的东西,一张截图根本体现不出来,但当你真正花几个小时画完一块板子,就会明显感觉到“手没那么累了” 。
1.2 这一代版本对工作流的几个实际提升
先说我关注度最高的原理图和 PCB 联动。过去从原理图更新到 PCB,偶尔会遇到符号引脚映射对不上、网络名被莫名修改的问题。10.0 明显加强了两者之间的一致性检查,更新过程更符合“先提示、后操作”的预期,误改的风险降了不少。对我这种习惯频繁调整原理图再同步布局的人来说,这节省的是实实在在的时间。
其次是仿真集成的体验。KiCad 里一直内置了 SPICE 仿真,但老实说,操刀门槛不低。新版本把仿真结果的可视化和原理图端靠得更近,波形查看更灵活,适合做电源、模拟前端电路验证的人。它不可能替代专业的仿真软件,但完成日常的信号完整性预检、电源纹波估算已经足够。
再就是性能层面。大板子、复杂异形板框、密集的铺铜,在过去多少有点卡。10.0 对图形渲染执行了优化,尤其在高分屏和缩放操作下流畅度改善很明显。画板子最烦的就是“转个视角等半天”,这个改动很朴素,却很救命。
1.3 这些变化到底利好谁
我总结下来,有三类人最应该重看 KiCad 10.0。
- 个人开发者或小团队,预算有限但希望拿到专业级设计工具。
- 教育工作者和学生,需要一个能接触到设计底层逻辑、能自由定制、不受授权限制的平台。
- 从 AD 或 EasyEDA 准备迁移、希望在开源工具链上沉淀长期资产的人。
至于大型企业里常年用商业 EDA 的硬件团队,10.0 值不值得迁移,取决于公司对工具链自主性的重视程度。但没有评估过开源方案以前,就轻易下结论“开源工具不够成熟”,已经不太符合今天的实际情况了。
2. 从 Altium / EasyEDA 迁过来,第一周的适应重点
2.1 最反直觉的差异:不是界面,而是“库”的心智模型
我见过太多人在 KiCad 上坚持不过一周,核心原因都是栽在封装库上。在 Altium 里,你习惯了打开一个元件就有完整的原理图符号、PCB 封装、3D 模型,一条龙集成几乎无感。EasyEDA 则更“傻瓜化”,因为有海量在线库可随手搜。KiCad 的老版本给了你官方的原理图符号库和封装库,但它们的匹配关系需要你在选择元件时自己指定,第一次上手确实容易懵。
这是 KiCad 长期被吐槽的点,却也恰恰是它值得理解的设计哲学:把符号、封装、3D 模型三层信息分开管理,你拥有完全的控制权。你可以自定义字段,可以把元件的供应链信息填进去,可以为同一个原理图符号匹配多个封装。刚开始会觉得麻烦,但项目多了以后,你会发现这种“麻烦”换来的是库资产的高度一致性。我自己就是在吃过几次“自动匹配错误封装”的亏后,才彻底认可了这个设计。
10.0 的改进在于,官方库的元数据更丰富,符号和封装的关联在“符号选择器”里就能直接预览和确认。对新人来说,这意味着迁移初期的“找不着北”时间缩短了。我的建议是:别抗拒它,把库管理当成一个需要认真学习的模块,第一周花一天时间专门把常用元件归拢成自定义库,后面能省出好几天的时间。
2.2 快捷键体系:改配置还是硬适应
从 AD 过来的人,最常问的就是“能不能把快捷键改成和 AD 一样”。KiCad 支持全局快捷键重映射,理论上可以改得一模一样。但我不建议这么做。原因很简单:你既然选择了迁移,就必须接受新工具的底层交互逻辑。KiCad 的许多快捷键是围绕“先选操作对象、再按快捷键”这一套框架组织的,硬改成 AD 的习惯,反而会丢掉新工具的连贯操作思维。
真实做法是分两类走:一是高频通用命令(比如保存、缩放、撤销、布线),改成肌肉记忆里最顺手的键位;二是新工具特有的操作(比如快速切换层、选择网络、敷铜调整),强制自己按新习惯来。一周之后你会发现,工具本身只是个习惯问题,真正拉开效率差距的,是你对新框架的理解程度。
2.3 版本和协作方式,别再用发文件的老办法
过去和队友协作画板子,最常见的方式是“画完打压缩包发过去”。KiCad 的项目文件是纯文本格式,对 Git 非常友好。10.0 继续保持并优化了文件结构,这意味着很多小团队完全可以像管代码一样管电路设计。
我的团队现在的工作流是:Git 仓库管理全部 KiCad 工程,原理图评审通过后直接在平台上看改动 diff,PCB 布局修改也能定位到具体变更。这对我来说是一个重要的“不可退回”的升级。如果你还是单兵作战,我也建议尽早建立版本管理习惯,哪怕只是本地 Git 仓库。元器件选型、原理图改动、布局迭代,每一步都有迹可循,在项目返工时你会感谢自己这个决定。
3. PCB 实操笔记:螺丝孔、走线规则、圆形板与异形板框
3.1 螺丝孔到底怎么画才规范
“PCB 怎么画螺丝孔”是我在社区被问过很多次的问题。其实 KiCad 里常见的方案有几种,关键在于你要机械强度、电气连接,还是两者兼顾。
最基础的做法是用Edge.Cuts层绘制板框,然后用圆形挖槽或者专用的安装孔符号定位。具体操作思路是:在封装编辑器中新建一个名为MountingHole的封装,放置一个合适孔径的圆形焊盘,把焊盘设置为“未连接”或仅连接机械层,再添加一个VScore标记或丝印圆圈方便装配识别。这样做出来的螺丝孔,既能在 PCB 上正确显示,也能在 3D 视图中看到通孔。
如果你需要螺丝孔连接到地(比如屏蔽安装孔),则不能简单用孤立焊盘。正确做法是使用焊盘,并明确分配网络(通常是 GND),同时在布线层通过铜箔连接到地网络。这里有一个关键细节:螺丝孔连接地,一般建议做“星形连接”或“单点连接”,避免地环路影响信号质量。高速电路和音频电路的螺丝孔接地策略是不同的,千万别一套规则走天下。
我习惯把常用规格(M2、M2.5、M3、M4)的安装孔做成独立的封装库文件,孔径和焊盘外径都按标准值设定,需要时直接放置。这样不仅省时间,还能避免每次现画导致孔径标错。
3.2 走线宽度不是算出来的,是权衡出来的
关于“PCB 走线要求”,网上有大量的表格和计算公式,什么 1A 电流需要多少 mil 之类。但实际画板时,我算完载流能力后,还会看三件事:生产工艺公差、阻抗控制要求、以及板厂有没有最小线宽限制。
如果你在嘉立创打板,常规工艺是 6 mil 以上的线宽线距,普通的双层板只要你往 10 mil 以上走都不需要额外加钱。但很多人忽视的是“铜厚”这个参数。1oz 铜厚和 2oz 铜厚对应的载流能力完全不同,尤其是电源部分的走线,必须结合实际铜厚来算。
我常用的经验法是:常温下 1oz 铜厚、10 mil 宽的走线,约能承受 1A 左右电流,温升按 10°C 算。但实际设计中,我很少卡着极限走线,而是会留出 1.5 到 2 倍余量。原因很简单:板子在实际工作时还会有邻近走线互相加热、环境温度升高等因素,理论计算永远只是基准。走到电源部分,只要空间允许,我能铺铜就铺铜,能用多边形填充就填充,效果比单纯加宽走线要好得多。
3.3 圆形 PCB 和异形板框的操作要领
“圆形 PCB”这个词经常出现在电机驱动板、LED 灯板、小型传感器模块这些产品里。在 KiCad 里画出圆形板框本身不难:切到Edge.Cuts层,用圆形工具画圆,再选中它执行“转换为板框”就行。真正的难点在于布局布线阶段,你的器件要自然地绕着圆心排列,走线要跟着圆弧走,而不是硬拉直线。
我的建议是,先在纸上或者脑子里想清楚器件的摆放半径区间。圆心通常留给大焊盘、中心螺栓孔或者驱动电机轴孔;中圈放主控和功率器件;最外圈才布置接口和外围小元件。这样绕圈走线比较自然。如果在圆弧区域有密集走线,考虑在器件内部层面布一部分线,减少表层的交叉。
异形板框也是一样的逻辑。不要先画一堆矢量和线段,再困扰怎么连。先在Edge.Cuts层把整个外部轮廓画完整,确保所有线段首尾相接、没有重叠和缺口,然后用合并且闭合工具确认。板框不闭合,铜箔铺设和 3D 显示都会出问题,这是非常常见的报错来源。
3.4 从电源板说起:布局的思路
热词里有一条“反激式开关电源 PCB”,这类板子是考察布局能力的试金石。反激电源最核心的布局原则是“功率环路面积最小化”。高频变压器初级侧、开关管、输入电容构成的热点环路,必须紧致摆放,否则 EMI 会让你在整改阶段叫苦不迭。
KiCad 里做这类板子时,我习惯强调三件事:首先充分利用图形化敷铜,而不是只靠走线。大电流路径,尤其是功率地,应该用整片的铜皮处理。其次,控制回路和功率回路要物理分离,控制芯片的 GND 单独回接到功率地的一点。最后,在 KiCad 的板框外多放几个螺丝孔位和测试点,实验阶段会非常方便。
我在 KiCad 里有过一次“觉得布线已经没问题,结果一上电就炸”的经历。后来查下来原因不在原理图,而在 PCB 布局回流路径过长。从那以后,我在布局阶段就会随手把关键电流路径标出来,再开始自动布线。想让工具帮你少背锅,你得在布局阶段替它想清楚。
4. KiCad 与嘉立创 EDA 的正面较量:学习成本、供应链与商业项目
4.1 为什么总有人把这两个放一起比
打开搜索引擎输入“KiCad easyeda”,排前面的基本全是“KiCad 和立创 EDA 哪个好”。这很正常,因为对一个刚入门画 PCB 的人,这两款工具大概率是绕不开的选项。一个是开源世界的代表,一个是国产工具里把在线供应链玩得最明白的选手,而且两者都是从个人开发者到小团队都负担得起的。它们表面上功能重叠,实际上设计哲学差别很大。
我的判断是,如果你的核心诉求是“快”,画一块简单的双层板、直接从嘉立创商城点元器件、在线下单打样,那么嘉立创 EDA 的全链路体验确实极其顺滑,这种集成度新手学和用都很舒服。KiCad 的定位完全不同,它的强项是开放性和可控性。你不受任何一家元器件商城或板厂绑定,所有本地库、脚本、协作方式都能随着你的项目演进而深度定制。
4.2 选型地图:复杂度、团队、长期资产
我一般会给朋友这样一张简化的选型表:
| 考量维度 | KiCad | 嘉立创 EDA |
|---|---|---|
| 上手的顺滑程度 | 中等,库管理有学习曲线 | 高,在线元件库随手可得 |
| 设计自由度 | 极高,全部本地可定制 | 较高,但受平台封装约束 |
| 供应链整合 | 弱,需自行维护供应商信息 | 极强,商城直接联动 |
| 团队协作/版本管理 | 极强,纯文本贴合 Git | 在线协作,但本地资产可控性稍弱 |
| 商业项目授权 | 无授权费用,可安心用于产品 | 免费版有平台政策,需自行确认商用边界 |
| 长期资产沉淀 | 放心,所有格式完全开放 | 相对封闭,受平台生态影响 |
注意,我不是要做“劝退谁”或“拉踩谁”的判断。真实项目里,效率和可控如何取舍,完全取决于你手里是什么活。如果只是帮朋友做个小板子、打个样,直接选嘉立创 EDA 没有任何问题。如果你在认真规划一系列产品,并且希望设计资产能伴随你很多年、不受任何单一平台限制,那 KiCad 的开放性就是它的最大护城河。
4.3 KiCad 适合做哪些商业项目
很多人在评估“KiCad 适合做哪些商业的项目”时,潜意识里还带着“开源 = 业余”的成见。从我实际跑过的项目来看,这个成见该放下了。我认识不少人用 KiCad 完成了从样品到量产的全过程,它的输出文件可以直接对接板厂和贴片厂。
比较适合 KiCad 发力的商业项目主要有这么几类:
- 硬件产品原型验证阶段,需要快速迭代工具链,不希望在授权谈判上浪费时间。
- 长期维护的嵌入式主板或物联网网关,未来会持续做改版和定制。
- 教育硬件、开源硬件周边产品,天然自带“开放工具 + 开放设计”的品牌调性。
- 科研设备和仪器配套电路,需要对每个设计细节透明可控、方便写论文和复现。
至于高密度 FPGA 板卡、多层高速数字电路或严格的射频设计,KiCad 10.0 已具备基本能力,但相比顶级商业 EDA 仍有差距。这个差距不在“能不能画出来”,而在高级仿真工具链、团队协作平台、规则驱动的自动化程度这些偏工业化方向。硬件创业者最怕的就是用错工具浪费工时,因此需要分清场合:原型和中小批量,KiCad 完全可以胜任;真正的超高速、超复杂板卡,还是建议按团队惯用手法来。
5. 用 KiCad 跑完一个真实项目的体会与避坑
5.1 协同设计:从“发文件”到“管版本”
前面提过 KiCad 的文件格式天然适合 Git,这里多讲点实操细节。一个完整的 KiCad 工程目录里包含.kicad_pro(工程文件)、.kicad_sch(原理图)、.kicad_pcb(PCB)、还有对应的符号库、封装库、仿真文件等。只要注意别把自动生成的临时文件(比如备份文件、缓存文件)提交进仓库,版本管理就能顺畅跑起来。
我的习惯是给 Git 写一个.gitignore,排除-backup文件和缓存目录。提交信息遵守固定的格式,比如[原理图] 修改电源部分的滤波电容容值、[布局] 调整 U3 位置以缩短 DCDC 反馈路径。配合在线平台的可视化 diff,每次改了什么一目了然。这种工作流带来的最大价值是“悔棋功能”:电路改坏了、改少了,随时可以回到上一个稳定点重新来,而不是靠记忆和备份文件自救。
5.2 封装库管理:别相信“自动匹配”,要建立自己的主库
KiCad 官方库的完善程度已经非常高了,但有一个原则我需要反复强调:你自己的项目,最终要有一份自己维护的主库。原因很简单,官方库经过广泛验证,但它必须考虑通用性,不可能预设你项目里的特殊元器件参数。比如某颗料有多个厂家在供货,每个厂家的封装焊盘尺寸可能一致,但丝印方向和装配要求略有差异,这种细节只有项目里才能暴露出来。
我的做法是:每做一块新板子,先把用到的新元器件在官方库或者芯片厂商提供的参考封装基础上过一遍,核对焊盘尺寸、间距、丝印框、3D 模型指向。核对无误后存进自己的公司库或个人库。这个习惯头几次会耽误一点时间,但积累到两百个封装以上时,它的价值就显现出来了——画新板子的元件入库时间几乎降到了零,而且极少出现封装错漏。
10.0 的封装库编辑器对图形交互做了不少优化,测量工具也更直观。以前要对齐两个不同库里的焊盘,需要手调坐标,现在通过参考点对齐就能在两分钟内完成。这类细节让我维护封装库的压力小了很多。
5.3 敷铜操作与热焊盘
新手在 KiCad 里敷铜时,最易发生的问题一是“敷铜区域没有覆盖期望的网络”,二是“散热焊盘和实心焊盘不分”。在电源类 PCB 里,接地敷铜直接关系到散热和载流能力。有些芯片底部有大面积散热焊盘(比如 DCDC 芯片的过孔散热焊盘),这类焊盘连接敷铜时,我往往会选择热焊盘连接方式,也就是通过十字形的铜皮与敷铜相连。这样做是为了防止焊盘与大片铜皮直接相连后,手工焊接或回流焊时热量被迅速带走,导致虚焊。
同理,普通的信号焊盘我一般设成直接连接,但功率器件和发热器件会特意检查连接方式。KiCad 的敷铜规则里,可以针对不同网络、不同焊盘单独设置连接样式。第一次画板的人容易忽略这个细节,等板子拿回来发现芯片很难吹上去或者虚焊率偏高,才想起来查散热规则。
5.4 从“画出来”到“打样能用”之间的工艺栏位
KiCad 在生成 Gerber 文件时,选项比 EasyEDA 这类工具多得多,很多人一看到那一排排选项就发怵。我的建议是:板厂(比如嘉立创)的工艺规则页面都会给出标准的叠层、线宽线距、孔径和表面处理要求。先按板厂的“默认工艺”来设置 KiCad 的输出选项,第一个版本别去追求极限工艺,走一个完全成熟的流程。
省事的方法是用 KiCad 内置的“制造输出”向导,它会自动生成包含钻孔文件、Gerber 文件、以及一个汇总的压缩包。上传打样前,仔细检查一下文件清单里是否包含所有层。常见的问题有:忘记导出丝印层、钻孔文件与板框层不对齐、板框线宽使用了过细的值导致切板偏差。KiCad 自带的 3D 查看器是检查文件完整性的好朋友,看到完整的板子和器件模型无误,踩雷的概率会小很多。
5.5 插件与脚本:把重复劳动交给机器
KiCad 的 Python 脚本接口是它相对于很多商业工具的巨大优势。我在一个批量生成面板(Panelization)的项目里,通过脚本自动化完成了多块小板复制、添加工艺边、生成 V-cut 标记。相比手动复制粘贴、手动对齐,脚本执行几十块板子的流程只花了几分钟。
这种能力很适合电路设计里有大量重复工作的场景,比如统一替换丝印字号、批量修改位号前缀,或者根据物料清单自动生成采购表格。你不需要成为编程高手,学一点 Python 基础,再参考 KiCad 社区的开源脚本,基本就能解决工作里七成的重复劳动。对个人开发者来说,这相当于免费获得了一个几乎无限扩展的辅助工具集,也是我坚持推荐 KiCad 的重要原因之一。
6. 写在最后的一点个人体会
我最初接触 KiCad,纯粹是被“开源”两个字吸引。但真正让我长久留下来的,是它作为一种工具所代表的工作方式:所有设计数据都掌握在自己手里,所有流程都能按自己的项目去定制,而不需要为了迁就某个软件的授权或生态去改变自己的工作流。
如果你正处在从其他工具往 KiCad 迁移的路口,我的建议是别贪多,先老老实实画一块完整的双层板:画原理图、做封装、布局、布线、出 Gerber、打样、焊接调试。完整走一遍之后,你对这个工具的理解会超过刷一百篇教程。10.0 这一代版本在体验上的进步,就是给愿意投入这个学习成本的人最好的回报。而我最后想强调的,永远是把设计逻辑放在第一位,工具只是帮助你把头脑里的方案转成现实的手段——选择 KiCad 或任何工具,终归是为了让你更快、更自由地做出更好的硬件。