A prototype for a solar-powered mobile charging station controlled via a web interface and ESP32 microcontroller, featuring UPI payment integration.
This system allows users to:
- Select charging duration through a web interface
- Make payment via UPI QR code
- Start charging after successful payment verification
- Monitor charging status in real-time
- Automatically charge lead acid battery via solar panel when not in use
- ESP32 Development Board
- 5V Relay Module
- 12V Lead Acid Battery
- Solar Charge Controller
- Solar Panel (12V)
- USB Charging Module (5V output)
- Connecting wires
- Project enclosure
- Frontend: HTML, CSS, JavaScript
- Payment: UPI QR Code Integration
- Database: Firebase Realtime Database
- Microcontroller: ESP32 (Arduino Framework)
- Communication: WiFi + Firebase
solar-charging-station/
├── web/ # Web frontend
│ ├── index.html # Main web interface
│ ├── css/ # Styling
│ └── js/ # JavaScript files
├── esp32/ # ESP32 Arduino code
│ └── charging_station/ # Main ESP32 sketch
└── diagrams/ # Circuit diagrams
- Create a new Firebase project
- Enable Realtime Database
- Copy Firebase configuration to
web/js/firebase-config.js - Set database rules to allow read/write (for prototype only)
- Replace the UPI ID in
web/js/main.jswith your merchant UPI ID - Test the payment flow in development mode
- Ensure proper error handling for payment verification
- Open
web/index.htmlin a browser - Configure charging duration
- Scan UPI QR code and make payment
- Click "Start Charging" after payment verification
- Install required libraries in Arduino IDE:
- Firebase ESP32 Client
- ArduinoJson
- Upload
esp32/charging_station/charging_station.ino - Configure WiFi credentials in the code
- Follow wiring diagram in
diagrams/ - Connect ESP32 to relay
- Connect battery through solar charge controller
- Connect USB charging module
- Ensure proper solar panel orientation for optimal charging
- User selects desired charging duration
- System calculates payment amount (₹20 per hour)
- Displays UPI QR code for payment
- User scans QR code and completes payment
- After payment verification, charging begins
- System monitors charging duration and stops automatically
- Solar panel charges lead acid battery when station is idle
- This is a prototype system
- Always follow proper safety guidelines when working with batteries
- Ensure proper ventilation for lead acid batteries
- Use appropriate fuses and protection circuits
- Monitor charging temperature
- Implement proper surge protection
- Payment success verification API integration
- Real-time power monitoring
- Battery level indicators
- Multiple charging port support
- Solar charging efficiency monitoring
- Mobile app integration
- Admin dashboard for monitoring
MIT License