Open-source control system for the Otto bipedal robot, built on the ESP32 family, supporting multiple motion modes and AI interaction via XiaoZhi AI or Tuya AI.
Drivers and actuatorsrobotservoAIESP32
Official path: https://oshwhub.com/txp666/ottorobot
01 Overview
Otto is an open-source bipedal robot platform capable of walking, dancing, and obstacle avoidance.
This project uses an ESP32-series MCU as the main controller, with servo drivers for motion control.
Wi-Fi or Bluetooth connects to XiaoZhi AI / Tuya AI for voice interaction and remote control.
The board provides four servo channels for 180° servos like SG90, making it suitable for education, makers, and AI interaction prototypes.
This is not a general-purpose dev board but a dedicated controller optimized for the Otto robot, with tightly coupled hardware and firmware.
02 Hardware
Main MCU: ESP32 series (exact module per schematic, typically ESP32-WROOM-32).
Power: 5 V for servos, 3.3 V logic, USB or battery input.
Servo outputs: 4 PWM channels for 180° servos such as SG90.
Sensors: optional HC-SR04 ultrasonic module for obstacle avoidance.
Other: buttons, status LEDs, UART debug header.
Power management: watch servo stall current; the 5 V rail needs sufficient headroom, consider separate supply or bulk capacitors.
Layout: servo headers near board edge for wiring; ultrasonic header position per schematic.
03 Software flow
Flash the matching firmware over USB, targeting the ESP32 on the schematic. Confirm serial logs before applying 5 V to the servos.
At boot, four PWM channels follow an action table for walk, dance, and similar sequences — change gait by editing the table first.
If ultrasonic range drops below the threshold, interrupt the current sequence and switch to obstacle avoidance; do not fork a second servo driver.
Wi-Fi or Bluetooth to XiaoZhi / Tuya maps voice commands onto that same action table.
During bring-up, test each servo angle individually before combining sequences to avoid mechanical conflicts.
Firmware updates via OTA or UART, see schematic and accompanying docs.
04 Core points
Motion core: servo PWM generation and action sequence management.
Servo PWM frequency and pulse width must match SG90; different servos have different specs, so do not copy settings across chips.
The action table is the core data structure; modify gait by editing the table, not rewriting the driver.
Obstacle avoidance should be an extension of the action table, not a separate system, to keep code unified.
Power stability: servo stalling can drop the rail and reset the ESP32; pay attention to supply design.
中文
驱动与执行
ottoRobot - 基于 ESP32 的双足机器人控制板
开源双足机器人 Otto 的控制系统,基于 ESP32 系列芯片,支持多种动作与互动,可接入小智 AI 或涂鸦 AI。