Drivers and actuators

ottoRobot - ESP32-Based Bipedal Robot Controller

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 actuators robotservoAI ESP32

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。

驱动与执行 robotservoAI ESP32

官方路径: https://oshwhub.com/txp666/ottorobot

01 项目概述

Otto 是一个开源双足机器人平台,具备行走、跳舞、避障等动作能力。

本项目使用 ESP32 系列 MCU 作为主控,配合舵机驱动实现机器人运动控制。

支持通过 Wi-Fi 或蓝牙连接小智 AI / 涂鸦 AI,实现语音交互与远程控制。

板载 4 路舵机接口,可直接驱动 SG90 等 180° 舵机,适合教育、创客和 AI 交互原型。

这不是一个通用开发板,而是面向 Otto 机器人优化的专用控制器,硬件和固件紧密耦合。

02 项目硬件描述

主控:ESP32 系列(具体型号见原理图,通常为 ESP32-WROOM-32)。

供电:5V 舵机电源,3.3V 逻辑电源,USB 供电或电池供电。

舵机接口:4 路 PWM 输出,接 SG90 等 180° 舵机。

传感器:可选超声波模块(HC-SR04)用于避障。

其他:按键、LED 指示灯、串口调试接口。

电源管理:注意舵机启动电流,5V 轨需足够余量,建议独立供电或加电容。

布局:舵机接口靠近板边,便于走线;超声波接口位置见原理图。

03 项目软件流程描述

USB 烧录配套固件,目标按原理图选 ESP32;先看串口日志,再给舵机上 5V。

上电后按动作表驱动 4 路 PWM:行走、跳舞等序列存在表里,改步态优先改表。

超声波测距低于阈值时打断当前动作,转入避障,不要另写一套舵机驱动。

Wi-Fi 或蓝牙连上小智 / 涂鸦后,语音指令映射到同一张动作表。

调试时先单独测试每个舵机角度,再组合动作序列,避免机械冲突。

固件升级可通过 OTA 或串口,具体见原理图与配套文档。

04 项目核心点

运动控制核心:舵机 PWM 驱动与动作序列管理。

舵机 PWM 频率和脉宽范围需匹配 SG90,不同舵机参数不同,不可直接套用。

动作表是核心数据结构,修改步态应优先编辑表,而不是重写驱动逻辑。

避障逻辑应作为动作表的扩展,而非独立系统,保持代码统一。

电源稳定性:舵机堵转可能拉低电压,导致 ESP32 复位,需注意供电设计。