一台一只手就能托起的四足机器人,凭什么拿到 4.6k 星? Sesame 开源项目深度拆解从硬件、固件到动画工具、仿真与强化学习生态以及边界项目作者Dorian Todddoriantodd.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却同时做到了会走路、会变表情、能联网、可编程。本文不复述最强只回答两件事它究竟做对了什么以及它的边界在哪里。速览与数据口径先给结论再给口径。维度事实仓库dorianborian/sesame-robotApache-2.0 协议2025-11-21 首次提交作者Dorian Todd项目主页 doriantodd.com/sesame星标 / Fork4,623 星 / 619 Fork2026-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 个受控关节。打印与装配要点材料与参数全 PLA / PLA8–10% 填充、2 层壁、蜂窝填充绝大多数零件无需支撑。只有顶盖需要支撑且集中在顶面内侧的特定区域顶盖有三种款式官方推荐带磁吸帽子的 Enclosed v91。紧固件以 M2 自攻螺丝为主舵机输出轴用 M2.5×5mm 机丝固定。不过要提醒一句一只手就能托起说的是重量不是难度。官方形容机身内部 packed tight——一块电池、一块控制板和一团线缆全塞进肥皂盒大小的空间里手焊方案还要自己分组、扎带、套热缩管。托起来只要一只手装进去要好几个晚上。这不是一个周末就能收工的轻松项目请按需要耐心的预期开始。控制板是这个项目里最重的自研硬件经历了三代清晰迭代。方案状态特点V1 ESP32-DevKitC-32E已淘汰需堆叠 DevKitC-32E且因设计限制无法用 USB-C 供电只能电池加降压模块V2ESP32-S3兼容保留USB 供电会因电池掉压受限属过渡版本V3 / V3.1ESP32-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 本身没有任何价目可核。它到底是怎么走起来的前面讲的都是看起来怎么样。对一台四足机器人来说真正的问题是它靠什么走起来答案可能比想象中朴素——预编程的开环关节角序列。基础固件里没有逆运动学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)。站立姿态可以佐证这两个腿组的性质站立时 R1135 / L145、R245 / L2135左右呈镜像互补说明 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 帧可配置为循环、播完即停或正放再倒放。打个预防针128×64 单色屏能画的细节非常有限。所谓腮红不过是两三个像素点星星眼也就是一个星形符号。这些表情的魅力不在画得多细而在眨眼、呼吸、口型这些时序编排上——单看一帧会觉得简陋连起来看才活。请按像素表情的预期去看它而不是按屏幕动画的预期。最能说明这一点的是待机系统一段时间没有指令后机器人会进入待机屏幕显示一个轻轻呼吸的动画并每隔 3–7 秒随机眨一次眼其中约 30% 是连眨两下任何指令都会立刻打断。这个细节不是功能而是表演——它制造了这台机器在等我的错觉。工程细节里的克制与智慧舵机控制50Hz 与错峰延时固件用硬件 PWM 定时器输出 50Hz 信号把角度 0–180 度映射到732–2929 微秒的脉宽换成 270 度舵机则是 833–2167 微秒。难点在供电多个舵机同时启动会产生可观的电流冲击因此每个舵机依次错开20 毫秒再动motorCurrentDelay。这个值可以按电源强弱调整电源足够强甚至可以设成 0。供电别恐慌但也别糊弄官方固件文档的表述是错峰延时用于避免同时接入的感性负载导致 VCC 掉压brownout。量化来看MG90S 空载电流约 100–200mA堵转电流约 650–800mA8 个同时堵转理论上可逼近 5–6A而正常行走时远低于此。官方对电源的要求是至少5V / 3A。所以 20 毫秒错峰是一项稳健的工程余量设计不必对供电过度紧张但也不该拿一个输出不足的充电头去糊弄它。拒绝delay()让机器人松手即停固件没有用会阻塞整个程序的delay()而是写了一个轮询函数在播放动画的每一帧之间顺便处理 Web 服务器与 DNS 请求。带来的直接体验是——按钮一松开机器人立刻停而不是把整套动作做完。这是嵌入式实时响应里很典型的取舍。联网不需要 App 的傻瓜式配网双模 WiFi热点与接入现有网络同时工作。强制门户手机连上默认热点后随便打开一个网页就会跳出控制界面——固件用 DNS 把所有查询重定向到自己。mDNS在局域网广播 sesame-robot.local不用记 IP 就能访问。网页配网可以在网页里直接扫描并连入家里的 2.4GHz 网络无需重新烧录固件。定时器约束比不够用更准确的说法项目作者记录过一次翻车给机器人加两个电调ESC后ESP32内部定时器被耗尽强制门户崩溃。更准确的机制是ESP32的LEDC模块用定时器决定PWM频率同一批通道共享所属定时器的频率。按乐鑫官方文档ESP32经典款有高速、低速两组每组4个定时器合计8个每组最多提供4个独立频率而本项目V3板所用的ESP32-S3只有1组、共4个定时器。真正稀缺的是独立频率额度舵机需要50Hz其他外设往往需要别的频率无法共用同一定时器频率需求会把可用定时器分割殆尽。V3板上只有4个定时器这解释了为什么作者加两个电调后就定时器耗尽、门户崩溃——多频率PWM外设共存时必须提前规划定时器分组。安全边界固件默认没有鉴权、没有 HTTPS热点默认密码是12345678。官方文档明确建议只连可信网络、不要暴露到公网、生产环境自行加固。生态四个分支与一次小型化实验Sesame 真正的高度在于它没有停在一台机器人上。围绕主仓库已经长出四个方向分支作者作用Sesame Studio项目作者可视化摆姿势、设置帧延时自动生成可直接粘回固件的 C 角度代码Sesame SimulatorJay Li浏览器内的 3D 物理仿真基于 URDF 建模可在没有硬件时测试步态与平衡Sesame ML ToolsLuke 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-26Sesame 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 APIhttps://github.com/dorianborian/sesame-robot/tree/main/firmwarePCB 硬件Gerber、原理图、各代分发板https://github.com/dorianborian/sesame-robot/tree/main/hardware/pcbSesame Studio动画编排与代码生成工具https://github.com/dorianborian/sesame-robot/blob/main/software/sesame-studio/README.mdCompanion App语音控制与 AI 伴侣https://github.com/dorianborian/sesame-companion-appSesame Micro小型化实验版https://github.com/dorianborian/sesame-robot-microSimulator浏览器 3D 物理仿真https://one-for-all.github.io/sesame-robot-sim/ML Tools世界模型与强化学习https://github.com/lukehollis/sesame-ml项目主页作者自述与项目背景https://www.doriantodd.com/sesame参考来源主仓库 README 与仓库元数据Apache-2.0https://github.com/dorianborian/sesame-robot固件技术文档架构、API、HAL、表情系统、定时器与错峰延时https://github.com/dorianborian/sesame-robot/blob/main/firmware/README.md固件运动序列源文件行走循环帧结构与腿组划分本文步态判定依据https://github.com/dorianborian/sesame-robot/blob/main/firmware/movement-sequences.h物料清单 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.md3D 打印指南材料、填充、支撑与顶盖款式https://github.com/dorianborian/sesame-robot/blob/main/hardware/printing/README.mdPCB 硬件Gerber、原理图、各代分发板https://github.com/dorianborian/sesame-robot/tree/main/hardware/pcbSesame Studio 说明动画编排与代码生成https://github.com/dorianborian/sesame-robot/blob/main/software/sesame-studio/README.mdSesame Micro 仓库双 MCU 架构与 UART 桥接https://github.com/dorianborian/sesame-robot-microCompanion App 仓库https://github.com/dorianborian/sesame-companion-appSesame ML Tools 仓库世界模型与强化学习https://github.com/lukehollis/sesame-mlSesame Simulator浏览器 3D 物理仿真https://one-for-all.github.io/sesame-robot-sim/项目自述灵感、挑战与未来规划https://devpost.com/software/sesame-robotSesame作者项目主页体型、成本与星标的自述https://www.doriantodd.com/sesameHackaday 报道《Building A Little Quadruped Robot》2026-01-24https://hackaday.com/2026/01/24/building-a-little-quadruped-robot/Hackster.io 报道《Build Your Own Quadruped Robot for Under $60》2026-02https://www.hackster.io/news/build-your-own-quadruped-robot-for-under-60-99a2b1db20ddHackster.io 报道《Sesame Micro Pushes the Limits of Pocket-Sized DIY Robotics》2026-03https://www.hackster.io/news/sesame-micro-pushes-the-limits-of-pocket-sized-diy-robotics-9a0d7a0e6af6乐鑫官方文档《LED Control (LEDC)》定时器分组、通道与频率共享关系https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/ledc.htmlMG90S 舵机产品手册工作电压、空载与堵转电流等电气参数https://shillehtek.com/blogs/shillehtek-product-manuals/mg90s-metal-gear-micro-servo-motor-180-degree-9g-for-rc-plane-manual时效声明文中星标/Fork 数、第三方报道的发布日期、以及各仓库的活跃状态可能会变化以最新情况为准