Release Date: 2026-06-07
Status: Stable & Production Ready
- 🎮 Interactive joystick control
- 📊 Real-time sensor data display
- 📱 Mobile-friendly design
- 🎨 Dark theme UI
- ✅ 2-second straight → auto line following
- ✅ Slope detection with 2x speed reduction
- ✅ Obstacle avoidance (emergency stop)
- ✅ WiFi web control panel
- ✅ Line sensor test sketch
- ✅ Distance sensor test sketch
- ✅ Motor control test sketch
- ✅ Serial output for all tests
- 📋 Complete wiring diagram
- 🔌 GPIO pinout documentation
- 📊 Breadboard layout guide
- 🎯 Troubleshooting guide
# Clone the repository
git clone https://github.com/Mukller/Balance_robot.git
# Open in Arduino IDE
# Edit WiFi credentials in esp32_robot_main.ino
# Load required libraries:
# - AsyncTCP
# - ESPAsyncWebServer
# - VL53L0X
# Upload to ESP32
# Open web browser: http://192.168.X.X- Microcontroller: ESP32 (30-pin version)
- Arduino IDE: 1.8.13 or later
- Python: 3.7+ (for build tools)
- Browser: Modern (Chrome, Firefox, Safari, Edge)
- 2x NEMA17 Stepper Motors
- 2x Stepper Motor Drivers (A4988 or similar)
- MPU6050 (Gyroscope + Accelerometer)
- VL53L0X (Laser Distance Sensor)
- Ldabrye 5-Sensor Line Follower
- Power supply (5V, 12V)
- Battery pack or USB power
None reported in v3.0
- ✅ Arduino IDE 1.8.19
- ✅ ESP32 rev1
- ✅ Windows 11
- ✅ Ubuntu 22.04
- ✅ macOS Monterey
- Control Loop: 100Hz (10ms)
- Web API Response: <50ms
- Line Sensor Sampling: 100Hz
- Distance Sensor: 200Hz
| File | Size |
|---|---|
| esp32_robot_main.ino | ~12 KB |
| web_interface.h | ~8 KB |
| LineFollower.cpp | ~6 KB |
| Total Code | ~50 KB |
| Binary (ESP32) | ~2 MB |
Libraries:
- AsyncTCP 1.1.1
- ESPAsyncWebServer 1.2.3
- VL53L0X (Arduino library)
- Wire (built-in I2C)
- Arduino.h (built-in)
Frameworks:
- Arduino core for ESP32
If upgrading from v2.0:
-
Update files:
- Replace
esp32_robot_main.ino - Add
web_interface.h
- Replace
-
Add test sketches:
test_line_sensor.inotest_distance_sensor.inotest_motors.ino
-
Test each component separately
-
Update documentation
- WiFi credentials are stored in plain text in code
- Recommend using WPA2 password
- Web interface has no authentication
- Run on trusted networks only
Documentation:
- README.md - Quick start guide
- CONTRIBUTING.md - How to contribute
- CODE_OF_CONDUCT.md - Community guidelines
Getting Help:
- Open an issue on GitHub
- Check troubleshooting section in README
- Review test sketch output
v4.0 (Planned)
- Machine learning obstacle avoidance
- SLAM navigation
- Multi-robot coordination
- Mobile app support
v5.0 (Future)
- Camera integration
- Voice control
- Advanced PID tuning
- Telemetry recording
Source Code: https://github.com/Mukller/Balance_robot
Latest Release: https://github.com/Mukller/Balance_robot/releases/tag/v3.0
- Anton (@Mukller) - Lead developer
MIT License - See LICENSE.md for details
Last Updated: 2026-06-07
Maintained By: Anton (@Mukller)
Repository: https://github.com/Mukller/Balance_robot