Back to Projects

Solar Panel Robot Cleaner

An automated cleaning system for solar panels featuring an ESP8266-powered robot with real-time control via Python (Flask) and a React dashboard.

Robot Brain

ESP8266

Communication

MQTT & WS

Key Tech

ESP8266PythonFlaskReactMQTTDocker

System Architecture

Interactive diagram: click nodes to see configuration details.

IoT Architecture

01. What This Project Does

This project is an automated cleaning system for solar panels. It consists of a physical robot controlled via a web interface. The robot moves across the panel surface to remove dust and debris, maximizing energy efficiency. Users can start the cleaning process, monitor real-time progress, and receive status updates through a dedicated dashboard.

02. Hardware Components (Robot)

Core Brain

ESP8266 microcontroller with built-in WiFi for MQTT communication.

Actors

L298N Motor Driver, High-torque DC Motors, and a specialized Water Pump.

Sensors

Top and Bottom Limit Switches for precise movement boundaries.

03. Communication Workflow

Web ↔ Backend (WebSocket)

Real-time bidirectional communication between the React frontend and Python backend. Handles command execution and provides instant progress updates (e.g., P:1%, P:2%) to the user interface.

Backend ↔ Robot (MQTT)

Asynchronous messaging via Mosquitto Broker. The backend sends movement commands (START, RETURN), while the ESP8266 robot reports its physical status and progress back to the system.

04. Technologies Used

  • React (Vite) & Tailwind CSS
  • Python (Flask & Eventlet)
  • MQTT (Mosquitto) & WebSockets
  • PostgreSQL & Docker Compose

05. My Role & Contribution

I designed the full-stack architecture, including the circuit schematics for the sensor nodes and the firmware logic for reliable data transmission under varying network conditions. I implemented the MQTT-based communication layer and developed the interactive web dashboard, which features custom SVG-based system architecture diagrams and real-time data visualization charts.