前言
这周我没有只做一个单点任务,而是把 Codex 当成一个长期协作的工程助手来用。到 2026-09-06 晚上,我对本周C:\Users\Administrator\Documents\Codex下的工作区做了一次全盘扫描,范围覆盖 2026-08-31 到 2026-09-06。
最后整理出来的主线很清楚:先处理 Codex 本地配置,再搭建嘉立创EDA Bridge,然后完成一块 USB-C 有线光学鼠标原型板,同时还整理了一份 MG310 电机接线和机械参数资料。
这篇文章不是“AI 一键画板”的炫技记录,而是一次更真实的工程复盘:哪些东西做成了,哪些文件能作为证据,哪些地方只是目录名线索,哪些资料其实下载失败了,哪些风险不能被 ERC/DRC 的 0 错误掩盖。
1. 先做全盘扫描,而不是凭印象总结
这次复盘先扫描了整个本周工作区。实际结果如下:
- 2026-08-31:有主要产物,包含 Codex 配置备份、嘉立创EDA Bridge、鼠标 PCB 设计文件;
- 2026-09-01:有
jlink、vdd等会话目录,但没有落地文件; - 2026-09-02:有
while-1-less-if-key-num等目录,但没有落地文件; - 2026-09-03:有语雀链接相关目录,但没有落地文件;
- 2026-09-04:有一张 MG310 电机资料图片;
- 2026-09-05:没有日期目录;
- 2026-09-06:生成了博客初版、全量复盘版和配图。
我觉得这里有一个很重要的方法论:总结项目时不能只靠记忆,也不能只挑最完整的文件。空目录、失败下载、运行日志、临时截图,都能说明真实工作过程。尤其是硬件项目,很多风险不是在最终报告里才出现,而是在中间过程里已经有迹象。
2. Codex 本地配置备份:先把工具环境稳住
8 月 31 日的new-chat-3工作区里有一组 Codex 本地配置备份,目录名是:
codex-locale-backup-20260831-144429里面备份了Local_State、Default_Preferences和codex-browser-app_Preferences。从可读字段看,这次操作和语言/本地偏好有关,例如可以看到zh-CN相关设置。
这部分看起来和 PCB 没关系,但它其实是工程工作流的第一步:工具环境如果不稳定,后面做 EDA、查资料、写报告都会被打断。先把本地语言和偏好状态留一份备份,出了问题就有回退依据。
博客里我不会展开这些文件里的内部 GUID、账户字段和浏览器缓存细节,因为它们不适合公开。真正值得记录的是:AI 工具本身也需要配置管理。
3. 搭建嘉立创EDA Bridge:让 AI 能真正操作 EDA
本周最核心的工作区是 8 月 31 日的new-chat-5。这里搭建了一套嘉立创EDA Bridge 运行环境,包含:
package.jsonpnpm-lock.yamlscripts/bridge-server.mjsbridge-server.out.logbridge-server.err.lognode_modules
package.json显示环境名为easyeda-api,版本为1.1.28,依赖ws,启动脚本是:
{"server":"node scripts/bridge-server.mjs"}Bridge 的作用是连接 AI 工具和嘉立创EDA客户端。它提供 HTTP 和 WebSocket 通道,典型接口包括:
GET /health:检查 Bridge 和 EDA 连接状态;POST /execute:向嘉立创EDA发送需要执行的 API 代码;- WebSocket:维护窗口注册、消息转发、执行结果回传。
运行日志里能看到 EDA window 注册、ping/pong、断开和重连记录。这说明当时确实经过了连接调试,而不是单纯写了一个脚本放在那里。
这一步给我的最大提醒是:AI 辅助 EDA 不能绕过工程门禁。每次操作前都应该确认 Bridge 状态、EDA 窗口、当前工程和当前文档。原理图操作只能在原理图文档里做,PCB 操作只能在 PCB 文档里做。否则自动化能力越强,误操作风险越大。
4. 把 EDA 约束写成文档
同一个工作区里还有一份easyeda-design-constraints.md。这份文档是本周很值得保留的成果,它把 AI 操作嘉立创EDA时的规则写清楚了。
核心原则是:
正确性优先于速度,电气安全优先于版面美观。
里面比较关键的约束包括:
- 修改前必须确认 Bridge、EDA 窗口、工程和文档;
- 不能仅凭当前焦点推断目标工程;
- 使用新 API 前要查签名、参数、返回值和备注;
- Promise 返回值必须
await; - 枚举参数要用文档定义的枚举成员,不能猜数字;
- 原理图坐标和 PCB 坐标单位不同,不能混用;
- 删除工程、器件、网络、铜皮等高风险对象前必须确认;
- 自动布线后必须回读检查,不能只看“布完了”。
这其实是一份“AI 做硬件设计的安全手册”。它没有直接增加一个器件,也没有直接画一条线,但它决定了后续设计是不是可追踪、可复查、可解释。
5. 主线项目:USB-C 有线光学鼠标原型板
本周真正形成完整设计闭环的是一块 USB-C 有线光学鼠标原型板。它的目标不是一步到位做量产鼠标,而是先完成一块可用于电气验证的核心板。
这块板的主要方案如下:
- USB 2.0 Full-Speed 设备架构;
- USB-C 有线接口;
- CH552G 作为主控;
- ME6211C33M5G-N 提供 3.3 V;
- PAW3212DB-TJDT 作为光学传感器;
- 左右键使用 D2FC-F-7N(20M);
- 滚轮使用 HYCW05-9D-5P-DH 编码器并集成中键;
- USB D+/D- 配置 ESD 保护和 22 Ohm 串联电阻;
- USB-C 的 CC1/CC2 各使用 5.1 kOhm 下拉;
- 光学照明 LED 串联 100 Ohm,作为首版调试值。
原理图被分成 5 个功能区域:
- 按键输入;
- 滚轮与中键;
- 主控与接口;
- 光学传感器;
- USB 与电源。
这样分区以后,复查会舒服很多。USB 部分看接口、ESD、串阻和 CC 下拉;传感器部分看供电、接口和 LED;按键和滚轮部分看输入上拉和网络命名。它不是为了“好看”,而是为了降低后续排错成本。
6. BOM 和资料归档
BOM 文件是mouse-bom.csv,一共记录了 15 类物料。核心器件包括:
| 模块 | 器件 | 说明 |
|---|---|---|
| 主控 | CH552G | USB 鼠标 MCU,需要后续固件 |
| 光学传感器 | PAW3212DB-TJDT | 3-wire SPI 光学传感器 |
| USB 接口 | TYPE-C-31-M-12 | USB-C 母座 |
| ESD | USBLC6-2SC6 | USB 数据线静电防护 |
| 电源 | ME6211C33M5G-N | 3.3 V LDO |
| 左右键 | D2FC-F-7N(20M) | 欧姆龙鼠标微动 |
| 滚轮 | HYCW05-9D-5P-DH | 9 mm 编码器,集成中键 |
| LED | 3 mm 红色平头 LED | 光学照明 |
资料文件里保存了 PAW3212 和 D2FC-F-7N(20M) 的 datasheet,也渲染了 PAW3212 的手册页面截图:
这里有一个全盘扫描时发现的坑:HYCW05-9D-5P-DH-datasheet.bin看起来像滚轮编码器 datasheet,但实际内容开头是<!doctype html>,标题为405,也就是说它是一次失败的网页响应,不是有效数据手册。
这个问题很小,但非常典型。硬件设计里文件名不等于内容可信,BOM 里的每一个器件都应该能追溯到有效资料。
7. PCB 布局布线结果
PCB 暂定为 70 mm x 40 mm 的 2 层矩形板。设计报告中记录的结果如下:
| 项目 | 结果 |
|---|---|
| PCB 文档 | Mouse_PCB |
| 器件数量 | 26 个 |
| 焊盘数量 | 98 个 |
| 网络数量 | 24 个 |
| 自动布线 | 24/24 网络成功 |
| 最终走线 | 295 段 |
| 走线宽度 | 10 mil |
| 过孔 | 18 个,12/24 mil |
| 原理图严格 ERC | 0 项 |
| PCB 严格 DRC | 0 项 |
USB D+/D- 还建立了差分和等长网络组,记录如下:
| 区段 | D+ / D- 线长 |
|---|---|
| 连接器侧 | 900.720 / 900.720 mil |
| ESD 后 | 75.098 / 75.098 mil |
| MCU 侧 | 82.383 / 82.385 mil |
线长匹配只是第一步。USB 差分线真正下单前,还要按最终板厚、铜厚、介质参数、线宽线距和参考平面确认 90 Ohm 差分阻抗。不能因为 DRC 为 0,就默认高速信号已经完全没问题。
8. 光学传感器区域必须单独复查
输出目录里还有传感器布局相关图片,说明这块区域被单独检查过:
鼠标项目有一个容易被忽略的现实:电路只是其中一部分。PAW3212 这类光学传感器还涉及镜头、离板高度、底壳开窗、LED 角度、桌面焦距、脚贴高度等因素。
所以这版 PCB 只能被定义为电气原型,不能直接说它是量产鼠标方案。即使 ERC 和 DRC 都是 0 项,光学结构也仍然需要实物验证。
9. MG310 电机资料整理
9 月 4 日还有一张 MG310 电机资料图片,来自 WHEELTEC 文档页面,内容是电机接线和机械参数。
这张图里比较关键的是两种编码器版本的 6Pin 接线差异:
| 版本 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 霍尔编码器款 | 电机线- | 编码器电源 | 编码器输出A相 | 编码器输出B相 | 编码器地线 | 电机线+ |
| GMR编码器款 | 电机线+ | 编码器地线 | 编码器输出B相 | 编码器输出A相 | 编码器电源 | 电机线- |
这和鼠标 PCB 不是同一个项目,但它和本周的硬件资料整理逻辑一致:不能只看连接器数量一样,就默认引脚定义一样。尤其是电机、电源、编码器这类器件,接错线轻则不工作,重则损坏器件。
10. 这周最重要的几个教训
第一,AI 很适合帮人做“工程过程管理”。比如全盘扫描、归类文件、整理 BOM、写检查清单、把设计结果和风险分开。这些事情看起来琐碎,但会直接影响项目能不能继续迭代。
第二,EDA 自动化必须有门禁。Bridge、窗口、工程、文档、API 签名、单位、返回值,每一层都要确认。不能因为 AI 能发代码,就放松对目标对象的确认。
第三,工具检查通过不等于产品可制造。ERC/DRC 为 0 很重要,但它们不能替代 USB 阻抗确认、GND 覆铜复查、光学结构验证、外壳适配和固件调试。
第四,资料归档要看内容,不只看文件名。这周那个滚轮编码器.bin文件就是例子,文件名像 datasheet,但内容实际是 405 HTML 响应。
第五,空目录也有信息价值。jlink、vdd、while-1-less-if-key-num、语雀链接目录都没有落地文件,所以只能作为会话线索记录,不能强行编造成项目成果。
11. 后续计划
如果继续推进这个硬件项目,我会按下面顺序做:
- 重新获取 HYCW05-9D-5P-DH 的有效数据手册;
- 在嘉立创EDA中重建底层 GND 覆铜,确认没有孤岛、狭缝和意外分割;
- 按最终板厂叠层重新确认 USB D+/D- 差分阻抗;
- 确认鼠标外壳、USB-C 伸出量、左右键高度、滚轮轴线、传感器开窗和安装孔;
- 补充调试接口和测试点;
- 编写 CH552G 的 USB HID 固件;
- 调通 PAW3212 初始化、位移读取、按键消抖和滚轮上报;
- 打样后根据实物手感、光学表现和电气稳定性继续迭代。
总结
从全盘工作区看,这周真正完成的不只是一块 USB-C 光学鼠标 PCB,更是一条可复用的 AI 辅助硬件工程流程:
先稳定工具环境,再搭通信桥;先写操作约束,再做 EDA 设计;先产出原理图、PCB、BOM 和报告,再把 ERC/DRC、差分线、覆铜、光学结构、固件和资料有效性逐项复查。
我现在更愿意把 AI 看成一个工程协作者,而不是一个魔法按钮。它可以帮我更快地组织材料、发现遗漏、保持检查纪律,但真正的硬件可靠性仍然要靠数据手册、规则约束、结构验证、实物测试和一轮又一轮迭代。