/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
目前AI Agent生成硬件原理图和PCB,主要通过KiCad和立创EDA实现,这两家生态相对比较开放,所以衍生出一些专门给AI用的MCP、CLI和Skill。

这篇文章,我们会手把手带着大家来安装对应的工具,快速体验下如何驾驭AI生成下方的比较规整的原理图:

视频教程:https://www.bilibili.com/video/BV1cvGw63EBs
一、AI Agent工具安装
建议安装ChatGPT,搭配GPT模型使用,直接访问:https://chatgpt.com/codex,或者点击下方,下载应用:

登录 ChatGPT 账号即可使用,界面说明:

然后可以输入框输入我们的需求:

二、KiCad
2.1、软件下载
打开官方网站,点击https://www.kicad.org/下载即可

2.2、软件安装
下载完成后,双击安装即可

首次启动后,会让你进行配置,如果你之前没有使用过,那就全部默认即可

最终可以看到以下界面,那就是安装成功了

2.3、KiCad CLI安装
安装完最新版本的KiCad后,默认会安装上KiCad CLI,你可以在 PowerShell 中检查,如果能查询到版本号即为安装成功:
kicad-cli –version
10.0.5
kicad-cli 是 KiCad 的命令行工具,用于在不打开图形界面的情况下处理电子设计文件,例如:
- 导出原理图 PDF、SVG、BOM
- 导出 PCB Gerber、钻孔文件、3D 模型
- 执行 ERC 原理图检查和 DRC PCB 检查
- 在脚本、自动化构建或 CI 中批量处理 KiCad 工程
2.4、KiCad MCP服务安装
KiCad MCP的作用是让 Claude、Codex 等 AI 通过 MCP 协议操作或读取 KiCad 工程的中间服务。
Codex / Claude
↓ MCP 协议
KiCAD-MCP-Server
↓ 调用 CLI、插件、IPC API 或处理工程文件
KiCad / kicad-cli
↓
.kicad_sch / .kicad_pcb / Gerber / BOM
基本环境要求:
- KiCad 9.0 或更高版本
- Node.js 18+
- KiCad 自带或可访问的 Python
Windows 安装
仓库提供了自动安装脚本:
git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server
.\\setup-windows.ps1
或者直接让AI帮你安装即可:
帮我安装https://github.com/mixelpixx/KiCAD-MCP-Server
它会自动检测 KiCad、检查 pcbnew、安装 Python 依赖、执行 npm install、构建 dist/index.js,并生成客户端配置。

用法很简单:新开一个 Codex 任务或重启 Codex 后,kicad MCP 工具就会出现在新会话里。当前这轮对话安装时才加进去,通常不会热加载。
2.5、AI Agent设计KiCad工程
接着,我们就进入设计阶段,在Plan模式下,记得在Plan模式下,不要上来就乱画,应该让AI知道边界条件和规范,也避免上下文窗口堆满的问题:
使用kicad创建工程STM32F103MINI,设计一个STM32F103C8T6最小系统原理图,不要进行连线,设计参考我发给你的图片的设计

这里的参考学习图片非常重要,你可以找你自己以往设计的原理图,或者你认为比较规范的官方原理图,把原理图截图或工程文件发送给AI作为学习对象,每个人或企业都有自己的设计风格,你可以让AI学习此设计进行输出。
等AI梳理输出计划后,自行核对下,然后让AI输出计划即可
是的,执行此计划
PLEASE IMPLEMENT THIS PLAN:
# STM32F103MINI KiCad 工程设计
## 总体设计
创建独立的 KiCad 10 工程 `STM32F103MINI`,采用 A4 横向单页原理图。参考图片使用蓝色模块边框、中文模块标题和集中式器件摆放,但严格不创建任何电气网络。
输出文件:
-`STM32F103MINI.kicad_pro`
-`STM32F103MINI.kicad_sch`
– 空白 `STM32F103MINI.kicad_pcb`
– 原理图 SVG/PNG 预览图
## 原理图内容
– 主控模块:`STM32F103C8Tx`,值显示为 `STM32F103C8T6`,封装 `Package_QFP:LQFP-48_7x7mm_P0.5mm`。
– 电源模块:5V 两针输入接口、`AMS1117-3.3`、10uF 与 100nF 输入/输出电容。
– MCU 电源模块:4 个 100nF 去耦电容、4.7uF 总线电容、VDDA 磁珠及 100nF/1uF 滤波电容。
– 时钟模块:8MHz HSE 晶振及两个 22pF 电容;32.768kHz LSE 晶振及两个 12pF 电容。
– 复位模块:复位按键、10kΩ 上拉电阻、100nF 电容。
– 启动配置:BOOT0 三针跳线和 10kΩ默认下拉电阻。
– 调试接口:五针 SWD 接口,使用普通说明文字标注 `3V3 / SWDIO / SWCLK / NRST / GND`。
– 指示灯模块:一个 LED 和一个 1kΩ 限流电阻。
– 扩展接口:左右各一个 1×20 GPIO 排针,通过普通文本列出建议引脚排列。
– 机械模块:四个 M3 安装孔。
## 布局与零网络规则
– 页面按“电源、时钟、复位、启动配置、SWD、MCU、指示灯、GPIO、安装孔”划分矩形区域。
– MCU 放在页面中央并占据主要区域,辅助器件按功能集中摆放。
– 不放置导线、总线、结点、网络标签、全局标签、电源符号、PWR_FLAG 或隐藏网络。
– 不使用 No Connect 标记;所有器件仅用于位置、参数和模块组成展示。
– 引脚用途只能通过普通文本说明,不使用 KiCad 网络标签对象。
– 标题栏使用“STM32F103MINI STM32F103C8T6最小系统(器件摆放版)”,版本 `V1.0`,备注“仅放置器件,无导线、无网络标签”。
## 验证
– 使用 KiCad 10.0.5 打开并导出 SVG,确认工程和原理图语法有效、符号没有缺失。
– 检查 MCU 型号、LQFP-48 封装、器件编号和值均正确且无重复。
– 静态检查原理图中不存在 `wire`、网络标签、结点或电源符号实例。
– 检查 A4 页面内模块边框、标题和器件没有重叠,预览效果接近参考图的模块化排版。
– ERC 不作为通过条件,因为严格零网络设计会有预期的未连接引脚报告。
## 默认约定
– 不加入 USB-C、CH340、OLED、RGB LED、自动下载电路等参考图外围模块。
– 电源入口采用简单的 5V 两针接口,不设计 USB 供电。
– 只创建原理图和空白 PCB 文件,不进行 PCB 布局、布线或封装摆放。
– 不修改或覆盖现有的 `STM32F103RC-Minimal-System` 和 ESP32 工程。
最终输出工程如下:

接着Plan模式下
先梳理下如何放置电源、GND和网络标签,有哪些线需要连接,如何连接才美观,不会出现线和器件的重叠
等计划生成,查看下没有问题后,就可以执行计划

最后,检查下连线规范
检查下线连接和规范

三、立创EDA
3.1、软件下载
打开官网:https://lceda.cn/,点击下载安装即可

当然了,用在线网页版本也是可以的,但是需要你打开网页https://pro.lceda.cn/editor,创建账号。
3.2、技能安装
接着,在你的AI Agent工具中安装技能,例如Codex中
安装这个技能https://github.com/easyeda/easyeda-api-skill

安装完成后,最好重启Codex终端,然后启动。
$easyeda-api 启动

在立创EDA中的扩展管理器安装Run API Gateway

搜索Run API Gateway,点击安装即可。
安装完成后,在Run API Gateway的界面点击“配置”,勾选所有配置。

最后,回到主界面,点击重新连接,如果显示连接成功,那就代表环境安装完成。

3.3、AI Agent设计立创EDA工程
在Codex中,进行快速测试,查看下能否能识别技能并进行操作:
$easyeda-api 新建一个名为 ESP32-Minimal-System 的空白工程。


切换页面可以看到工程创建完成

接着,我们就进入设计阶段,在Plan模式下,记得在Plan模式下,不要上来就乱画,应该让AI知道边界条件和规范,也避免上下文窗口堆满的问题:
$easyeda-api 设计一个STM32F103C8T6最小系统原理图,不要进行连线,设计参考我发给你的图片的设计

这里的参考学习图片非常重要,你可以找你自己以往设计的原理图,或者你认为比较规范的官方原理图,把原理图截图或工程文件发送给AI作为学习对象,每个人或企业都有自己的设计风格,你可以让AI学习此设计进行输出。
计划模式进行时,Agent会让你澄清相关需求,而不会直接猜测实现

最后输出具体方案,接下来,你点击方案,然后确认下方案是否有问题,进行补充或调整,如果你不确定,也可以把芯片硬件设计手册发送给AI,让AI先进行审查:

例如:方案如下
# ESP32 最小系统教学板方案
## Summary
在 EasyEDA 工程 `ESP32-Minimal-System` 中设计一块基于 `ESP32-WROOM-32E` 的两层教学实验板,目标是:
– USB-C 供电
– CH340C USB-UART 下载与串口日志
– 自动下载电路
– BOOT/RESET 按键
– 3.3 V 电源指示灯和用户 LED
– 完整 GPIO 排针、测试点和清晰网络标注
– 可直接进行 ERC/DRC 和打样检查
当前本地已有 KiCad 草稿文件,仅作为参考,不修改或自动迁移。
## Implementation Changes
### 原理图
建立以下功能模块:
-`ESP32-WROOM-32E`
– 3.3 V 供电
– EN 上拉与复位电容
– GPIO0 上拉
– 模组电源脚就近放置 100 nF 和 10 uF 去耦
– 不增加外部晶振和 Flash,使用模组内部器件
– USB-C 电源输入
– VBUS 作为 5 V 输入
– CC1/CC2 使用 5.1 kΩ 下拉
– USB D+/D- 接 CH340C
– 增加 USB ESD 保护
– 电源入口预留保险丝或限流位置
– 3.3 V 电源
– 使用 `AMS1117-3.3`
– 输入、输出分别配置 10 uF 和 100 nF 去耦
– 为 AMS1117 预留较大散热铜皮
– 明确标注 `VBUS_5V`、`+3V3`、`GND`
– USB-UART
– 使用 `CH340C`
– CH340C 采用 3.3 V 逻辑电平供电
– UART TX/RX 与 ESP32 交叉连接
– DTR/RTS 通过晶体管自动控制 EN/GPIO0
– 预留串口测试点
– 用户操作
-`BOOT` 按键连接 GPIO0
-`RESET` 按键连接 EN
– 用户 LED 连接 GPIO4,避免直接影响 ESP32 启动绑带脚
– 3.3 V 电源指示灯带限流电阻
– 扩展接口
– 两侧排针引出主要 GPIO、电源和地
– 预留 UART、I2C、SPI、ADC 常用引脚标识
– 引出 EN、GPIO0、3V3、5V、GND
– 对启动相关引脚增加清晰网络名和丝印说明
### PCB
采用以下初始板级约束:
– 两层板
– FR-4,1.6 mm,1 oz 铜厚
– 初始尺寸约 50 mm x 35 mm
– ESP32 天线朝向板边
– 天线区域下方和前方禁止铺铜、走线及放置器件
– USB-C 位于板边
– AMS1117 靠近 USB-C 和电源入口
– CH340C 靠近 USB-C
– ESP32 模组与数字噪声源保持距离
– 底层优先保持连续 GND 平面
– 电源和地使用较宽线宽
– 关键电源去耦电容紧贴对应引脚
– 排针按 GPIO 编号和功能分组排列
– 增加板卡名称、接口名称、按键名称、极性和 Pin 1 标记
### EasyEDA 执行顺序
1. 重新连接桥接服务并确认活动 EasyEDA 窗口。
2. 按工程 UUID 或工程名重新打开 `ESP32-Minimal-System`。
3. 使用 `DMT_Schematic.createSchematic()` 创建原理图,并创建原理图页。
4. 使用 `LIB_Device.search()` 逐项确认 ESP32 模组、CH340C、AMS1117、USB-C、按键、排针和无源器件的符号及封装。
5. 创建原理图元件、网络标签、电源符号、连线和测试点。
6. 使用 `DMT_Board.createBoard(schematicUuid)` 创建与原理图关联的 PCB。
7. 放置器件、布线、铺设 GND,并设置天线禁布区域。
8. 执行 ERC/DRC,修复未连接、短路、封装缺失、天线区域和电源规则问题。
9. 回读工程树、原理图页、PCB 文档和关键元件数量,确认工程保存状态。
所有 API 调用都必须先按技能文档核对签名,异步方法使用 `await`,枚举参数不使用猜测的数字值。
## Test Plan
– 工程验证:工程成功打开,包含一个原理图页和一个关联 PCB。
– 电源验证:USB-C VBUS 到 AMS1117 输入,再到 `+3V3`,无反向或悬空电源脚。
– 启动验证:EN、GPIO0 均有正确上拉,BOOT 和 RESET 按键不会造成常态误触发。
– 下载验证:CH340C 的 DTR/RTS 能够控制 EN/GPIO0,支持自动下载。
– UART 验证:TX/RX 交叉连接正确,逻辑电平为 3.3 V。
– USB 验证:CC 下拉、D+/D-、ESD 和 USB 外壳接地策略正确。
– 引脚验证:排针网络与 ESP32 模组引脚一一对应,无重复或漏引。
– PCB 验证:天线禁布区、GND 平面、电源线宽、去耦距离满足要求。
– DRC 验证:无未连接、短路、间距违规、悬空铜皮和封装缺失。
– 人工审查:检查丝印方向、Pin 1、按键名称、供电极性和接口可插拔性。
## Assumptions
– 默认使用板载陶瓷天线的 `ESP32-WROOM-32E`,不增加外接天线座。
– 默认只支持 USB-C 5 V 供电,不加入锂电池、充电和电池保护电路。
– 按用户选择使用 `AMS1117-3.3 + CH340C`;需特别关注 AMS1117 在 Wi-Fi 峰值电流下的发热和输入输出电容要求。
– 默认优先教学可焊接性、可测量性和接口完整性,而不是最小尺寸。
– 不覆盖或改写现有 KiCad 草稿文件。
等AI梳理输出计划后,自行核对下,然后让AI输出计划即可
是的,执行此计划

当然了,可以补充设计经验,这样AI的输出更可控
设计规范:
1. 按功能模块划分电路:电源、输入保护、主控、时钟、复位、通信、传感器、执行器、调试接口等。
2. 按信号流向安排器件:输入端 → 保护/滤波 → 功能处理 → 主控 → 输出端。
3. 电源电路按照电源入口、保护、转换、滤波、负载的顺序排列。
4. 去耦电容、上拉电阻、终端电阻、晶振、电感、TVS、ESD 等器件应靠近对应引脚或接口。
5. 区分高压、大电流、高速、模拟、数字、射频和敏感信号,避免不合理交叉与混排。
6. 强弱电、模拟地与数字地、功率地与信号地要明确分区,并说明汇流和回流路径。
7. 接口电路应靠近连接器,保护器件优先靠近外部接口。
8. 主控周边电路应围绕芯片引脚功能布局,减少关键网络长度和交叉。
验收规范:
原理图器件全部存在且无重叠。
每个模块旁边有名称标识
原理图连线数量为 0。
确认下位置没问题后,就可以让AI进行连线
$easyeda-api帮我进行连线。
四、总结
4.1、技能优化
当你绘制完一份不错的工程图纸后,你是可以把这个过程打包成为技能的,使用Skill Creator后,后续就可以把技能沉淀下来,也可以给到别人去用。
Skill Creator 帮我总结这个工程的创建过程,然后打包为技能
当然了,你也可以逐步去优化技能,提高技能的效率,优化输出,例如:
加入并行搜索
加入并行摆放
加速启动和停止
增加经验循环记忆系统
当下,AI生成原理图效果还是和实际工程师设计的图纸存在一定的差异的,还是需要我们有一定的经验进行辅助,但是随着大模型在这个领域积累更多的数据和经验,逐步可以帮我们做一些提效的市区,所以提前了解这些工具的使用是有必要的。
4.2、技能打包
kicad-schematic-builder 用于创建、修改、布线和审计 KiCad 原理图,支持参考图设计、分阶段确认、标准符号选择及模块化布局。它还能自动检查 ERC、网络连接、符号来源、文字与器件碰撞、边框穿越和视觉密度,保证原理图既电气正确又清晰专业。
更多嵌入式、硬件技能见AI课程和DevHard AI开发者平台


