An autonomous maze-solving robot built on ESP32, designed to navigate and solve mazes using floodfill algorithms and sensor fusion.
- Maze Navigation: Floodfill algorithm for optimal pathfinding
- Motion Control: PID-based motor control with encoder feedback
- Sensor Suite:
- IMU (MPU6050) for orientation tracking
- Time-of-Flight (VL53L0X) for distance sensing
- IR sensors for wall detection
- Encoders for odometry
- Power Management: Real-time voltage/current monitoring
- Display: OLED display for status and debugging
- Button Control: Start/stop and mode selection
- Microcontroller: ESP32
- Motors: DC motors with encoders
- Sensors: ToF, IMU, IR, encoders
- Display: SSD1306 OLED
- Power Monitoring: INA3221
src/ - Implementation files
include/ - Header files
platformio.ini - PlatformIO configuration
platformio run -e esp32devplatformio run -e esp32dev --target uploadEdit include/config.h to adjust:
- Motor control parameters
- Sensor calibration values
- Maze dimensions
- Movement speeds
- Move robot forward exactly 18 cm using
move_forward_cm(18) - Record encoder tick count
- Calculate:
TICKS_PER_CM = (left_ticks + right_ticks) / 2.0 / 18.0 - Update
TICKS_PER_CMin config.h