A Smart Waste Management Dashboard built using Python, Flask, HTML, and CSS to monitor waste bins, manage garbage collection operations, and track trucks and drivers involved in the waste management process.
The Smart Waste Management System is designed to improve urban waste collection by combining sensor monitoring with operational management.
The system provides a web-based dashboard that allows administrators to:
- Monitor waste bin levels
- Track garbage collection activities
- Manage trucks and drivers
- Log collection events
The project works using a hybrid approach:
- Simulated sensor data represents multiple bins across a city.
- One physical smart bin prototype using Arduino Uno and an ultrasonic sensor demonstrates how real-world IoT hardware can send bin-level data to the system.
This allows the platform to demonstrate both smart bin monitoring and waste collection management.
- 📊 Dashboard to monitor bin fill levels
- 📡 Simulated sensor data for multiple bins
- 🔌 Hardware integration with one real smart bin
- ⚡ Automatic updates of bin status
- 🚛 Database of garbage trucks
- 👷 Database of drivers
- 🔗 Assign drivers to specific trucks
- 📝 Log garbage collection activities performed by drivers
- 📋 Track collection history
- 🌐 User-friendly interface
- 📊 Centralized monitoring of waste management operations
- 🧾 Record and view operational data related to trucks, drivers, and collections
- Python
- Flask
- HTML
- CSS
- JavaScript
- Arduino Uno
- Ultrasonic Sensor
- Database (for storing trucks, drivers, and collection logs)
git clone https://github.com/your-username/smart-waste-management.git
cd smart-waste-management
python -m venv venv
Windows
venv\Scripts\activate
Mac/Linux
source venv/bin/activate
pip install flask
Start the Flask server:
python app.py
Open your browser and go to:
http://127.0.0.1:5000
You will see the Smart Waste Management Dashboard.
To simulate multiple bins and update their levels automatically:
python update_sensor.py
This script generates sample bin-level data to represent multiple bins across different areas.
To demonstrate real-world functionality, one waste bin is equipped with sensors connected to an Arduino Uno. The sensor measures the bin fill level and sends the data to the system.
- Arduino Uno
- Ultrasonic Sensor (HC-SR04)
- Jumper Wires
- USB Cable
- Laptop/Computer
Connect the ultrasonic sensor to the Arduino:
VCC → 5V
GND → GND
TRIG → Pin 9
ECHO → Pin 10
Mount the ultrasonic sensor at the top of the waste bin so it can measure the distance to the garbage.
Use a USB cable to connect the Arduino Uno to your computer.
- Open the Arduino IDE
- Select the board:
Tools → Board → Arduino Uno
- Select the correct port:
Tools → Port → COM (Arduino)
- Upload the ultrasonic sensor code to the Arduino.
After uploading the code:
- The ultrasonic sensor measures the distance to the garbage level
- Arduino calculates the bin fill percentage
- The data is transmitted to the computer through the serial connection
Start the backend server:
python app.py
The Flask application processes the sensor readings and updates the dashboard.
Open your browser and visit:
http://127.0.0.1:5000
The dashboard will display:
- Simulated bin data
- Real-time data from the hardware-enabled bin
- Truck and driver management information
- Garbage collection logs
- The ultrasonic sensor measures the distance between the sensor and the garbage level.
- Arduino processes the sensor readings and sends the data to the computer.
- Python receives and processes the sensor data.
- The Flask backend updates the database and dashboard.
- The dashboard displays bin status, truck assignments, driver information, and collection records.
- Integration with multiple real IoT bins
- GPS tracking for garbage trucks
- Cloud-based data storage
- Mobile app for drivers and waste management staff
- Route optimization for garbage collection
- Data analytics for smart city planning
Neel Nemade
⭐ If you found this project interesting, consider giving it a star!