Sesame 开源项目深度拆解:从硬件、固件到动画工具、仿真与强化学习生态以及边界

项目作者:Dorian Todd(doriantodd.com/sesame)

仓库数据获取时间:2026-10-12 00:36(北京时间)

开篇:一块肥皂大小的机器人

它大约只有一块肥皂那么大——官方对机身的原话是 "a box about the size of a bar of soap",一只手就能托起。八条"腿"其实是八个 9 克重的微型舵机,正面嵌着一块 128×64 像素的黑白小屏。当屏幕上那对像素眼睛眨一下、嘴角向上弯起来的时候,你很难不把它当成"一个谁"。

这是 Sesame:一个基于 ESP32 的开源迷你四足机器人项目。它最反直觉的地方在于——硬件只要约 50–60 美元,外壳全部 3D 打印,主控是一块再普通不过的 ESP32,却同时做到了会走路、会变表情、能联网、可编程。

本文不复述"最强",只回答两件事:它究竟做对了什么,以及它的边界在哪里。

组装完成的 Sesame:正面 OLED 屏显示像素表情,机身由 3D 打印件与 8 个微型舵机组成

速览与数据口径

先给结论,再给口径。

维度

事实

仓库

dorianborian/sesame-robot(Apache-2.0 协议,2025-11-21 首次提交)

作者

Dorian Todd,项目主页 doriantodd.com/sesame

星标 / Fork

4,623 星 / 619 Fork(2026-10-12 00:36)

硬件成本

官方表述 "about $50 to $60 in parts",即零件费用约 50–60 美元

硬件

8 × MG90S 舵机、128×64 SSD1306 OLED、ESP32 主控

体型

官方自述机身内部 "packed tight",是"一块肥皂大小"的盒子

配套

Sesame Studio 动画工具、Companion App 语音伴侣、Sesame Micro 小型化版、社区仿真器与强化学习工具

数据口径(重要)

成本为作者对零件费用的粗略估计,不含 3D 打印耗材、工具、运费,也未计入舵机"多买几个备件"的冗余采购(见后文成本说明)。

缘起:为什么要给它一张脸

在项目自述里,作者把动机讲得很清楚:他们要造的不是一台机器,而是一个更像伙伴的东西。

大多数入门级机器人项目主要关注运动,但我们希望 Sesame 也有性格。给一台机器人一双会表达的眼睛、几种简单情绪和俏皮的动作,会让整个项目变得有趣得多。                                                                                                                     —— Sesame 项目自述(Devpost)

这定下了两条主线:

  • 可及性:让任何学生、创客、新手都做得出来、买得起、改得动。
  • 表达性:让它像"一个角色",而不是一件工具。

官方自述里还有一句耐人寻味的话:机身内部 "packed tight"——一块电池、一块控制板和一团线缆挤在肥皂盒大小的盒子里。换句话说,"紧"不是后来发现的问题,而是这个项目从一开始就接受的约束。 这一点会直接影响装配体验,稍后展开。

硬件:极简四足是怎么成立的

四足机器人听起来复杂,Sesame 的做法却非常克制:8 个舵机、每条腿两个——一个负责让腿绕垂直轴前后摆动,另一个负责抬腿与落脚。没有昂贵的无刷电机,没有复杂的减速箱,就是最普通、最便宜的 MG90S 微型舵机。

关于"自由度"

项目 README 的原文是 "roughly 8 total degrees of freedom",即"约 8 个自由度"。更准确的说法是:它有 8 个受控关节(每条腿 2 个)。四足要稳定行走,还需要机身姿态与支撑相位的配合,所以"约 8"比"精确 8 个自由度"更严谨。本文后续统一表述为"约 8 个受控关节"。

全套零件:11 个 3D 打印件(内框、上下盖、R1–R4 与 L1–L4 共八个关节)加 8 个舵机、1 块 OLED、1 个电源开关

打印与装配要点:

  • 材料与参数:全 PLA / PLA+,8–10% 填充、2 层壁、蜂窝填充,绝大多数零件无需支撑。
  • 只有顶盖需要支撑,且集中在顶面内侧的特定区域;顶盖有三种款式,官方推荐带磁吸帽子的 Enclosed v91。
  • 紧固件以 M2 自攻螺丝为主,舵机输出轴用 M2.5×5mm 机丝固定。

唯一需要支撑的零件:切片提示只在顶面内侧加支撑

不过要提醒一句:"一只手就能托起"说的是重量,不是难度。 官方形容机身内部 "packed tight"——一块电池、一块控制板和一团线缆,全塞进肥皂盒大小的空间里;手焊方案还要自己分组、扎带、套热缩管。托起来只要一只手,装进去要好几个晚上。 这不是一个周末就能收工的轻松项目,请按"需要耐心"的预期开始。

控制板是这个项目里最"重"的自研硬件,经历了三代清晰迭代。

方案

状态

特点

V1 + ESP32-DevKitC-32E

已淘汰

需堆叠 DevKitC-32E,且因设计限制无法用 USB-C 供电,只能电池加降压模块

V2(ESP32-S3)

兼容保留

USB 供电会因电池掉压受限,属过渡版本

V3 / V3.1(ESP32-S3)

当前主力

全贴片设计、出厂预刷固件,同时支持 USB-C PD 与电池,随套装提供

Lolin S2 Mini + 洞洞板

DIY 首选

成本最低、最好买、支持 USB-C PD;代价是手工走线需要耐心

供电方面,机器人需要 5V / 3A 的稳定电源:可以走 USB-C PD(有线状态),也可以走电池加降压模块。

关于电池的两套说法

现行物料清单与官网都把 Bambu Lab 14500 7.4V 锂电池列为推荐的无线供电方案(7.4V 即 2 串 Li-ion)。早期版本用的是 3 节 10440 的 3 串方案(约 11.1V),接线指南至今仍称其为 "legacy 10440 solution"。部分媒体(如 Hackster.io)在报道中写的是 "3-cell LiPo",反映的是更早的配置,与现行推荐并不冲突——但两者电压与充电要求完全不同,动手前请按你手上的 BOM 版本确认,不要混用。

关于成本口径

官方原文是 "about $50 to $60 in parts",第三方报道也用过 "under $60"。需要强调的是:BOM 里只给了代表性购买链接,并没有标价;该数字不含 3D 打印耗材、工具、运费,也未计入舵机多买备件。实际落地成本会因购买渠道、耗材与备件而高于该区间,宜把它当作量级参考,而不是精确预算。本文不给出一个具体的"高值区间"——官方推荐件与平替件差价很大,且 BOM 本身没有任何价目可核。

几代 Sesame 分发板:从堆叠式 V1 到全贴片 V3,这块自制 PCB 承担舵机供电、电池管理与主控接口三件事

分发板 V3.1 特写:右下角为 USB-C 接口,底部丝印标出 SDA / SCL / 3V3 / GND

腿部关节装配:舵机输出轴对上打印件脚位,用 2 颗 M2×5mm 自攻螺丝固定

表情屏安装:OLED 屏沿卡槽滑入顶盖,箭头标出插入方向

它到底是怎么走起来的

前面讲的都是"看起来怎么样"。对一台四足机器人来说,真正的问题是:它靠什么走起来? 答案可能比想象中朴素——预编程的开环关节角序列。

基础固件里没有逆运动学(IK)。走路、挥手、跳舞等动作,都是事先调好的舵机角度序列,存放在 movement-sequences.h 中按帧回放;帧间延时(frameDelay)、行走循环次数(walkCycles)、舵机错峰延时(motorDelay)和每个舵机的微调量(subtrim)都可以调。也就是说,机器人执行的是"角度配方",而不是实时解算出的足端轨迹。

三个直接推论:

  • 没有 IK,足端位置就无法"按坐标解算",只能靠人把角度一点点调出来。

  • 这恰恰解释了 Sesame Studio 为什么必须存在:用一个可视化界面替人摆姿势,再把角度生成代码。工具的存在本身就是架构选择的证据。

  • 作者在项目自述中把"更好的步态算法与逆运动学"明确列为未来工作,等于确认了当前版本仍是开环序列。

帧序列里能看出什么

官方没有给这套步态命名,但序列本身是可读的。翻 firmware/movement-sequences.h 里的 runWalkPose(),能确认三件事:

  • 一个行走循环由 6 帧组成(重复 walkCycles 次),每帧只更新其中 2–4 个舵机,其余舵机保持上一帧的角度——没有插值、没有轨迹规划,是纯粹的"关键帧回放"。

  • 每一帧都同时涉及左右两侧,没有任何一帧只动一条腿。所以它并不是"每次只抬一条腿"的爬行步态。
  • 固件自己把四条腿组织成两个交替的腿组,代码注释直接写成 legset 1 (R1 L2) 与 legset 2 (R2 L1)。站立姿态可以佐证这两个腿组的性质:站立时 R1=135 / L1=45、R2=45 / L2=135,左右呈镜像互补,说明 R1↔L1、R2↔L2 分别是左右两侧同一功能的舵机;那么 R1 + L2 只能是"一条右腿 + 一条左腿"的组合,R2 + L1 同理——两个腿组都是对角腿组。

结论:它更接近以对角腿组为组织单位的固定循环,而不是逐腿依次抬起;但抬腿与摆腿在部分帧里是前后成批移动的,说明这是一套手工调参出来的动作序列,并不严格对应教科书里的"爬行"或"对角小跑"。

注:官方没有为这套步态命名,上面的判断来自对固件帧序列的直接阅读,而非官方定义。可以确认的是:它属于固定周期的预编程循环,而非实时解算。这也意味着用户"能改动的天花板"取决于自己调角度的耐心——想真正提升步态,得先把 IK 补上。

灵魂在固件:一块屏怎么演"人格"

如果 8 个舵机是骨骼,固件里的表情系统就是灵魂。每一帧表情是 128×64 的单色位图,正好 1024 字节;为了不占用宝贵的 RAM,固件把所有位图用 PROGMEM 存放在 Flash 里,再通过硬件 I2C 整帧推给屏幕。

扩展方式同样克制:所有表情都在 face-bitmaps.h 里由一个 X-Macro 宏 FACE_LIST 统一登记,加一张新脸只需要在宏里加一行:

#define FACE_LIST \    X(walk)         \    X(rest)         \    X(my_new_face)  // 加一行,新表情就注册好了

这个宏会自动展开出变量声明和注册表,不必再去改一堆分支——典型的"让扩展变便宜"的设计。

表情库分成三类:与动作同步的运动脸(walk、rest、stand、dance、wave、point、pushup、bow、cute、shrug、dead 等);面向语音助手的对话脸(happy、sad、angry、surprised、sleepy、love、excited、confused、thinking);以及同一情绪的张嘴版"说话变体"(talk_happy 等),用来做口型同步。每张脸最多支持 6 帧,可配置为循环、播完即停或正放再倒放。

表情画廊(九例):default、walk、dance、wave、cute、rest、shrug、dead、point

打个预防针128×64 单色屏能画的细节非常有限。所谓"腮红"不过是两三个像素点,"星星眼"也就是一个星形符号。这些表情的魅力不在"画得多细",而在眨眼、呼吸、口型这些时序编排上——单看一帧会觉得简陋,连起来看才"活"。请按"像素表情"的预期去看它,而不是按"屏幕动画"的预期。

最能说明这一点的是待机系统:一段时间没有指令后,机器人会进入待机,屏幕显示一个轻轻"呼吸"的动画,并每隔 3–7 秒随机眨一次眼,其中约 30% 是连眨两下;任何指令都会立刻打断。这个细节不是功能,而是表演——它制造了"这台机器在等我"的错觉。

工程细节里的克制与智慧

舵机控制:50Hz 与错峰延时

固件用硬件 PWM 定时器输出 50Hz 信号,把角度 0–180 度映射到 732–2929 微秒的脉宽(换成 270 度舵机则是 833–2167 微秒)。难点在供电:多个舵机同时启动会产生可观的电流冲击,因此每个舵机依次错开 20 毫秒再动(motorCurrentDelay)。这个值可以按电源强弱调整,电源足够强甚至可以设成 0。

供电:别恐慌,但也别糊弄官方固件文档的表述是:错峰延时用于避免"同时接入的感性负载导致 VCC 掉压(brownout)"。量化来看:MG90S 空载电流约 100–200mA,堵转电流约 650–800mA;8 个同时堵转理论上可逼近 5–6A,而正常行走时远低于此。官方对电源的要求是至少 5V / 3A。所以 20 毫秒错峰是一项稳健的工程余量设计,不必对供电过度紧张,但也不该拿一个输出不足的充电头去糊弄它。

拒绝 delay():让机器人"松手即停"

固件没有用会阻塞整个程序的 delay(),而是写了一个轮询函数:在播放动画的每一帧之间,顺便处理 Web 服务器与 DNS 请求。带来的直接体验是——按钮一松开,机器人立刻停,而不是把整套动作做完。这是嵌入式实时响应里很典型的取舍。

联网:不需要 App 的傻瓜式配网

  • 双模 WiFi:热点与接入现有网络同时工作。
  • 强制门户:手机连上默认热点后,随便打开一个网页就会跳出控制界面——固件用 DNS 把所有查询重定向到自己。
  • mDNS:在局域网广播 sesame-robot.local,不用记 IP 就能访问。
  • 网页配网:可以在网页里直接扫描并连入家里的 2.4GHz 网络,无需重新烧录固件。

接线指南(S2 Mini 手焊方案):电池经船型开关进入降压模块,模块设为 5V 输出

机内走线整理:手焊方案线束密集,指南专门讲解分组、扎带与热缩管的整理方法

定时器约束:比"不够用"更准确的说法

项目作者记录过一次翻车:给机器人加两个电调(ESC)后,ESP32内部定时器被耗尽,强制门户崩溃。

更准确的机制是:ESP32的LEDC模块用定时器决定PWM频率,同一批通道共享所属定时器的频率。按乐鑫官方文档,ESP32(经典款)有高速、低速两组,每组4个定时器(合计8个),每组最多提供4个独立频率;而本项目V3板所用的ESP32-S3只有1组、共4个定时器。

真正稀缺的是独立频率额度:舵机需要50Hz,其他外设往往需要别的频率,无法共用同一定时器,频率需求会把可用定时器分割殆尽。V3板上只有4个定时器,这解释了为什么作者加两个电调后就定时器耗尽、门户崩溃——多频率PWM外设共存时,必须提前规划定时器分组。

安全边界

固件默认没有鉴权、没有 HTTPS,热点默认密码是 12345678。官方文档明确建议只连可信网络、不要暴露到公网、生产环境自行加固。

生态:四个分支与一次小型化实验

Sesame Studio:左侧为机器人俯视示意,右侧是 S0–S7 舵机角度输入,底部为角度导引

Sesame 真正的"高度",在于它没有停在一台机器人上。围绕主仓库,已经长出四个方向:

分支

作者

作用

Sesame Studio

项目作者

可视化摆姿势、设置帧延时,自动生成可直接粘回固件的 C++ 角度代码

Sesame Simulator

Jay Li

浏览器内的 3D 物理仿真,基于 URDF 建模,可在没有硬件时测试步态与平衡

Sesame ML Tools

Luke Hollis

世界模型与强化学习工具:在线规划、策略评估、RL 微调,提供 MJCF/URDF 与多随机种子评测报告

Companion App

项目作者

语音伴侣:接入云端或本地大模型,语音识别与双 TTS,唤醒词与音量驱动口型同步

Sesame Micro:多一颗 MCU 换来了什么

Micro 版值得多说两句。它的主控板是一块 Adafruit Metro Mini v2,负责生成精确的 PWM 驱动舵机,但它本身没有联网能力;于是作者加了一颗 Seeed XIAO ESP32-C6 专门做 WiFi 桥:开热点、跑强制门户网页、接收 HTTP 请求,再通过 UART 把指令转发给主控。

桥接固件写得很清楚——当前是单向传输,"主控的回复并非必需"。这带来一个很实际的特性:网页与联网功能全部落在桥接端,主控只管动作与表情;桥接端即便挂了,主控本地已烧录的动作仍可独立运行。用"多一颗 MCU"换来"联网与运动解耦",这就是 Micro 小型化背后的真实权衡,而不是简单地"塞进去两个芯片"。

但请先看清它的定位:作者明确说明 Micro 不是新手向项目,而是快速迭代的试验田,会有粗糙的边缘和频繁的改动。想稳妥入门,请从主仓库开始。

走红的逻辑,以及它没说的风险

把前面所有细节收拢,Sesame 的走红有清晰的逻辑。它不是靠性能最强,而是四条腿同时站稳:

  • 可及性:约 50–60 美元的零件、一台 3D 打印机、基础焊接,就是全部门槛。
  • 表达性:表情把"会走路的机器"变成"有情绪的伙伴",情感回报远高于同价位的机械玩具。
  • 开放性:Apache-2.0 协议,作者公开征集改进与分叉,并主动把社区作品挂到主页。
  • 平台化:固件加动画工具、物理仿真、强化学习、语音伴侣,构成一条从"动手做"到"研究 AI"的完整阶梯。

外部佐证也支持这个判断:项目被 Hackaday 与 Hackster.io 等硬件媒体报道,在中文世界出现了镜像仓库、系列教程与官方介绍视频的译制,配套的动画工具也有独立的上手教程。

平台化的另一面

但"平台化"也有它的代价。仿真器与 ML 工具都是社区成员各自的仓库,不在主仓库的版本与发布节奏里。以 2026-10-12 00:44(北京时间) 的统一数据口径:ML 工具仓库建于 2026 年 7 月 12 日,14 颗星、2 个 Fork,最后推送 2026-08-17,仍属早期阶段;Companion App 仓库 78 星 / 25 Fork,最后推送 2026-02-26;Sesame Micro 仓库 209 星 / 36 Fork,自 2026-03-19 建立后未再推送更新。它们与主仓库固件的兼容性、后续维护,作者无法保证;而主仓库的核心固件、硬件与文档(最后推送 2026-09-13),目前仍主要由作者一个人推进。

开源项目在"吸引贡献者"与"保持核心收敛"之间天然存在张力:生态越繁荣,越容易碎片化。Sesame 目前的答案是——核心保持单人可控的节奏,周边放开让大家各做各的。这个答案是否可持续,取决于作者能投入多久,也取决于社区能否长出第二个、第三个"能维护核心的人"。这是它繁荣背后真正需要观察的风险。

边界与下一步

Sesame 的局限,作者自己写在文档里:

  • 基础固件是"基础实现":没有逆运动学,动作依赖手工调参;作者公开邀请社区改进运动学、新动画、Web 界面与传感器集成。
  • 安全默认很弱:+无鉴权、无 HTTPS、弱默认密码,只适合局域网,接公网必须自行加固。
  • 硬件 PWM 有天花板:定时器数量有限且按频率分组,外设一多就可能崩溃(作者亲身踩过)。
  • Micro 版明确非新手向,属实验分支。

作者规划的下一步也很清晰:更好的步态算法与逆运动学、传感器与避障、更聪明的平衡控制,以及 AI 驱动的语音与视觉能力。长期目标只有一句话——保持开源、亲民、可折腾、好玩。

创作不易,禁止抄袭,转载请附上原文标题及其链接。

动手入口

资料

内容

入口

主仓库

CAD / STL、固件、文档总入口

https://github.com/dorianborian/sesame-robot

物料清单 BOM

全部电子与五金件、供电方案

https://github.com/dorianborian/sesame-robot/blob/main/hardware/bom/README.md

构建指南

五阶段装配流程(含视频)

https://github.com/dorianborian/sesame-robot/blob/main/docs/build-guide/README.md

接线指南

S2 Mini 与分发板两套接线

https://github.com/dorianborian/sesame-robot/blob/main/docs/wiring-guide/README.md

固件目录

烧录步骤、网络配置、JSON API

https://github.com/dorianborian/sesame-robot/tree/main/firmware

PCB 硬件

Gerber、原理图、各代分发板

https://github.com/dorianborian/sesame-robot/tree/main/hardware/pcb

Sesame Studio

动画编排与代码生成工具

https://github.com/dorianborian/sesame-robot/blob/main/software/sesame-studio/README.md

Companion App

语音控制与 AI 伴侣

https://github.com/dorianborian/sesame-companion-app

Sesame Micro

小型化实验版

https://github.com/dorianborian/sesame-robot-micro

Simulator

浏览器 3D 物理仿真

https://one-for-all.github.io/sesame-robot-sim/

ML Tools

世界模型与强化学习

https://github.com/lukehollis/sesame-ml

项目主页

作者自述与项目背景

https://www.doriantodd.com/sesame

参考来源

  1. 主仓库 README 与仓库元数据(Apache-2.0):https://github.com/dorianborian/sesame-robot

  2. 固件技术文档(架构、API、HAL、表情系统、定时器与错峰延时):https://github.com/dorianborian/sesame-robot/blob/main/firmware/README.md

  3. 固件运动序列源文件(行走循环帧结构与腿组划分,本文步态判定依据):https://github.com/dorianborian/sesame-robot/blob/main/firmware/movement-sequences.h

  4. 物料清单 BOM(舵机型号、供电、电池与紧固件):https://github.com/dorianborian/sesame-robot/blob/main/hardware/bom/README.md

  5. 构建指南(五阶段装配流程,含视频):https://github.com/dorianborian/sesame-robot/blob/main/docs/build-guide/README.md

  6. 接线指南(S2 Mini 手焊方案与分发板方案):https://github.com/dorianborian/sesame-robot/blob/main/docs/wiring-guide/README.md

  7. 3D 打印指南(材料、填充、支撑与顶盖款式):https://github.com/dorianborian/sesame-robot/blob/main/hardware/printing/README.md

  8. PCB 硬件(Gerber、原理图、各代分发板):https://github.com/dorianborian/sesame-robot/tree/main/hardware/pcb

  9. Sesame Studio 说明(动画编排与代码生成):https://github.com/dorianborian/sesame-robot/blob/main/software/sesame-studio/README.md

  10. Sesame Micro 仓库(双 MCU 架构与 UART 桥接):https://github.com/dorianborian/sesame-robot-micro

  11. Companion App 仓库:https://github.com/dorianborian/sesame-companion-app

  12. Sesame ML Tools 仓库(世界模型与强化学习):https://github.com/lukehollis/sesame-ml

  13. Sesame Simulator(浏览器 3D 物理仿真):https://one-for-all.github.io/sesame-robot-sim/

  14. 项目自述(灵感、挑战与未来规划):https://devpost.com/software/sesame-robot

  15. Sesame作者项目主页(体型、成本与星标的自述):https://www.doriantodd.com/sesame

  16. Hackaday 报道《Building A Little Quadruped Robot》(2026-01-24):https://hackaday.com/2026/01/24/building-a-little-quadruped-robot/

  17. Hackster.io 报道《Build Your Own Quadruped Robot for Under $60》(2026-02):https://www.hackster.io/news/build-your-own-quadruped-robot-for-under-60-99a2b1db20dd

  18. Hackster.io 报道《Sesame Micro Pushes the Limits of Pocket-Sized DIY Robotics》(2026-03):https://www.hackster.io/news/sesame-micro-pushes-the-limits-of-pocket-sized-diy-robotics-9a0d7a0e6af6

  19. 乐鑫官方文档《LED Control (LEDC)》(定时器分组、通道与频率共享关系):https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/ledc.html

  20. MG90S 舵机产品手册(工作电压、空载与堵转电流等电气参数):https://shillehtek.com/blogs/shillehtek-product-manuals/mg90s-metal-gear-micro-servo-motor-180-degree-9g-for-rc-plane-manual

时效声明:文中星标/Fork 数、第三方报道的发布日期、以及各仓库的活跃状态可能会变化,以最新情况为准

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐