开源 ElectronBot:稚晖君的桌面机器人

2022 年 3 月,稚晖君(彭稚晖)发了一条视频:自制一只能摆手、转腰、晃脑袋的桌面小机器人,圆脸上还能显示画面。USB 插上电脑,就能投表情、控关节。外观灵感来自电影里的 EVE,B 站标题是《我做了个能动的电脑配件》------说的是用法,本体仍是一台开源桌面机器人。

很多人把它当成可爱摆件。实际上这是 自研结构 + 多块 PCB + 魔改舵机 + 主机固件 + 上位机 SDK 的整机:原理图、Gerber、固件、CAD、表情资源、Unity 工程,一个人摊开。仓库在 GitHub 长期 9k+ 星,社区后来又有语音版、ESP32 + 小智 AI 等二创。

原视频:【自制】我做了个能动的电脑配件

仓库:github.com/peng-zhihui/ElectronBot

1. 它到底是什么

一句话:ElectronBot = 开源桌面机器人------连上电脑就能改表情、摆姿势。

维度 内容
形态 桌面摆件级体积;圆脸屏 + 可动关节
自由度 6 轴:左手 roll/pitch、右手 roll/pitch、颈部、腰部(各一)
主控 头部 STM32F405 + 圆屏 GC9A01 + USB-HS(外挂 PHY)
传感/扩展 腹部 SensorBoard:手势、MPU6050、USB-HUB、舵机总线、可选 USB 摄像头
舵机 自研 ServoDrive 板魔改 RC 舵机,角度可回传(I2C)
和电脑怎么连 USB 自定义协议;SDK + ElectronStudio(Unity)上位机
结构 Fusion360 / STEP;推荐尼龙等精密打印

和「只能播表情的桌宠」比,它多了两件硬东西:关节能闭环回传角度 ,以及 整机开源、电脑上有 SDK 可改 。

2. 难在哪里

难点一:结构不是「能转就行」。

体积压到极限:手臂 pitch 用齿轮,roll 用推杆;腰部要转还得靠柔性排线连底座 Type-C。轴承、半牙螺丝、推杆挡块,差一毫米就卡死或顶壳。打印精度不够,整机手感直接崩。

难点二:舵机不是「接 PWM 就完」。

作者拆掉原厂驱动板,换成自研小板:ADC 读电位器、PWM 驱电机、PID 闭环,再经 I2C 挂到主机。多机地址、上电先后、广播地址 0------任一环节不对,总线堵、程序卡。仓库明确提醒:先单功能验证,再联调;未通舵机前别乱发收发指令。

难点三:USB 不是「插上就能当 U 盘」。

头部走 USB-HS 外挂 PHY,实现自定义设备协议;电脑端要装驱动、跑 SDK。舵机、屏幕、HUB、摄像头共享一条拓扑------调试顺序错了,现象会「像硬件坏了」。

一句话:难的不是「做出一个会动的摆件」,而是 机械、总线、显示/遥控三条线同时闭环。

3. 技术栈怎么串

从结构到上位机,可以粗分成下面几层:

层次 关键技术 在本项目里
结构 齿轮、推杆、轴承、3D 打印 六轴本体 + 收纳盒
电路 多块 PCB、FFC、USB-HUB ElectronBot / SensorBoard / Base / ServoDrive
关节固件 ADC、PWM、PID、I2C 从机 ServoDrive-fw(HAL / LL)
主机固件 圆屏、USB 自定义设备、舵机主站 ElectronBot-fw(F405)
协议 I2C 指令表、上电时序 ID + 广播地址 0
电脑 SDK LowLevel → Player → UnityBridge ElectronStudio、sample.cpp
应用 表情序列、视频投屏、姿态控制 视频里的 demo;社区语音/AI 二创

上电到能动,大致是:

  1. 舵机从机先就绪(主机固件里常有延时等待)
  2. F405 起屏、起 USB、轮询关节
  3. 电脑识别设备 → SDK 下发姿态 / 画面
  4. 表情「进入--循环--退出」片段无缝衔接

3.1 硬件与结构

仓库 Hardware 里主要有四类板:

  • ElectronBot:头部主控 F405、GC9A01 圆屏、USB3300 PHY、SD
  • SensorBoard:手势、USB-HUB、多路 I2C 舵机口、MPU6050;摄像头焊在这板
  • BaseConnector:底座 Type-C,8-Pin FFC 连腹部(为腰转让路)
  • ServoDrive / DK:塞进舵机壳的驱动板(一轴一块);DK 版接插件方便调试

结构侧注意:肩膀轴承约 6×10×3,腰部约 25×32×4;脸部透明件可用表蒙子。安装有社区入门视频,仓库 README 有链。

3.2 关节层:魔改舵机 + I2C

  • 主机(F405)发位置/参数,即时读回角度
  • 每个舵机认 自己的 ID 和 0 号广播(新烧录、未写 ID 时用)
  • 先从机后主机;多舵机地址冲突会拖死总线
  • F0 舵机 MCU 可替换(ADC + 双 PWM + I2C;Flash/SRAM 看你是否砍 HAL/C++)

调试建议:一次只挂一只舵机,注释掉其他通信路径。

3.3 主机固件与 USB

ElectronBot-fw 负责:

  • 驱动圆屏显示
  • USB 自定义设备(仓库提供最小 USB 显示测试工程与预编译)
  • 作为 I2C 主站调度关节

CubeMX 重新生成工程时,USB 相关文件容易被覆盖------仓库提醒要备份再替换。

3.4 电脑侧 SDK:像驱动外设一样驱动机器人

层级(自下而上):

ElectronBotSDK-LowLevel → Player → UnityBridge → ElectronStudio

对照 sample.cpp 就能上手;Unity 工程依赖的 DLL 要放到指定 Plugins 目录。注意选图片/视频路径目前对中文不友好。表情动画按「进入--循环--退出」三段组织,方便代码拼接。

4. 怎么学

不必一上来复刻整机。按开源路线把 单舵机闭环 → USB 显示最小工程 → SDK 发一条姿态 走通,收获已经很大。

原仓(主体)

社区延伸(学完原仓再碰)

  • 语音版:jinsonli/ElectronBot-Voice
  • ESP32 + 小智 AI 二创:搜索 electronBot-AI / xiaozhi electron-bot 板级支持(和原版 STM32 路线不同,别混着抄)

建议五步

  1. 看原视频 BV1ka411b76m,建立功能边界
  2. 烧录仓库里的 USB 显示最小测试,确认屏与线材
  3. 只改 / 只挂 一只舵机,走通 I2C 读写角度
  4. 装驱动,跑 sample.cpp 或 Studio,发一条已知安全姿态
  5. 再上完整装配;卡住时先翻 Issues(作者强调:灌水去 Discussions)

自检:你卡在哪一层?

卡住的感觉 多半在哪一层
转不动、顶壳、齿跳 结构 / 打印精度
一只舵机抖、不闭环 ServoDrive / 电机线序 / PID
多舵机一上电就卡 I2C 地址 / 上电顺序
电脑不认设备、无画面 USB PHY / 驱动 / 最小测试工程
能动但上位机控不了 SDK / 驱动签名 / 路径

5. 别和这几条线搞混

搜「稚晖君机器人 / 桌面电子狗 / 小智」常会撞车:

ElectronBot 桌面电子狗材料包 Linux 小电视 / Quark xiaozhi-esp32
芯片 STM32F4 + F0 舵机板 多为 ESP8266/ESP32 入门板 全志 H3 + Linux ESP32-S3 等
软件栈 裸机/HAL、USB 自定义、C++ SDK Arduino/IDF 小 demo U-Boot / DT / Debian IDF + 云端大模型
适合学 关节总线、USB 外设、整机联调 舵机入门、表情屏 板级 Linux Bring-up 语音 AI、MCP
仓库 peng-zhihui/ElectronBot 分散、无统一权威仓 Project-Quantum 78/xiaozhi-esp32

ElectronBot 的定位记一句:开源桌面机器人,插电脑是为了投屏和遥控;不是 Linux 小主机,也不是材料包入门电子狗。

6. 小结

  1. 整机是叠出来的:结构、舵机闭环、主机固件、USB、SDK 必须对齐同一套本体。
  2. 难在关节与总线:魔改舵机 + I2C 时序,比「PWM 摆臂 demo」厚一个数量级。
  3. 可复用的是链路:视频定边界 → 最小 USB 测试 → 单舵机 → SDK;二创(语音 / 小智)建立在读懂原仓之后。

参考与链接

相关推荐
miofly1 小时前
GitHub 日榜趋势速报 | 2026-10-12
开源·github
杜子不疼.1 小时前
我给 Claude Code 写了个 MCP Server,让它自己上蓝耘挑模型干活
人工智能·ai·机器人
小弥儿2 小时前
PPT Master:用 AI 把PDF/Word一键转成可编辑 PPT
学习·开源·github
十六年开源服务商10 小时前
2026外贸WordPress网络推广与品牌曝光实战指南
开源
kimloner10 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
HAHAXX811 小时前
从国内到跨境:RPA 自动上架机器人开发实战(拼多多 / 抖店 / 淘宝 / Shopee 批量刊登方案)
机器人·rpa
蓝悦无人机11 小时前
无人机系列之发展史:从战争工具到“智能空中机器人”的百年跃迁
机器人·无人机·无人机发展