🤖 ROBOT CONTROL SYSTEM

Real-Time FPV Robot Control with ESP32 & Flask

🎥 LIVE DEMO

📡 System Overview

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.

📸 Hardware Gallery

⚡ Key Features

📹
Real-Time FPV Camera
Live video streaming from robot's perspective with WebSocket protocol
🎮
Joystick Control
Intuitive virtual joystick for precise directional control
⚙️
ESP32 Motor Control
PWM-based speed control for two independent drive motors
🌐
Web-Based Dashboard
Responsive HTML5 interface with Three.js visualization
📊
Real-Time Telemetry
Live status updates and command tracking
🔧
Adjustable Speed
Variable speed control from 5 to 13 units

🔧 Technical Stack

Microcontroller ESP32 (WiFi/BLE)
Backend Flask + Socket.io
Frontend HTML5, CSS3, JavaScript
3D Graphics Three.js + GLTFLoader
Communication WebSocket Real-Time
Video Streaming ESP32-CAM Module

⚙️ How It Works

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.

🎮 Control System

Movement Controls

Visual Feedback

🚀 Applications

This robot control system can be adapted for various applications: