从这里开始
你的第一块电路板
从空目录到经过检查、布线的双层电路板及板厂制造文件包:电路板规格、KiCad 元件、原理图、布局、布线和 Gerber 文件。
本指南通过手动构建一个小电路板,每次一个命令:一个两针电源排针、一个电阻、一个绿色 LED 和一个去耦电容,位于双层 JLCPCB 电路板上。这是智能体遵循的相同序列,因此自己执行一次会使您更容易理解智能体稍后在做什么。
您需要 PATH 上的 agentee 和已安装的 KiCad 库。如果两者都没有,请参见安装。
启动项目
项目是一个目录。其下方具有已知后缀的所有内容都会被加载。
mkdir blinky && cd blinky
agentee new board blinky
agentee checknew board 写入 blinky.board.toml:50 乘 30 mm 轮廓,JLCPCB 双层 1.6 mm 叠层,一种过孔类型和四个网络类。检查加载它并报告无内容:
0 sims, 0 layouts, 0 schematics, 1 boards, 0 symbols, 0 footprints: 0 errors, 0 warnings当项目干净时,check 退出码为 0,有错误时为 1,文件无法加载时为 2。该退出码使智能体或 CI 能够对其循环。
将电路板调整为正确尺寸
四个元件不需要 50 乘 30 mm。缩小轮廓:
agentee edit board blinky outline --size 30,18 --corner-radius 1mmagentee edit 为您重写 TOML,保留其中的任何注释,并对触及的文件运行检查。对于如此简单的电路板,不要缩小太多:每个电路板都在其丝印中携带 agentee vX.Y.Z-HASH 版本,检查需要一个约 23 乘 1.2 mm 的清晰条带来放置它。在 20 mm 电路板上,它会报告 watermark 错误,并且板厂包被拒绝。
导入元件
agentee 读取 KiCad 库,而不是自带一套。搜索库,然后导入符号及其应使用的封装:
agentee search symbol conn_01x02
agentee import symbol Connector_Generic:Conn_01x02 --footprint Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical
agentee import symbol Device:R --footprint Resistor_SMD:R_0603_1608Metric
agentee import symbol Device:LED --footprint LED_SMD:LED_0603_1608Metric
agentee import symbol Device:C --footprint Capacitor_SMD:C_0603_1608Metric
agentee check搜索的每个词都必须匹配 Library:Name。导入的内容以 TOML 格式写入 symbols/ 和 footprints/。现在检查有内容要报告:
warning: ./footprints/R_0603_1608Metric.fp.toml: R_0603_1608Metric silk: silk lines under the fab minimum width 0.15mm: 2, thinnest 0.12mmKiCad 绘制 0.12 mm 的丝印,而 JLCPCB 要求 0.15 mm。打开每个封装,将其丝印图形中的 width = 0.12 改为 0.15,或者让智能体来做。这是使用 agentee 的典型工作形态:诊断指明文件、条目和数值,修复只需一次编辑。
编写原理图
agentee new schematic blinky起始文件只是一个名称。在其下方添加 board = "blinky",以便原理图知道存在哪些网络类。然后用一批命令添加元件和网络,每行一条:
agentee edit sch - <<'EOF'
add J1 Conn_01x02 PWR --footprint PinHeader_1x02_P2.54mm_Vertical
add R1 R 1k --footprint R_0603_1608Metric
add D1 LED green --footprint LED_0603_1608Metric
add C1 C 100n --footprint C_0603_1608Metric
net VIN J1.1 R1.1 C1.1 --class Power
net LED_A R1.2 D1.A --class Signal
net GND J1.2 D1.K C1.2 --class Ground --style power
EOF一批操作是一次加载和一次检查,因此中间未完成的状态不会被标记。引脚格式为 REF.PIN,按编号或唯一引脚名称: D1.A 是阳极,输出会确认解析到的编号。
added J1 (Conn_01x02)
added R1 (R)
added D1 (LED)
added C1 (C)
VIN now joins J1.1, R1.1, C1.1
LED_A now joins R1.2, D1.2
GND now joins J1.2, D1.1, C1.2
warning: /home/you/blinky/blinky.sch.toml: blinky part R1: body overlaps D1 (parts[2])
0 errors, 1 warnings in the files this touchedadd 将每个元件放在最后一个元件的右侧,LED 落在了电阻上。移动它,顺便也移动电容,然后查看:
agentee edit sch blinky move D1 25.4,0 --rotation 90
agentee edit sch blinky move C1 12.7,10.16
agentee render sch:blinky -o sch.png
你没有画导线。原理图以引脚列表形式列出网络,agentee 在绘制时会在 1.27 mm 网格上布线。每个网络都有一个 class;留在 Default 的网络会触发警告,因为网络类决定电路板上的走线宽度、间距和过孔。
放置元件
agentee new layout blinky在起始文件中添加 board = "blinky" 和 schematic = "blinky"。现在检查会失败,这是正确的:
error: ./blinky.pcb.toml: blinky footprints: C1 is not placed一次性放置所有元件:
agentee place blinkyplace 将连接器放在边缘,保持无源元件靠近其连接的元件,优化结果,并移动现在重叠的参考标号。它打印 JSON 报告,并将 at 和 rotation 写入每个元件的 [[footprints]] 条目。这是一个快速开始:在实际电路板上,你查看结果,手动移动重要元件,标记为 locked = true,然后重新放置其余部分。
布线
现在检查列出所有缺失的连接:
error: ./blinky.pcb.toml: blinky net VIN: [unrouted] 2 unrouted: J1.1 | R1.1 | C1.1 are not joined在两层上为地铺铜,将地焊盘连接到铺铜,并布线其余两个网络:
agentee edit pcb blinky zone GND --layers F.Cu,B.Cu
agentee tie blinky
agentee route blinky --nets 'VIN,LED_A'
agentee checktie 在每个有铺铜区域的网络的 SMD 焊盘旁放置短接线和过孔,这是地和电源焊盘应连接到平面的方式。 route 在网格上布线指定网络,保持每个网络类的宽度和间距,并将普通的 [[tracks]] 和 [[vias]] 追加到布局中。之后你可以编辑它们。
0 sims, 1 layouts, 1 schematics, 1 boards, 4 symbols, 4 footprints: 0 errors, 0 warningsagentee render pcb:blinky -o pcb.png
编写板厂文件包
agentee fab pcb:blinky -o fab/布局有错误时 fab 会拒绝。没有错误时,它写入每层的 Gerber、钻孔文件、JLCPCB 列格式的 BOM 和贴片文件、IPC-D-356 网络表、装配图、板厂注释,以及用于上传的 blinky-gerbers.zip。
你做了什么
每一步都是相同的循环:一次编辑,检查,查看。文件之外没有保留任何状态,因此你可以在任何点停止,在 git 中打开目录,或者将其交给拥有 技能 的智能体并要求它添加一个反向极性二极管。
下一步:
- 设置你的编码智能体,让它能从一句话完成所有这些。
- 在阻抗或电流重要的电路板之前,阅读 电路板规格、叠层和网络类。
- 使用
agentee view在你或智能体编辑时实时查看电路板更新。