Skip to content

Latest commit

 

History

History
178 lines (130 loc) · 3.5 KB

File metadata and controls

178 lines (130 loc) · 3.5 KB

Release Information

Latest Release: v3.0

Release Date: 2026-06-07
Status: Stable & Production Ready

What's New in v3.0

Web Interface

  • 🎮 Interactive joystick control
  • 📊 Real-time sensor data display
  • 📱 Mobile-friendly design
  • 🎨 Dark theme UI

Main Program

  • ✅ 2-second straight → auto line following
  • ✅ Slope detection with 2x speed reduction
  • ✅ Obstacle avoidance (emergency stop)
  • ✅ WiFi web control panel

Testing & Debugging

  • ✅ Line sensor test sketch
  • ✅ Distance sensor test sketch
  • ✅ Motor control test sketch
  • ✅ Serial output for all tests

Documentation

  • 📋 Complete wiring diagram
  • 🔌 GPIO pinout documentation
  • 📊 Breadboard layout guide
  • 🎯 Troubleshooting guide

Installation

# 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

System Requirements

  • Microcontroller: ESP32 (30-pin version)
  • Arduino IDE: 1.8.13 or later
  • Python: 3.7+ (for build tools)
  • Browser: Modern (Chrome, Firefox, Safari, Edge)

Hardware Requirements

  • 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

Known Issues

None reported in v3.0

Tested On

  • ✅ Arduino IDE 1.8.19
  • ✅ ESP32 rev1
  • ✅ Windows 11
  • ✅ Ubuntu 22.04
  • ✅ macOS Monterey

Performance

  • Control Loop: 100Hz (10ms)
  • Web API Response: <50ms
  • Line Sensor Sampling: 100Hz
  • Distance Sensor: 200Hz

File Sizes

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

Dependencies

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

Migration from v2.0

If upgrading from v2.0:

  1. Update files:

    • Replace esp32_robot_main.ino
    • Add web_interface.h
  2. Add test sketches:

    • test_line_sensor.ino
    • test_distance_sensor.ino
    • test_motors.ino
  3. Test each component separately

  4. Update documentation

Security Notes

  • WiFi credentials are stored in plain text in code
  • Recommend using WPA2 password
  • Web interface has no authentication
  • Run on trusted networks only

Support

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

Future Roadmap

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

Download

Source Code: https://github.com/Mukller/Balance_robot
Latest Release: https://github.com/Mukller/Balance_robot/releases/tag/v3.0

Contributors

  • Anton (@Mukller) - Lead developer

License

MIT License - See LICENSE.md for details


Last Updated: 2026-06-07
Maintained By: Anton (@Mukller)
Repository: https://github.com/Mukller/Balance_robot