Navbot-ES02 is a compact, open-source desktop robot that combines self-balancing wheels with articulated legs. It’s an experimental platform for exploring locomotion, balance, and user interaction — ideal for makers, educators, and robotics enthusiasts.
Full tutorial: Frank Fu’s Build Guide
- Self-balancing using MPU6050 and PID control
- Legged motion using 270° digital servos
- Touchscreen interface for motion control to achieve ball-balancing
- Radiolink T12D RC System for real-time operation switching via PWM/SBUS.
- Modular Arduino-based firmware for easy customization
Component | Description |
---|---|
MCU | ESP32-S3 DevKit |
Motors | 2208 90KV 3mm Shaft Gimbal Brushless Motors |
IMU | ICM42688 a 3-axis gyroscope and a 3-axis accelerometer |
Servos | Pro-Tronik PTK 7452 MG-D 2.8kg/0.11s 12.3g Micro Digital Servo |
HMI | 2.8" resistive/capacitive touchscreen |
Battery | 2Pcs 18650 Battery Charger Pack |
Controller | Radiolink T12D 12CH 2.4G RC Transmitter R12F Receiver |
Navbot-ES02/
├── OllieFOCdrive/ # Motor & balance control
├── TouchUI/ # Touchscreen-based user interface
├── WiFiControl/ # Optional WebSocket/HTML control panel
├── partitions.csv # Flash partition layout
└── lib/ # Required Arduino libraries
- Arduino IDE 2.x
- ESP32 board package (
[email protected]
) - Libraries (via Library Manager or GitHub):
git clone https://github.com/fuwei007/Navbot-ES02.git
- Open
OllieFOCdrive.ino
with Arduino IDE - Select board:
ESP32S3 Dev Module
- Upload code and monitor via Serial for debugging
ES02 has 3 lines, namely GND, 5V, and sbus.
The remote control receiver may have multiple interfaces. It is necessary to confirm the sbus output port by yourself. The following picture shows the wiring ports of the RadioLink receiver.
The channels of the joystick are generally defaulted to ch1-4. Besides, six auxiliary channels are needed to switch on some functions. Each remote control is different, and they should be set according to personal habits. The corresponding functions of ch6-10 can be referred to as follows:
- CH5 : 3-section switch, 0:stop, 1:start, 2:start and touch tablet enable.
- CH6 : 2-section switch, 0:posture mode, 1:mark mode.
- CH7 : 2-section switch, manual or auto roll, 0:manual , 1:auto .
- CH8 : 3-section switch, 0:default, 1:pitching adjust, 2:ball poise.
- CH9 : The x-coordinate of the small ball .
- CH10:The y-coordinate of the small ball.
-
DIY ES02 Desktop dual-wheel legged bot Preview:
-
Open Source ESP32 DIY Robot ES02: Learn Coding & Robotics | Educational Dual-Wheel Legged Bot:
Link: https://discord.gg/syywQ2CKN3 |
---|
![]() |
- SimpleFOC Community
- Frank Fu’s Robotics Blog
- LVGL GUI Library
- Arduino & ESP32 Open Source Communities
Feel free to fork, contribute, or build your own version!
PRs and feedback are always welcome.