How sangeeth2008/-ai-powered-smart-waste-segregation-bin works
The product is a dual-ESP32 smart waste-segregation bin. Its core workflow is a touch or dashboard request, camera capture and cloud classification, classification mapping on the main controller, and servo chute actuation. The README also documents a camera stream, embedded dashboard, 3D digital twin, OLED telemetry, and fall-safety monitoring. Main and camera firmware excerpts were not provided, so their documented responsibilities are shown without speculative internal call chains.
Main entry points: main.ino Main controller · waste_camera.ino Camera node · uart_protocol.cpp UART protocol · servo_controller.cpp Servo controller
Components 17
Vision and classification
- Camera node
smart-waste-bin/esp32-cam/waste_camera/waste_camera.ino - CircuitDigest AI
- MJPEG stream
smart-waste-bin/esp32-cam/waste_camera/waste_camera.ino
Control and sorting
- Touch sensor
- Main controller
smart-waste-bin/main-esp32/main/main.ino - UART protocol
smart-waste-bin/main-esp32/main/uart_protocol.cpp - Waste mapping
smart-waste-bin/main-esp32/main/uart_protocol.cpp - Servo controller
smart-waste-bin/main-esp32/main/servo_controller.cpp - Sorting chute
User interfaces
- Operator
- Browser
- Embedded dashboard
smart-waste-bin/main-esp32/main/web_dashboard.h - 3D digital twin
assets/js/three-scene.js - Web application
assets/js/app.js
Safety and telemetry
- OLED display
smart-waste-bin/main-esp32/main/main.ino - MPU6050 sensor
smart-waste-bin/main-esp32/main/sensors.cpp - Fall detection
smart-waste-bin/main-esp32/main/fall_detection.cpp
Connections 19
- Touch sensor → Main controller: triggers
- Operator → Browser: uses
- Browser → Main controller: requests controls
- Main controller → Embedded dashboard: serves page
- Embedded dashboard → Main controller: polls and commands
- Main controller → UART protocol: sends classify
- UART protocol → Camera node: UART dispatch
- Camera node → CircuitDigest AI: sends image
- Camera node → UART protocol: returns result
- Main controller → Waste mapping: maps result
- Main controller → Servo controller: commands angle
- Servo controller → Sorting chute: positions
- Camera node → MJPEG stream: provides video
- MJPEG stream → Browser: streams MJPEG
- Browser → Web application: loads
- Web application → 3D digital twin: renders scene
- Main controller → OLED display: updates telemetry
- Main controller → MPU6050 sensor: reads tilt
- Main controller → Fall detection: passes tilt