组装指南
从头到尾把硬件装起来:不需要任何焊接经验。
这篇指南会带你从安装需要的软件开始,一路走到看见灯真正亮起来。如果你从没焊过东西也不用担心:如果用的是成品电路板,需要自己焊的部件只有一个,而且比听上去容易得多。
想先看零件清单?去看看 BOM(物料清单)。
1. 安装软件
在动手之前,先把能让电脑和板子对话的工具装好:
- 安装 Arduino IDE(2.x 版本)。这是用来把固件(直接在板子上运行的小程序)烧录进设备的软件。
- 让它认识这块板子用的芯片:
- 在 Arduino IDE 的偏好设置里,把
arduino-pico开发板包的地址加到"附加开发板管理器网址"里。 - 打开开发板管理器,安装 "Raspberry Pi Pico/RP2040"。
- 烧录固件时,开发板要选 "Waveshare RP2040-Zero":这是这台设备实际用的芯片型号。
- 在 Arduino IDE 的偏好设置里,把
- 安装 Adafruit NeoPixel 库(工具 → 管理库 → 搜索 "Adafruit NeoPixel" → 安装)。这是用来驱动 LED 的库:LED 需要非常精确的时序控制,普通的开关命令做不到。
2. 组装硬件
如果你手上还没有电路板,先从下面的制造流程开始,做完之后再继续看如果你有成品电路板。如果你已经有电路板了,或者只是想先测试一下、还不打算做实体板子,直接跳到接下来两节里适合你的那一节就行,两节里选一节做就够了。
想自己制造电路板
如果你已经有成品电路板了,或者只打算在面包板上试做(见下文),可以跳过这一节。
制造一块实体电路板需要的所有东西,都在 GitHub 上的硬件文件夹 里:
- KiCad 工程文件: 这块板子实际的设计文件,用设计它时用的那个免费工具(KiCad)就能打开。想自己看看或改改设计就打开它,不需要就不用管。
- Gerber 文件: 一套告诉代工厂具体要做出什么样电路板的生产文件。你不需要打开或看懂这些文件:把整个文件夹上传给一家代工厂(这个项目用的是 JLCPCB),他们就会寄回一块除了单片机之外都已经焊好的板子,跟零件清单里说的一样。
- 外壳文件: 3D 打印外壳用的、可以直接拿去打印的文件,交给 3D 打印服务商或者自己的打印机都行。
板子到手之后,回来继续往下看。
如果你有成品电路板
这是更简单的一条路,大多数人会走这条。成品电路板上的 LED 和小元件已经由厂商装好了:唯一需要自己动手的,是那块小小的单片机板(RP2040-Zero,负责运行一切的芯片)。
- 把 RP2040-Zero 焊到板子上。它边缘有一圈半圆形的缺口(叫"castellated pad",半孔焊盘),正好对上板子上对应的焊盘。每一个都要焊。这些连接里有的是走电源和信号的,有的纯粹是机械固定用的,但最简单的做法就是全部焊上。

给第一次焊接的朋友几个小提示:每焊完一个点,等几秒钟再去碰它;尽量别让焊锡在两个相邻焊盘之间连成一坨。万一真的连桥了,通常重新加热、补一点焊锡再把它们分开就能解决,或者用吸锡带把多余的焊锡吸走。
到这里,组装就完成了:不需要接线,也不需要跳线。芯片和 LED 之间的连接已经直接做在板子里了。焊完之后,直接跳到烧录与验证。
如果你在用面包板试做
如果你已经做完上面成品电路板的组装,可以跳过这一节。这条路是把裸的 RP2040-Zero 手工接到一条独立的 LED 灯带上,用来测试固件,适合还没拿到成品电路板,或者想先试试看的情况。
-
给 RP2040-Zero 焊上排针。 它出厂时是没有插针的,只有裸露的半圆形缺口。至少焊三根:5V、GND,还有一根 GPIO(固件默认用
GPIO1)。焊一排公排针是最省事的做法,可以像插其他模块一样直接插上面包板;当然直接焊线也可以,只是这样接线就固定死了。 -
接到 LED 灯带上:
[RP2040-Zero] [LED 灯带,3 针接口] GND o---------------------------o G(地线) 5V o---------------------------o V(电源,不是 3V3,见下方说明) GP1 o---------------------------o S(信号 / 数据) USB-C 接口 -----> 数据线 -----> 你的电脑有几点需要注意:
- 先接地线(
G)。 V要接到5V引脚,不是3V3。S(信号)接到你焊的那根 GPIO 引脚,要和固件里的kDataPin设置对上(或者干脆改固件代码去匹配你的接线)。- 三根线都接好之后再插 USB-C 线。半接好的状态就通电有短路的风险。
- 可选:加一个小电阻和电容能让信号更稳定。如果遇到闪烁问题,参考 BOM(物料清单) 里的第 8、9 项。
- 先接地线(
3V3 引脚提供不了 10 颗 LED 需要的电流。把 V 接到 3V3 而不是 5V,是这个组装过程里最常见的接线错误。
接好线之后,继续看烧录与验证。
3. 烧录与验证
- 用 Arduino IDE 打开
andon_light_firmware.ino(在项目源码的device/firmware/andon_light_firmware/目录下)。 - 开发板选 "Waveshare RP2040-Zero",点击上传把固件烧进去。
- 打开串口监视器,波特率设为 115200,换行符选 "Newline"。
- 你应该会看到第一颗 LED 亮起微弱的白光,其余全暗:这是"设备正常运行"的常亮指示灯,不管处于哪种状态它都会一直亮着。
- 依次输入
G、Y、R,每次输入后按回车。每输入一个,应该只有对应的那一组 3 颗 LED(第 2-4 颗、第 5-7 颗、第 8-10 颗)亮起。不是整条灯带都亮。
如果这些都顺利完成,恭喜,你的设备已经可以正常工作了。接下来,安装主机端软件,让它开始追踪你的编码 Agent 的状态:参见项目 GitHub 页面上的快速开始。
参考资料
几个术语,解释一下
| 术语 | 意思 |
|---|---|
| MCU(单片机) | 真正运行固件的那颗小芯片。在这块板子上,就是 RP2040-Zero 里的 RP2040。 |
| 固件 | 运行在 MCU 上的程序。不是运行在你电脑上的。 |
| 开发板 | 已经把芯片、USB 接口、电源电路都装好的现成小板子。RP2040-Zero 就是其中一种。 |
| 可寻址 LED(WS2812) | 即使串联很多颗,也能通过一根信号线单独设置每一颗颜色的 LED。这就是每组 3 颗 LED 能各自独立显示不同颜色的原因。 |
| NeoPixel | Adafruit 给这类 LED 起的名字,也是驱动它们的库的名字。 |
| 看门狗 | 固件里内置的一个安全定时器,如果太久没收到电脑的消息,就会把灯切换到"出问题了"的状态。详见下方的通信协议参考。 |
| PCBA | "PCB 组装"的缩写,指所有元件都已经焊接完成的电路板。 |
LED 的排列方式
| LED | 含义 | 由什么点亮 |
|---|---|---|
| 1 | 常亮的"设备正常"指示灯 | 无:一直亮着微弱的白光 |
| 2–4 | 工作中 | G 指令 |
| 5–7 | 等待你处理 | Y 指令 |
| 8–10 | 空闲 | R 指令,或连接中断 |
| 状态 | 你会看到什么 |
|---|---|
工作中(G) | LED 2-4 常亮绿色 |
等待中(Y) | LED 5-7 常亮黄色 |
空闲(R) | LED 8-10 常亮红色 |
| 连接中断 | LED 8-10 缓慢闪烁红色,而不是常亮 |
整理中(C) | 依次点亮模式:从 LED 10 到 LED 2 一颗接一颗亮起,然后重置重来 |
LED 1 从设备通电开始,会一直亮着微弱的白光。如果你看到全部 10 颗 LED 同时亮起同一个颜色,说明烧录的是旧版固件:用最新的源码重新烧录一次。
常见的坑
| 现象 | 原因 |
|---|---|
V 接到了 3V3 而不是 5V | 仅限面包板接线。这是最常见的接线错误:10 颗 LED 需要的电流超过 3V3 能提供的范围。 |
| 刚通电时闪烁或颜色不对 | 通常不是固件的问题,而是连接不稳定。成品电路板的话,检查芯片是否有虚焊。面包板的话,参考故障排查页面里关于信号问题的部分。 |
| 接错了孔位 | 仅限面包板接线。不要完全相信照片或这篇指南,直接看 LED 灯带接口上印的小字标签。务必和你手上这块板子的实际标注对照。 |
| 插上 USB 什么反应都没有 | 有些 USB-C 线只能充电,不能传数据。先换一根线试试。 |
| 跳过了串口监视器这一步检查 | 虽然感觉是多余的一步,但很值得做:它能帮你在引入电脑端软件这层复杂度之前,先分清楚问题出在固件还是电脑软件上。 |
| 灯好像卡住了、不再更新 | Claude Code 的集成只在特定时刻检查状态,不是持续检查:如果长时间只在思考、没有调用任何工具,看门狗可能会暂时没被"喂食"。这是正常现象,会自己恢复;详见上面的通信协议表格。 |
看门狗和心跳机制不是可有可无的锦上添花:正是它们让你可以放心地离开,同时信任这盏灯。
关于你的操作系统
| 操作系统 | 会看到什么 |
|---|---|
| Windows | 自动识别为 COM 端口,不需要额外装驱动。 |
| Linux | 会显示为 /dev/ttyACM0(或类似名称)。你的用户账号需要加入 dialout 用户组才能访问。如果遇到权限错误,参见故障排查页面。 |
通信协议参考
这是电脑通过 USB 发送给设备的完整单字符指令集:
| 指令 | 效果 | 含义 |
|---|---|---|
G | 常亮绿色 | Agent 正在工作 |
Y | 常亮黄色 | 等待你输入或授权 |
R | 常亮红色 | 空闲、已停止,或刚开始一个新会话 |
C | 依次点亮模式 | 内部整理中("整理中"):Agent 仍然活着,只是在收尾 |
H | 没有视觉变化 | 心跳信号:只是重置看门狗定时器 |
如果设备 30 分钟没收到电脑的任何消息,就会认为出了问题,自动切换成缓慢闪烁的红色模式,而不是停在原来的颜色上一动不动。