
第一次看到有人把电子胸牌做成蛋形并命名为 Cyber Ægg 时我的第一反应其实是矩形胸牌做了几十年从 LCD 到点阵屏再到墨水屏大家早就形成路径依赖了为什么非要去折腾一颗蛋但等我把这个硬件项目的思路拆完不得不承认这个方向才是对的。传统电子胸牌的痛点非常明显形态单调、屏幕利用率低、挂在胸前就是一块标准工牌完全没有记忆点。而蛋形徽章天然自带话题性还能把赛博朋克风格、二维码社交名片和电子宠物蛋的养成玩法揉在同一个产品里话题度直接拉满。这篇文章我会基于这类开源项目常见的硬件电路设计方案完整拆解一个 Cyber Ægg 蛋形电子胸牌从概念到打样过程中涉及的核心问题主控与屏幕怎么选、BMS 电源管理怎么做、蛋形外壳怎么设计、低功耗和无线配网怎么处理以及我实际打样测试时踩过的坑。适合想复刻同款、想给公司做定制工牌、或者单纯对硬件电路设计项目实例感兴趣的工程师和创客。整个部件不算复杂但里面值得抠的细节不少尤其是 BMS 和天线布局这两块几乎决定了你能不能真正戴出去用一天。1. 为什么有人把胸牌做成一颗蛋Cyber Ægg 的设计动机1.1 传统电子胸牌的问题其实是顺眼但无感你可以回想一下见过的所有电子胸牌基本就是长方形外壳、一块 2.1 寸到 4 寸的屏幕、左上角开个卡槽挂绳或者背面夹一个别针。功能上它确实解决了需要频繁更换纸质名牌的痛点但形态上已经僵化。更关键的是矩形屏幕和矩形外壳之间大量空间被边框吃掉真正用来显示信息的区域不到三分之一剩余的全是塑料边框和内部结构余量。如果从工业设计角度去看矩形其实是为了供应链妥协的形态而不是为了用户更好体验的形态。屏幕供应商做矩形切割外壳注塑开模也喜欢方形因为脱模简单、模具便宜。但电子胸牌挂在人胸前随着走路晃动棱角其实容易顶到衣服而且完全不具备装饰属性。你去参加一场技术会议胸前挂二十块长得差不多的矩形屏根本分不清谁是谁。1.2 Cyber Ægg 到底在玩什么概念Cyber Ægg 这个名字本身就很硬件人搞怪Cyber 指的是赛博朋克的视觉方向——荧光色、动态粒子、HUD 风格字体Ægg 则是一个刻意写错的双关既指蛋Egg又暗含彩蛋Easter Egg的意思。打开屏幕正面可以是你的姓名、公司、二维码切换一下状态它又能变成一只宠物蛋里面有个小怪物靠投喂——接近手机、摇一摇、或者按一下侧键——来维持活力。这个概念的聪明之处是它把一个功能型硬件改造成了话题型硬件。当别人胸前都挂着无趣的矩形工牌时你胸前出现一颗发着光、能显示动态动画甚至会长出表情的蛋天然就是社交破冰的起点。对于公司活动、技术大会、黑客松这类场景它承担的不只是告知身份更重要的是制造传播点。1.3 这个项目适合谁去复刻从技术门槛来看Cyber Ægg 属于典型的中等难度偏上一点的硬件电路设计项目。用到的核心技能包括MCU 选型与最小系统设计、锂电池 BMS 保护电路、SPI 屏幕驱动、BLE 或 WiFi 配网、3D 打印结构设计。如果你已经入门过 Arduino 或者 ESP32且能看懂简单电路原理图这个项目可以作为一个很完整的进阶练手。如果你本来就是嵌入式或硬件工程师那么更值得关注的是那颗蛋里如何在极小空间里做好堆叠和电磁兼容这一块才是真正有含金量的部分。2. 硬件电路选型与 BMS 设计蛋里的心脏要怎么搭2.1 主控选型ESP32-PICO、ESP32-C3 与 NRF52840 的取舍Cyber Ægg 最关键的需求有三个无线配置、锂电池供电、显示刷新。这三点直接决定了主控的选择。我见过几个不同的硬件开源项目里有人用 ESP32-PICO-D4有人用 ESP32-C3也有人用 NRF52840。三者各有各的道理我也给身边想做类似徽章的朋友画过一张对比表直接说结论主控方案无线能力休眠电流开发便利度单颗成本约适合场景ESP32-PICO-D4WiFi BLE 4.2Deep Sleep 约 10µA 级极高Arduino/TFT_eSPI 资料多15-25 元追求 WiFi 配网和 OTA 的胸牌ESP32-C3WiFi BLE 5.0Deep Sleep 约 5µA 级高RISC-V 但生态兼容8-15 元性价比优先、需要 WiFi 的项目NRF52840BLE 5.0无 WiFiSleep 可做到 1µA 以下中高需要学习 Nordic SDK/Zephyr20-35 元低功耗优先、不需要 WiFi 的徽章我的选择是ESP32-PICO-D4。原因很直接电子胸牌在展会、公司年会上使用配置 WiFi 要比配置 BLE 简单得多。现场几十台设备如果用 BLE 一台台配对运维会崩溃用 WiFi 做 softAP 配网手机连上设备热点填入 Wi-Fi 信息设备自动联网下拉二维码和姓名数据这个流程大家已经很熟悉。而且 ESP32-PICO-D4 把 Flash、晶振全部封进一个 QFN 封装里体积很小适合蛋形内部的圆形主板布局。如果你更在意续航比如希望这颗蛋能充一次电戴三天那 NRF52840 是更理想的方案代价是开发成本高不少因为 Nordic 的 SDK 和 Zephyr 学习曲线明显陡。建议第一次做先用 ESP32 系列跑通完整流程第二版再换 NRF。2.2 显示方案为什么我选了 1.28 寸圆形屏而不是方屏蛋形外壳的内部可用区域接近圆形所以屏幕选择上最自然的就是圆形屏。市面上最容易买到的是GC9A01 驱动的 1.28 寸圆形 IPS LCD分辨率 240x240SPI 接口价格在 15 到 30 元之间。它有四个非常关键的优势IPS 可视角度大从侧面看也能看清刷新率足够跑简单动画SPI 接口省引脚模块自带背光亮度可调。有人会问为什么不用 0.96 寸 OLED答案很简单OLED 尺寸太小只有 128x64 分辨率而且绝大部分是矩形或圆形但显示区域利用率低做不了蛋面铺满的视觉效果。还有人会考虑用柔性屏贴在内壁上但柔性屏的价格和驱动难度会成倍上升对业余打样来说没有必要。GC9A01 这颗驱动 IC 的兼容性也好TFT_eSPI 库原生支持接线就六根SCLK、MOSI、CS、DC、RST、BLK加上 VCC 和 GND共八个引脚。顺带提一个调屏细节GC9A01 和常见的 ST7789 在上电初始化顺序上有差异GC9A01 必须严格按照手册里的序列写入尤其是0xE0/0xE1 的 Gamma 校正寄存器如果漏配会导致对比度诡异偏灰。用 TFT_eSPI 库时记得在 User_Setup.h 里选择 GC9A01 驱动并正确注释掉其他屏幕型号。2.3 BMS 与充电链路电池保护不是只加一个 TP4056既然叫 BMS 硬件开源项目那这块就值得展开说。电子胸牌的内部空间很紧张通常只能塞进 400mAh 到 600mAh 的软包锂电池尺寸大概在 402030 或 501030 左右。这么小的电池反而更容易出问题软包电池一旦过放到 2.5V 以下内阻会迅速上升容量不可逆衰减过充到 4.3V 以上甚至有鼓包风险。所以电池不能直接接充电板完事必须有过充过放保护。最经典也最便宜的做法是DW01A FS8205A 双 MOS 保护方案。DW01A 负责监测电池电压过充保护阈值典型值在 4.3V 左右过放保护阈值在 2.4V 左右当电压越界时它控制两颗背靠背的 MOS 管切断充放电回路。这个方案在绝大多数锂电池保护板里都能见到成本不到一块钱。充电管理方面我用的是 TP4054最大充电电流 500mA外围只需要两颗电阻和几颗电容。对于一颗 400mAh 的电池充电电流建议设置在 200mA 到 300mA这样电池寿命更长充电发热也小。计算充电时间400mAh / 250mA ≈ 1.6 小时考虑到恒流恒压切换实际充满大约需要 1.8 小时开会中途吃个饭的功夫就能补回来。提示TP4054 的 PROG 电阻决定了充电电流公式大概是 I 1000 / R_PROG电阻单位 kΩ。想设 250mA就选 4kΩ 左右实际还要看芯片手册给出的修正曲线别只靠估算。除此之外我还建议在 USB-C 输入和电池之间加一颗负载开关例如 SGM2019 或最朴素的 PMOS 开关。原因是 TP4056/TP4054 这类线性充电芯片在无负载时的静态功耗虽然只有 µA 级但很多廉价模块上的 STAT 指示灯、LDO 和其他外围电路会持续漏电导致电池放几天就空。后面第 5 章我会讲我如何被这个漏电坑了一个通宵。2.4 交互与传感霍尔、RGB 灯环、马达的加法原则胸牌要好玩按键不能太多否则破坏蛋形完整性。我的方案是三个交互入口侧边轻触按键一个用于强制切换显示模式短按切屏长按进入配网模式。霍尔传感器一个配合背后磁吸扣当磁扣从外壳上取下时霍尔输出电平翻转系统判断用户已经摘下胸牌进入待机戴回时自动唤醒。四颗 WS2812 RGB LED 灯珠隐藏在蛋壳内侧的透光筋里作为呼吸灯和消息提醒灯。呼吸灯效果用 ESP32 的 RMT 外设驱动即可不占 CPU。至于振动马达和蜂鸣器我建议第一版先别加。蛋形壳体内的共振腔很难控制蜂鸣器声音又尖又小放在胸前反而像工牌故障。如果非要电子宠物蛋的提醒功能用 RGB 呼吸灯和屏幕动画就足够了。2.5 异形 PCB 设计蛋形主板怎么布线主板形状我直接用圆形切割直径控制在 42mm 左右这样能放进蛋壳的最大内径。要画这个板子先用 KiCad 或立创 EDA 画一个圆形板框再根据屏幕、电池、天线的位置做整体布局。这里有两个必须遵守的经验屏幕排线方向要事先确定。GC9A01 模块的排线一般从一侧引出如果排线方向设计反了只能硬折排线用不了几次就会断。天线区域正下方不能铺铜。ESP32-PICO-D4 的板载天线在模组角落PCB 上必须把天线投影区挖空铺铜会吸收射频能量导致 WiFi 信号强度明显下降。哪怕蛋壳是塑料的天线区违背净空原则也会让你后期抓狂。3. 蛋形外壳与内部堆叠好看的结构最考验工程细节3.1 蛋形分层与装配结构Cyber Ægg 这个名字里的蛋不是随便画一个椭圆就完事而是要保证佩戴在胸前时不至于像个真的蛋那样乱滚。我设计的三层结构是前壳屏幕面、中框主板支架、后壳磁吸面。前壳内壁留出 1.28 寸圆形屏的凹台屏幕从内部卡进去外面用一层薄薄的透明亚克力或树脂片覆盖保护屏幕不被刮花中框负责固定主板和电池设计出四个定位柱和两个 M1.6 螺丝孔后壳内部留出电池仓外部预留磁铁位。组装顺序是前壳 - 屏幕 - 中框 - 主板 - 电池 - 后壳。注意电池线要从主板下方绕过去不能从主板正面跨否则装中框时会压到排线。整体重量控制在 50g 到 60g 之间挂在胸前不会有坠感。3.2 3D 打印与后处理材料选择直接决定颜值外壳材质我用过两种方案。第一种是 FDM 打印 PLA 坯料优点是便宜快速但层纹很明显而且 PLA 在阳光直射下容易变形第二种是光固化树脂打印表面细腻精度可以达到 0.05mm适合蛋形这种曲面结构缺点是树脂件比较脆摔到地上有可能裂。对于要经常戴去会场的胸牌我更推荐树脂打印后外壳再喷一层半光保护漆手感接近手机保护壳颜值能上一个档次。后处理上有一个容易忽略的细节蛋形外壳的两个半球合模线。FDM 打印出来的合模线非常明显需要用砂纸从 240 目打磨到 800 目以上再上补土否则装上后壳以后半球接缝像一道疤痕整个赛博感直接破功。我后来采用了一个更省力的办法直接把蛋的前壳和后壳设计成卡扣 超声波焊接如果没有超声波设备就设计成 8 颗均匀分布的 M1.4 自攻螺丝孔用螺丝硬锁接缝处垫一层 0.5mm 硅胶圈既有密封感又不会夹到排线。3.3 天线净空与内部堆叠不要把所有东西塞进去就完事内部堆叠是这个项目里最容易翻车也最容易被忽略的一环。蛋形壳体内径有限屏幕、主板、电池、天线挤在一起整机就成了一个射频黑箱。最典型的问题就是电池是金属软包覆盖在 PCB 天线下方时WiFi 信号会被大幅吸收本来能连上 5 米外的路由器最后变成必须凑到 1 米才能配网。我的做法是在 PCB 上画天线净空区后再在后壳内部加一条1mm 深的走线槽把 FPC 软天线或 PCB 天线的延伸引到蛋壳顶部边缘与电池垂直错开。实测下来同样的位置天线净空之后 RSSI 能改善 10 到 15dBm配网体验完全不一样。另一个技巧是电池尽量选用圆角软包不要选方形硬包硬包会在蛋形内部形成应力集中一个冬天过去电池外壳可能被顶出裂纹。4. 软件交互与低功耗如何让蛋活起来又扛得住展会一整天4.1 显示状态机名片、二维码、动画三种形态自由切换软件上我把整机定义成一个简单的状态机四个状态Clock时钟、ID名片、QRCode二维码、Pet宠物蛋动画。默认状态下每 30 秒轮流显示名片和二维码用户短按按键可以手动锁定在某个状态长按 2 秒进入配网模式。名片界面重点关注字号和排版。GC9A01 是 240x240 像素显示姓名和公司名称绰绰有余但显示职位时如果超过 8 个汉字就要自动缩小字号。二维码界面要处理的细节最多二维码的数据来自配置好的链接生成后用 1 位色块直接推送到屏幕缓冲区。胸牌在会场使用时二维码尺寸至少要达到屏幕宽度的 70% 以上也就是 168x168 像素否则别人隔半米扫不出来。后面第 5 章我会专门讲二维码的坑。宠物蛋动画的实现不复杂。先做一张 240x240 的背景图再用 32x32 或 48x48 的小尺寸精灵图叠加每 100ms 切换一帧。小怪物会随时间逐渐饿饥饿值低于阈值时屏幕变成低饱和度的灰暗色调呼吸灯变成闪烁红色用户把手机靠近徽章利用 BLE RSSI 检测或短按按键饥饿值恢复。4.2 BLE 配网与内容下发现场 50 个设备怎么管配网是整个系统能不能在真实会场落地的前提。我采用的是 ESP32 softAP 手机浏览器配置页的方案设备上电后如果没有配网记录直接创建一个名为CyberAEgg_xxxx的热点用户手机连上热点后访问 192.168.4.1在网页里填入 Wi-Fi SSID 和密码设备自动连接路由器然后进入正常运行状态。如果只是做个人项目配网到这里就够了。但如果要发给几十个同事用还需要一个远程下发的机制。我的做法比较轻量ESP32 连上路由器后每 5 分钟去拉取一次一个固定 URL 上的 JSON 文件文件里包含当前用户的姓名、公司、二维码跳转链接。每个人的 JSON 在后台用脚本根据胸牌 ID 生成设备只认自己的 ID。这样不需要每个人都去刷固件只要服务器数据更新几十台蛋形徽章自动同步。这套方案确实简单但要注意一个隐患如果会场的 Wi-Fi 需要网页认证或勾选同意协议softAP 配网之后设备可能还是无法上网。解决办法是在配网页面上加一个跳过联网按钮允许设备只用热点自身 IP 提供内容服务至少保证二维码和名片功能离线可用。4.3 低功耗策略直接上实测数据低功耗设计不能靠感觉我直接用实际电流表测过几个状态的电流ESP32-PICO-D4 GC9A01 圆形屏 四颗 WS2812 灯珠工作状态实测电流约说明屏幕全亮 动画播放90-120mA画图刷屏CPU 持续工作屏幕关闭 BLE 广播15-25mA主要是射频发射和 RTC 开销Deep Sleep 霍尔待机60-130µA打开 ULP 协处理器监听霍尔边沿充电状态USB 接入250mATP4054 设置的充电电流按照 500mAh 电池计算如果一直亮屏大约能撑 4 到 5 个小时展会半天刚够但如果我们采用默认策略——亮屏 20 秒后自动熄屏、只保留 BLE 广播和霍尔检测平时耗电 20mA 左右那么可以连续工作 20 小时以上如果用户频繁摘下进入 Deep Sleep实际用两三天没问题。这里有一个我强烈推荐的做法不要用定时熄屏一刀切而是结合加速度计。如果蛋形徽章平放在桌面上超过 30 秒说明用户已经取下直接进入 Deep Sleep检测到震动后立即点亮屏幕。这个逻辑对胸牌这种佩戴场景非常友好能明显减少口袋里揣着徽章还在亮屏耗电的情况。5. 打样实测这台蛋形胸牌踩过的六个典型坑5.1 圆屏花屏问题的根源在初始化时序第一次打样回来把 GC9A01 接到 ESP32 上上电后屏幕显示满屏雪花。这类问题 90% 不是接线错误而是初始化序列不完整。GC9A01 相比 ST7789 更挑剔必须严格按照厂家发布的 Initial Code特别是 0xFE、0xEF 两个解锁命令要先写入然后才能配置分辨率 240x240 和方向寄存器 0x36。我在 TFT_eSPI 里调了一天最后发现原因是我在 User_Setup.h 里漏了#define GC9A01_DRIVER库默认走了 ST7789 的初始化分支。这个排查过程其实很枯燥给后来人的建议是换屏幕型号之前先确认库的 User_Setup.h 里面驱动宏是否匹配不要先怀疑硬件。5.2 待机一夜掉电 20%漏电路径排查有一次我把充满电的样机放在桌上第二天早上起来电量从 4.12V 掉到了 3.72V算下来一夜漏了超过 200mAh。这个量级的漏电绝不是 MCU Deep Sleep 能干出来的肯定有某个外设一直没断电。我用万用表串在电池正极把电源调到静态模式观察电流发现即使 MCU 进入 Deep Sleep整机电流依然高达 8mA。逐步断开外设最后锁定是 WS2812 灯珠的 VCC 一直通过一颗电阻从电池取电而 WS2812 静态待机电流本身就有 1mA 左右四颗加起来就是 4mA再加上 TP4054 模块上 STAT 指示灯的漏电累积起来就很可观。解决办法很简单加一颗 P-MOS 作为整机负载开关GPIO 拉高导通GPIO 拉低完全断开屏幕背光和 WS2812 的电源。实测在 Deep Sleep 状态把外围电源全部切断后整机静态电流降到 90µA 左右电池能放一个多月不掉空。5.3 装上蛋壳之后 WiFi 信号隐身这个问题在 3.3 里已经埋了伏笔。裸板测试时 WiFi 信号很好一合上蛋壳外壳WiFi 扫描都找不到热点。原因是我的 PCB 天线正下方正好压着电池。解决方法是重新洗板把天线区移到蛋壳顶端电池挪到蛋底并且在天线背面不铺铜。改版后 RSSI 从 -75dBm 提升到 -58dBm配网成功率从 30% 提升到接近 100%。这里要特别提醒不要以为外壳是塑料就无所谓天线附近哪怕只有一条长铜走线或者一个金属螺丝都会改变谐振频率。硬件项目里射频问题排查起来非常痛苦最省事的办法就是把天线放到最接近外壳边缘且周围金属最少的位置这是天线设计的黄金法则。5.4 磁吸霍尔误触发摘下和戴上的判断不能只看一次用霍尔传感器检测磁扣确实可以自动休眠但实际测试中发现用户戴着胸牌走路时磁扣偶尔会和霍尔传感器发生微小相对位移导致霍尔输出短暂翻转系统误判为摘下屏幕瞬间熄灭。这个问题的根源是阈值设计没有迟滞。我最终的逻辑是连续检测 500ms 内霍尔状态的变化只有确认超过 3 次翻转才算摘下戴回时由于磁扣距离霍尔很近磁场强度变化更剧烈可以缩短到 200ms。这样既不会漏响应又不会因为走路手碰到徽章而误息屏。5.5 蛋形外壳公差两个半球合不上不是打印的问题第一版 3D 打印外壳前壳和后壳扣合时总是有一侧翘起刚开始以为是打印机精度不够后来发现是设计上的锅蛋形曲面在水平方向上有拔模角约束我设计时按上下对半剖导致合模面完全垂直于打印机 Z 轴光固化打印时很容易因为固化收缩产生 0.2mm 左右的翘曲。解决办法是在合模面加一圈 1.5mm 宽的台阶沉台让两半壳体相互咬合而不是靠平面硬怼。台阶沉台同时还能起到定位作用组装时光对齐就轻松很多。这是纯结构设计经验网上很多教程不会提建议第一次做曲面外壳的朋友直接抄作业。5.6 二维码太小扫不出来第一版我在 240x240 的屏幕上把二维码放在一个 160x160 的区域现场测试发现 iPhone 可以扫但很多 Android 手机相机无法识别。后来检查发现问题出在容错率和留白二维码四周必须留至少 4 个模块宽的白边我当时把白边压缩到 1 个模块想尽量放大二维码反而破坏了识别性。这个项目里的二维码内容如果是一个长链接数据量大会导致模块数变多、单个模块边长变小。我的处理方式有两个第一把二维码内容改成短链接或者纯字符 ID让服务端跳转第二开启二维码的 L 级低容错反而比 H 级高容错更适合小屏幕因为容错等级越高模块数越多边长越小。最终 240x240 屏幕上留 8 像素白边二维码占 200x200实测一米外也能扫出来。6. 从 Cyber Ægg 延伸出去这套硬件玩法还能怎么复用6.1 把蛋变成门禁、消息通知或情绪徽章Cyber Ægg 的本质其实就是一块异形屏 无线控制 电池管理 可穿戴结构把它从蛋形换成圆形、六边形、甚至是小小的胶囊壳硬件几乎不用改就变成了一台通用的可穿戴信息终端。我目前正在做的一个衍生项目是给团队内部做的情绪徽章屏幕显示当前状态会议中、请勿打扰、代码评审中、休整中通过手机小程序下发状态。整套系统把 Cyber Ægg 的主控、BMS、霍尔唤醒部分原封不动搬过去只改外壳和显示 UI 的图片素材开发周期大概只花了两周。这足以说明一个好的硬件电路设计项目价值不在某个形态而在于底层的电源管理、射频布局和低功耗框架是可以被复用的。6.2 现场群体互动玩法让蛋与蛋之间说话如果现场有几十上百人戴着 Cyber Ægg可以加一个 BLE 扫描逻辑每颗蛋在后台扫描周围的 BLE 广播包检测到其他蛋形徽章时屏幕上亮起对应颜色的粒子动画二维码临时切换为添加好友页面。这个功能不需要任何服务器BLE 广播和扫描本身就够用而且完全离线非常适合作黑客松开场或公司年会暖场互动环节。但也要提醒BLE 密集环境下扫描冲突不是小事。建议广播间隔控制在 200ms 到 500ms 之间扫描窗口不要太长否则 ESP32 的 Wi-Fi 会周期性断连。我当时用 240ms 广播间隔和 120ms 扫描窗口同时保持 Wi-Fi 连接实测在 30 台设备的环境里没有出现明显问题。6.3 开源文件怎么组织让别人三天内复刻你的项目如果你的 Cyber Ægg 最终要开源我推荐按这个目录组织hardware/KiCad 工程文件 Gerber BOM 贴片坐标文件firmware/ESP-IDF 或 Arduino 固件README 要写清楚引脚映射enclosure/3MF/STL 外壳文件 打印参数建议app/如果做小程序配网把小程序代码也放进来docs/操作说明、配网流程、常见问题开源硬件项目最怕的是代码能编译过、PCB 打不响应要的板、3D 文件打出来装不上。所以至少要在 README 里给一张整机炸开图——不需要做专业渲染手绘都行但要清楚标明每个零件的位置和装配顺序。这一步能帮你减少至少一半的 issue 提问。做 Cyber Ægg 这段时间我最大的体会是硬件项目的乐趣未必全在实现功能很多时候是在挑战常规形态的过程里逼着自己重新审视那些习以为常的设计。矩形胸牌之所以到处都是不是因为它是好设计只是因为大家都这么做。当你真的把一个看似不合理的蛋形方案落地从主控选型一路做到外壳合模、低功耗调优自己动手攒下来的一套工程经验反而比最终那个会发光的蛋更有价值。如果看完这篇你也想复刻一颗我的建议是从 2.2 的屏幕和 2.3 的 BMS 入手这两块先跑通其他问题都会随着打样慢慢浮现。祝你做出来的蛋比我的更能整活。