简介:这是一份系统讲解 KiCad 开源 PCB 设计工具中原理图编辑器 Eeschema 的中文指南,适合电子工程初学者、硬件开发人员以及准备转向开源 EDA 流程的工程师。章节按实际使用顺序展开:从基本命令、鼠标操作、热键/快捷键,到顶部菜单栏、左右工具栏、弹出菜单,再到文件菜单、首选项、元件库与颜色方案设置,覆盖原理图绘制与 PCB 设计衔接的关键环节,便于随查随用。资源包内含 1 个 PDF 文档,大小仅 1.94MB,方便在电脑或移动设备上离线阅读和检索;目前已有 442 人学习/下载。通过这份指南,读者可以快速理解 KiCad 的界面逻辑与命令体系,掌握放置元件、绘制连线、检查原理图等日常操作,为后续 PCB 布线打下扎实基础。
1. 开源的 PCB 设计工具手册:为什么先啃 Eeschema 而不是直接画板
这份《KiCad使用指南 开源的 PCB 设计工具 Eeschema》PDF,是官方手册级别的功能拆解,不是那种三分钟画个流水灯的速成教程。拆完最大的感受是:Eeschema 的职责范围比多数人以为的大得多——它不只是画原理图的画布,标注编号、电气规则检查(ERC)、BOM、网表生成、自定义元件库都藏在这个模块里。新手照着手册把 Eeschema 完整走通一次,后面导入 Pcbnew 做布局布线才不会被前后端口问题卡住;熟手则能把它当成快速定位菜单、热键与参数的字典。适合正在从商业 EDA 转向开源流程的电子工程师、硬件爱好者,以及需要给团队做工具选型评估的人。
2. 界面与命令体系:工具栏、鼠标块操作、热键与网格一次调顺
拿到这份手册,建议先跳过前面的大段概述,直接从命令这一块开始读。它不是讲概念,而是告诉你所有操作从哪里进、有哪些热键、网格/缩放/坐标怎么设置。很多新人的痛苦不是不会设计,而是找不到按钮、记不住快捷键。这一章按我第二次读时的顺序,把界面布局、鼠标操作、热键和首选项四块内容梳理一遍。
2.1 顶部菜单与左右工具栏的职责划分
Eeschema 主窗口的布局分三块:顶部菜单栏和主工具栏,右侧绘图工具栏,左侧视图辅助工具栏。手册第 2.7 到 2.10 节逐个图标讲了一遍,我读完记住的规律是:右侧是“往图纸上放东西”的,左侧是“调整视图”的,顶部是“对整个工程操作”的。这三块职责一旦混着记,界面会显得很乱,实际画图时也会反复找错地方。
顶部主工具栏的几个核心按钮要优先认准:图纸管理(新建和切换子图纸)、搜索工具、网表工具、标注工具、ERC 工具、BOM 工具、封装分配工具。注意网表和 ERC 在工具栏上挨得很近,习惯上先跑 ERC、确认没有电气错误后再生成网表,顺序反了容易拿一张有错误的网表去做后级操作。
右侧工具栏是元件、连线、总线、标签、电源端口、文字注释这些放置类操作;左侧工具栏是缩放、平移、刷新、坐标显示这类视图控制。手册里每个图标都有对应功能说明,建议打开软件后先对照着点一遍,把默认图标位置记牢。
提示:界面元素找不到时,去 Preferences 菜单里看工具栏开关,很多“工具不见了”其实是切换布局时被关掉,不是软件出问题。
2.2 鼠标命令与块操作:拖动、框选、弹出菜单
手册第 2.2 节把鼠标命令分成“基本命令”和“块操作”两类。基本命令就是点选、右键弹出上下文菜单、滚轮缩放、中键拖动平移,这些没有太多技巧。块操作才是效率分水岭:按住左键拉一个矩形框选一组元件,然后对这组元件整体移动、复制、剪切、粘贴或镜像。
块选择的方向是个容易被忽略的细节。常见做法是从左上往右下框选,只选中完全落在框内的对象;反过来从右下往左上框选,会把框边碰到的对象都算进去。这个行为在很多版本里保留着,画复杂图纸时一旦记反,很容易把不想选的元件一起拖走。
右键菜单也分两种:空白处的菜单包含放置、元件选择、图纸设置等;点在具体对象上时弹出的是“快速编辑”菜单,能直接改属性、移动、旋转、删除。手册 2.11 节讲 Pop-up menus and quick editing 就是这块内容,它比顶部菜单少跳一层,画图效率的差距就在这里拉开。
2.3 热键与网格:画图效率的两个杠杆
手册第 2.3 节给了一套热键表,我不建议一上来就背全部。按自己的习惯先锁六个高频键:A 添加元件、W 连线、C 复制、R 旋转、X 镜像、M 移动。把这一组按熟,再往里加 L 标签、B 总线、T 文字、E 编辑属性。默认映射不一定每个版本都一致,打开 Preferences → Hotkeys 能看到当前版本完整列表,也可以按自己的左手习惯重映射。我的习惯是把旋转映射到空格旁边,减少右手在鼠标和键盘之间的切换频率。
网格是另一个容易被绕进去的坑。手册 2.4 节讲的网格选择,实际上就是在毫米和密尔两套刻度之间按需切换,同时调整格点密度。信号连接和元件摆放用较细的格点,画总线和离线标注时切回粗格点会更容易对齐。缩放(2.5 节)和光标坐标显示(2.6 节)是配合网格使用的:把坐标显示打开后,放置元件能看到实时坐标,做精确对齐就靠这个数字。
2.4 首选项与语言、颜色、元件库路径
Preferences 菜单里有几项值得在动手前设置好。手册 3.2.2 到 3.2.5 节分别讲了元件库、颜色方案、编辑器选项和语言。
界面语言按个人习惯切就行,但排查问题时英文界面与官方文档的术语对得上,所以至少要认得英文菜单名。颜色方案(Set Color Scheme)可以把原理图背景调成深色,长时间看图舒服很多,但导出 PDF 给别人看之前要切回浅色,不然打印出来一片黑。元件库路径(Component Libraries)优先确认是否包含自带库和团队公共库路径,这一项配置不对,后面会出现元件放不出、封装缺失等问题。编辑器选项(Schematic Editor Options)里主要是网格默认值、光标类型、撤销层数这些,保持默认通常问题不大。
3. 原理图设计主流程:元件放置、连线、总线与标签的边界
手册第五章是整份文档的实操主菜,从空白图纸一路讲到连线完成。我按自己做项目时的顺序把它拆成三段:元件放进来并改对属性、把元件之间的连接画出来、最后补上注释和标题栏。原理图最终的质量,一半取决于这三步的操作习惯。
3.1 元件放置与属性编辑:从库选择到字段修改
放置元件按 A 或点右侧工具栏的元件图标,弹出对话框后输入元件名。比如输入 R 会搜到电阻系列,输入 MCU 型号关键词能搜到对应处理器。手册 5.4.1 节的流程是:先选库,再过滤,最后双击放到图纸上。库选择这里要注意:实际项目里优先选“封装明确、型号可采购”的元件,而不是随手放一个通用符号。通用符号后面在 Pcbnew 里常常因为没有封装信息而被迫回头补。
元件放到图纸后,双击打开属性编辑对话框,主要字段是 Reference(位号,如 R1)、Value(值,如 10k)、Footprint(封装)以及自定义字段。手册 5.4.3 节讲了已放置元件的修改方式,包括改值、换封装、移动文本字段位置。一个容易忽视的点:文本字段的显示位置只影响图纸整洁度,不影响电气连接,所以可以等到图纸内容画完再统一整理位号和值的摆放。
电源端口不走普通元件对话框,而是从右侧工具栏的电源端口入口进入,常见的 VCC、GND 在 Power 库下。手册 5.4.2 节强调电源端口本质上是带电源性质的引脚符号,不要把普通 IO 引脚当作电源用,否则后面 ERC 会报电源未驱动。这个坑到第 5 章还会重点展开。
3.2 连线、总线与标签:三种连接方式的边界
原理图连接有三种手段:直接画线连接(W)、通过标签同名连接(L)、通过总线批量连接(B)。手册 5.5 节把 Wires、Buses、Labels、Power ports 分开讲,就是因为它们的电气含义完全不同,不能混用。
直接连线适用于信号距离近、图纸上能看清楚的连接。标签连接适用于同页内距离远的情况:两个局部标签只要名字相同,且严格区分大小写,在电气上就算连在一起,不需要真的拉一根跨越半个图纸的线。跨页或跨层级的信号应使用后文第 6 章提到的层级标签和全局标签。
总线是给成组信号用的,比如数据线 D0~D7、地址线 A0~A15。手册 5.5.3 节强调总线成员的关键规则:总线名必须写成 D[0..7] 这种形式,而进入总线的每根线要用同名成员标签 D0、D1……D7 接入。最常见的错误是总线名写 D[0..7],成员标签却写 D0,两边命名不一致,结果总线看着连上了,实际网络是散的。每根线接入总线的位置应当出现电气连接点,没有绿点就说明悬空了。
电源端口连接(5.5.4 节)和 No Connect 标志(5.5.5 节)看似不起眼,但很实用。No Connect 标志放在不用的引脚末端,表示“这个引脚是有意不接的”。没有它,ERC 会把悬空引脚全部报成警告。我的习惯是每张原理图定稿前,把所有未使用引脚全部点上 No Connect,这比事后翻 ERC 报告逐条核对省事得多。
3.3 绘图补充:文字注释与标题栏
图纸上除了电气连接,还有两类非电气内容:文字注释(T)和标题栏(Sheet title block)。手册 5.6 节明确说明它们不影响网表,只影响图纸可读性和文档规范性。文字注释建议用来写设计说明、版本变更记录、特殊走线要求,这些信息在生产对接时往往比原理图本身更重要。
标题栏在每张图纸的右下角,至少要填掉图纸名称、版本号、日期这三项。多页图纸尤其要注意版本号,否则输出 PDF 后同一版本混乱,生产端拿到旧图纸很难追溯。我在实际项目中就遇到过因标题栏版本号漏填,导致打样回来的板子和最新原理图对不上的情况,这个细节手册里写得很清楚,容易被跳过但代价不小。
4. 设计验证与输出链路:标注、ERC、BOM、网表与打印导出的顺序
拓扑画完后,接下来是验证与输出。手册 4.5 标注、4.6 ERC、4.7 BOM、4.8 封装分配,加上第七、八、九章,讲的都是同一件事:怎么让这份原理图变成后端工具能可靠接手的东西。我建议把流程固定成 标注 → ERC → BOM → 网表 四步,这是我能踩出来的返工最少的一种顺序。
4.1 标注:给每个元件分配唯一位号
刚画完的原理图里,所有元件的位号可能是空的,或者显示成 R?、C? 这种待定状态。这时候必须运行标注工具(顶部工具栏的 Annotation),把 R?、C? 批量分配成 R1、R2、C1、C2 这样的唯一编号。手册第七章整章讲自动标注,两个关键选项是:排序方式和标注范围。
排序方式决定位号分配顺序。按 X 位置排序就是从左到右,按 Y 位置排序就是从上到下。我的习惯是“按 X 位置排序、从左上角开始”,这样位号顺着信号流方向增长,别人看图纸时找元件很顺。标注范围则选择是“整个工程”还是“当前图纸页”:多页图纸选整个工程做一次整体标注,局部修改时选择当前页,并勾选保留已有编号,防止改了一个电阻、全图编号全部重排。
4.2 电气规则检查:投板前把电气问题拦下
ERC(Electrical Rules Check)的作用是在原理图层面检查“这张图能不能成立”。跑完后会列出错误(Error)和警告(Warning),常见问题包括输出引脚互接、电源引脚未驱动、引脚类型冲突。手册第八章 8.5 节专门讲 Power pins and Power flags:电源引脚必须由电源性质的对象驱动,这是大多数电源类报错的根源。
ERC 矩阵(8.6 节)是一张“引脚类型 × 引脚类型 = 报错级别”的配置表。刚接触的人通常会忽略它,但实际项目里经常要调整。比如某个传感器输出是开漏类型,它与上拉电阻输入之间的连接在默认矩阵里可能判定为错误,需要手动降级为警告或忽略。
我的做法是:第一次跑 ERC 用默认矩阵,把报告逐条看完,区分哪些是真实错误,哪些是“这个设计本来就该这样”,再决定是否调整矩阵。不要一上来就关掉所有警告,否则 ERC 就失去了拦截作用。
4.3 封装分配、BOM 与网表:原理图到后端的三个出口
生成网表之前,先确认每个元件的封装有没有分配好。顶部工具栏的封装分配工具对应手册 4.8 节,作用是批量把原理图符号映射到 PCB 封装。如果符号自带的默认封装不是目标封装,在这个工具里统一替换,比回到原理图里一个个改要快得多。跑 BOM 工具之前同样要确认 Value 和 Footprint 都填完整,不然清单里会出现一串没有数值的裸位号。
网表是原理图与 PCB 布局、仿真的接口。手册第九章列了默认格式、PSPICE 格式等多个选项,默认格式直接给 Pcbnew 用,SPICE 系格式给仿真用。命令行方式在新版里也有保留,常见做法是这样:
# 常见做法:命令行直接生成网表,适合批量或脚本化流程 # eeschema 语法:eeschema <原理图文件> -o <输出网表文件> eeschema mcu_control.sch -o mcu_control.net # 新版 KiCad 使用 kicad-cli 替代老命令,导出网表参数略有不同 kicad-cli sch export netlist mcu_control.sch -o mcu_control.net逻辑说明:第一行的 eeschema 命令对应老版本图形界面工具自带的命令行入口,-o 参数指定输出网表文件名,导出格式跟随工程设置;第二行的 kicad-cli 是后续版本新增的统一命令行工具,功能相同,只是命令结构从“直接跟 -o”变成了“sch export netlist 子命令”。脚本化流程里建议把输出文件放到独立子目录,避免覆盖源目录里的同名文件。
生成的网表文件里,每个元件、每条网络都有明确条目。KiCad 网表常见导出格式是 s-expression 结构,核心内容大致如下:
(export (version "D") (components (comp (ref "R1") (value "10k") (footprint "Resistor_SMD:R_0805_2012Metric")) (comp (ref "C1") (value "100nF") (footprint "Capacitor_SMD:C_0805_2012Metric"))) (nets (net (code "0") (name "GND") (node (ref "R1") (pin "2")) (node (ref "C1") (pin "2"))) (net (code "1") (name "VCC") (node (ref "R1") (pin "1")) (node (ref "C1") (pin "1")))))网表结构说明:文件分成 components 和 nets 两节,components 记录元件、值、封装路径,nets 记录每条网络连接了哪个元件的哪个引脚。检查网表时先看网络名,再看每个网络下的节点数量。如果某条网络只连了一个引脚,多半是漏线或标签拼写不一致,这个规律在复杂图纸里排查网络丢失问题时非常有用。
4.4 打印与导出:PDF、SVG、DXF 各管一段
手册第 10 章讲打印与绘图输出:Postscript、PDF、SVG、DXF、HPGL 都有对应章节。日常评审和归档用 PDF,SVG 适合放进文档系统做矢量图,DXF 用于结构设计对接,HPGL 是老式绘图仪格式,现阶段基本用不到。
输出 PDF 前确认页面尺寸(A3/A4)和标题栏内容都正确,我习惯在出图前先跑一次 ERC 并把报告存成文件,保证外发的 PDF 和网表来自同一版本的图纸。这样后续如果发现 PDF 和实物对不上,至少能确认是版本问题还是设计问题。
5. 避坑排查:五个常见翻车场景与处理顺序
下面五条是我在多个项目里实际遇到过、且手册里都有对应章节说明的问题。每条按现象、原因、解决三步写,方便对照排查。
5.1 打开旧工程弹“缓存元件”提示,元件越救越多
现象:用另一台电脑或新版本打开历史原理图时,Eeschema 报告“元件库中的符号与缓存副本不一致”,并弹出一串待处理的元件列表。
原因:原理图文件内部缓存了一份元件符号数据。当库文件里的符号被修改后,缓存副本与当前库不一致,工具无法确定以哪个为准。手册 5.7 节专门讲了 Rescuing cached components 的处理逻辑。
解决:先读对话框里列出的元件名和差异描述。如果改动是库侧有意的版本升级,比如新增引脚或修正符号方向,选择使用当前库版本;如果改动是旧工程特有的定制符号,选择保存缓存副本到用户库。不要无脑全部“拯救”,否则同一个元件会在库里出现两个近似副本,后续维护会很乱。
5.2 ERC 报“Power pin not driven”
现象:ERC 跑完,报错信息指向某个芯片的电源引脚“未被任何输出电源引脚驱动”,但明明画了 VCC 和 GND 网络。
原因:电源引脚要求被电源性质的对象驱动,普通的端口标签、普通连线都不算数。最常见的情况是用了普通符号的图形但没赋予电源属性,或者画了网络标签叫 VCC 但没放真正的电源端口符号。
解决:检查电源引脚末端是否连接了 Power 库中的电源端口符号。如果电源来自外部适配器,原理图上不需要体现内部来源,就在电源网络上放一个 PWR_FLAG 标志,告诉 ERC“这个网络的驱动来源在图纸之外”。PWR_FLAG 是手册 8.5 节点名的处理手段,很多人排查一下午,最后只是少放了一个标志。
5.3 总线看着连上了,网表里网络却是断的
现象:图纸上 D[0..7] 总线画得很整齐,每根线也接到了总线,但生成的网表里找不到 D0~D7 网络,或者网络里只有几个节点。
原因:总线成员标签与总线名不一致,或者进入总线的线没有走到真正的电气连接点。总线名的方括号语法 D[0..7] 决定成员是 D0……D7,简单标签“D0”不会自动关联进总线。总线和线的连接处应当有电气连接点,没有绿点就是悬空。
解决:统一总线和成员命名,把成员通过正确的入口接到总线。画复杂数据总线时,我一般先定好总线名,再用复制方式放置成员标签,避免手打出大小写差异。做完后可以在导航工具里检查总线标签是否真的连接成功。
5.4 标注后位号乱跳,或改动一个元件后全图编号重排
现象:加了两颗电阻后跑标注,原来的 R1~R20 全部变成 R? 或者整体重新编号;还有人发现位号顺序和图纸阅读顺序相反。
原因:标注对话框里的排序方式和复位选项没设对。常见情况是勾选了重置所有编号,或者排序方式选了按 Y 坐标,而图纸上的放置顺序并不是视觉顺序。
解决:局部修改时勾选“保留已有编号”,只标新加入的元件;第一次整体标注时选按 X 位置排序、从上到下。多页图纸建议按页分组标注,避免位号跨页跳号。手册第七章的示例说明,标注顺序可以按 X 或 Y 排列,不会自动按信号流排,需要手动设置起点和范围。
5.5 工程路径特殊字符导致网表输出失败
现象:网表生成时提示文件无法创建或打开,或者输出后在 Pcbnew 里打不开。工程名或路径带空格时尤其明显。
原因:网表输出文件名或工程路径里包含空格、中文、斜杠等字符,工具处理文件名时出现兼容问题。手册 9.4.1 节专门提醒了网表名称的注意事项。
解决:工程名和输出文件名统一用字母、数字、下划线;输出路径不要放在带空格的目录下。新版对中文路径支持好了一些,但老流程里“路径带空格”仍然是最容易忽视的翻车点。我的习惯是工程根目录名和原理图文件名在创建时就定为英文短名,后续所有输出文件都跟着这个命名走。
6. 进阶用法:层级原理图与自建元件库的落地验证
6.1 层级原理图:多页工程的两种组织方式
工程超过三五页时,扁平的多页图纸会变得难以导航。Eeschema 的层级原理图可以理解为把若干子图纸封装成图纸符号,挂在根图纸上:在根图纸上双击图纸符号即可下钻到子图纸,配合层级导航在几十页图纸间跳转。三种标签决定了信号怎么穿过层级边界:
| 标签类型 | 适用范围 |
|---|---|
| 局部标签 | 仅当前图纸页内同名相连 |
| 层级标签 | 在根图纸与子图纸之间传递信号 |
| 全局标签 | 整个工程内同名即为同一网络 |
6.2 元件库编辑器:建一个自己的符号并验证
自建元件库是 Eeschema 容易被低估的能力。打开元件库编辑器后新建元件,画外框、放引脚,关键点是每个引脚都要设置名字、编号和电气类型。引脚电气类型直接影响 ERC:Input 表示该引脚是被驱动对象,Output 表示输出源,Power 表示电源引脚,Passive 用于电阻电容这类无方向元件。我建库件的习惯是:电源引脚标 Power,信号输入标 Input,方向不确定的先用 Passive,然后逐条核对 ERC 报错。自建库最常见的翻车是引脚类型全选了 Passive,相当于 ERC 形同虚设,等到 PCB 画完才发现信号方向设计反了。
自建元件的验证方法:把新元件放进一张空白测试图,只放这一个元件,依次跑一遍 ERC 和网表生成,确认引脚编号、电气类型都被正确导出,再拖进实际工程复用。这套动作固定下来后,我每次建新库件都强制走一遍:画符号、定引脚表、跑单元件 ERC、再入库。以前有次跳过引脚类型定义,导致后续十几页图纸的 ERC 报告里全是无效报错,排查了一下午,希望帮到你。
本文还有配套的精品资源,点击获取