πŸ‡¬πŸ‡§ EN πŸ‡¨πŸ‡³ δΈ­ζ–‡

RIG-Omni

An Open-Source ESP32-S3 Firmware for Multipurpose Intelligent Robots

ESP32-S3 Β· Voice AI Β· EAF Animation Β· MCP Remote Control Β· Multi-Bot Architecture

✨ Features

🧠

Voice AI

Offline wake word, cloud ASR/TTS, VAD, AGC β€” natural voice interaction on a microcontroller.

🎭

Emotion Display

EAF animation engine on LVGL, 20+ expressions with dynamic transitions on a 240Γ—240 round LCD.

πŸ€–

Motion Control

Multi-servo & wheel motor control with IMU-based balance and preset actions.

πŸ“‘

Connectivity

BluFi provisioning, OTA firmware updates, HMAC device activation.

πŸ”§

MCP Tools

Extensible remote command framework β€” control your robot programmatically.

πŸ“·

Camera

ESP32-S3 camera integration with snapshot capabilities via MCP.

πŸ€– Robot Forms

🐢

RIG-Puppy

5-Servo Robot Dog
Gait control Β· Head tracking Β· Emotive actions

πŸ›ž

RIG-Hover

2-Wheel Hovercraft
Balance control Β· Differential drive Β· Debug server

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            Application Layer              β”‚
β”‚  Voice AI  Β·  Emote Display  Β·  MCP  Β·    β”‚
β”‚  Camera Tools  Β·  OTA                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚          Board Abstraction                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚        boards/common/               β”‚  β”‚
β”‚  β”‚  IMU Β· BLE Β· Button Β· Battery Β· …   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  boards/     β”‚ β”‚   boards/         β”‚   β”‚
β”‚  β”‚   puppy/     β”‚ β”‚    hover/         β”‚   β”‚
β”‚  β”‚  5-Servo Dog β”‚ β”‚  2-Wheel Hover    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚          ESP-IDF Framework                β”‚
β”‚  WiFi Β· BLE Β· SPI Β· I2C Β· I2S Β· UART      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

One unified codebase, two robot forms. Common hardware drivers in boards/common/, robot-specific logic in boards/puppy/ and boards/hover/.

πŸ”§ Hardware

ComponentInterfaceDetails
GC9A01 Round LCDSPI240Γ—240, EAF emotion animations via LVGL
IMU (QMI8658C)I2C6-axis attitude + balance control
Servo MotorsUART (XGO)Puppy: 5 servos, Hover: 1 servo + 2 DC motors
Audio CodecI2SSimplex/Duplex mic + speaker
Camera (OV2640)DVPSnapshot via MCP tools
Buttons + TouchGPIOWiFi config, chat toggle, NVS reset

πŸš€ Quick Start

# Clone & enter
git clone https://github.com/Xgorobot/RIG-Omni.git
cd RIG-Omni

# Source ESP-IDF
source ~/esp/esp-idf/export.sh

# Configure board type
idf.py set-target esp32s3
idf.py menuconfig  # β†’ RIG-Omni β†’ Board Type β†’ Puppy / Hover

# Build & flash
idf.py build
idf.py -p /dev/ttyUSB0 flash monitor