Real-Time FPV Robot Control with ESP32 & Flask
A fully custom-built robot control system featuring real-time FPV camera streaming and precision motor control via ESP32 microcontrollers. This project combines web technologies (Three.js, Flask, Socket.io) with embedded systems programming to create a professional robot control interface accessible from any browser.
The system enables wireless control of a two-wheeled robot with real-time video feedback, creating an immersive first-person driving experience. The web-based dashboard provides intuitive joystick controls, speed adjustment, and live camera streaming.
1. ESP32 Motor Control: The ESP32 microcontroller receives commands via WiFi and translates them into PWM signals for precise motor speed control.
2. Flask Backend: A Python Flask server handles WebSocket connections, processes joystick inputs, and relays commands to the ESP32 in real-time.
3. FPV Camera Streaming: The ESP32-CAM module captures video and streams it to the web dashboard using WebSocket protocol for minimal latency.
4. Web Dashboard: Built with Three.js for 3D visualization and Socket.io for bi-directional communication, providing an immersive control experience.
5. Joystick Control: Virtual joystick translates touch/mouse input into directional commands with variable speed control based on joystick displacement.
This robot control system can be adapted for various applications: