RIG-Hover
RIG-Hover, also known as Wenwen, is an open-source desktop robotics hardware platform from the RIG family. It combines an ultra-narrow two-wheel self-balancing chassis, an independently actuated head, a round expressive display, voice AI, camera input, and the RIG-Omni ESP32-S3 firmware stack.
RIG-Hover is designed for makers, robotics developers, educators, and open hardware communities who want more than a static desktop gadget. It is printable, buildable, tunable, hackable, and expressive.
Demo video:
What Is RIG-Hover?
RIG-Hover is an open-source self-balancing desktop robot kit built around ESP32-S3 and the RIG-Omni firmware architecture. It is a compact hardware development platform for learning and experimenting with embedded robotics, balance control, voice AI, expressive animation, camera tools, and maker-friendly mechanical design.
The project is intentionally shaped like a global open-source DIY kit: printable mechanical parts, documented hardware modules, reproducible firmware, structured tuning guidance, and clear extension points for developers.
Key Features
- Ultra-narrow self-balancing chassis: two feedback FOC hub motors create a compact balancing platform suitable for desktop motion.
- Low center of gravity: the battery and electronics are stacked close to the wheel axis to improve dynamic stability.
- Head-body decoupling: the base can move or rotate while the head servo looks independently left or right.
- Expressive round display: a 240 x 240 GC9A01 round LCD plays EAF/LVGL facial animations.
- Voice and AI interaction: microphone, speaker, Wi-Fi, wake word, cloud ASR/TTS, and RIG-Omni application services.
- Camera-ready platform: GC0308 camera integration for snapshots and future vision experiments.
- Developer-friendly firmware: ESP-IDF, FreeRTOS tasks, MCP tools, Web tuning API, OTA-ready architecture.
Hardware Specifications
Item | Specification |
MCU | ESP32-S3-WROOM-1, dual-core 240 MHz |
Motion system | 2 FOC hub motors with encoder feedback |
Head actuator | 1 EM3 serial bus servo |
Degrees of freedom | 3: differential wheels + horizontal head rotation |
Display | 1.09 inch 240 x 240 round TFT, GC9A01 |
Camera | GC0308, DVP interface |
Audio | MEMS microphone + 2 W speaker, I2S |
IMU | QMI8658C |
Network | BluFi provisioning, 2.4 GHz Wi-Fi |
Battery | 2S 7.4 V 500 mAh lithium battery |
Size | About 61 mm x 61 mm x 139 mm |
Weight | About 375 g |
Max glide speed | About 10 cm/s |
Runtime | About 1.5 h balancing standby, about 1 h head-body interaction |
Documentation
Document | Purpose |
Reading paths and document index | |
Power-on, Wi-Fi setup, and basic interaction | |
Electronics, printed parts, fasteners, and sourcing rules | |
End-to-end reproduction workflow | |
Mechanical assembly and wiring checks | |
RIG-Omni build, flash, board selection, and source map | |
Balance tuning, Web debug API, and safety boundaries | |
Architecture, tasks, MCP, and extension patterns | |
Troubleshooting | |
Contribution guide |
Firmware Source
RIG-Hover firmware is part of LuwuDynamics/rig_omni, an open-source ESP32-S3 multi-robot firmware framework.
Important Hover files:
main/boards/hover/hover_board.cc: board startup, LCD, buttons, camera, UART, IMU, MCP tools.
main/boards/hover/xgo.cc: servo protocol, wheel feedback, LQR balance control, BLE/XGO command parsing.
main/boards/hover/hover_debug_server.cc: LAN Web tuning page and/api/data,/api/setendpoints.
main/boards/hover/board_config.h: display, camera, IMU, touch, and UART pin definitions.
Build From Source
git clone https://github.com/LuwuDynamics/rig_omni.git
cd rig_omni
source ~/esp/esp-idf/export.sh
idf.py set-target esp32s3
idf.py menuconfigSelect:
RIG-Omni -> Board Type -> RIG-HoverThen build, flash, and monitor:
idf.py build
idf.py -p /dev/ttyUSB0 flash monitorWindows port example:
idf.py -p COM5 flash monitorSafety
RIG-Hover is a self-balancing robot. Motor direction, encoder direction, IMU orientation, zero angle, battery voltage, loose mechanics, or incorrect tuning can cause falling or violent oscillation.
- Hold the robot during first power-on and first tuning.
- Test suspended wheels first, then hand-held balance, then free-standing balance.
- Keep fingers, cables, and loose objects away from the wheels.
- Do not expose the Web tuning service to the public internet.
- Use the specified motor screw length; screws that are too long may damage the motors.
