G7: Smart Trash Bin - shalan/CSCE4301-WiKi GitHub Wiki

Project Title: Smart Trash Bin

Name GitHub
Mohamed Sabry MohamedOmarSabry
Omar Bahgat omar-bahgat

Github Repo: https://github.com/MohamedOmarSabry/embedded_project

1. The Proposal

Abstract / Elevator Pitch:

Everyday waste disposal systems lack automation, hygiene safeguards, and monitoring capabilities. This project introduces a smart waste bin that enables touchless operation and basic fill-level awareness to improve hygiene and usability.

Project Objectives & Scope:

MVP:

  • Hands-Free Lid
  • Ultrasonic sensing triggers automatic servo-based lid operation
  • Fill-Level Monitoring
  • Real-time depth measurement with percentage display (7-segment)
  • Status Indication
  • LED states for system status (ready / active / full)

Stretch Goals:

  • Full Bin Alert
  • Buzzer and LED alert when capacity threshold is reached

2. System Architecture

2.1 High-Level Block Diagram:

Subsystem Breakdown:

A brief text description of how the major modules (e.g., motor control, user interface, wireless communication) interact. The system is centered around the ESP32, which coordinates sensing, decision-making, and actuation.

The ultrasonic sensors provide input to two main functions: proximity detection for lid control and distance measurement for fill-level estimation. Based on proximity input, the ESP32 triggers the servo motor using PWM to open or close the lid.

Simultaneously, fill-level data is processed to calculate the bin’s fullness percentage, which is displayed on the 7-segment display. This value is also evaluated against a predefined threshold to determine if the bin is full.

The system state is reflected through RGB LEDs, which indicate conditions such as idle, active (lid open), and full. When the fill level exceeds the threshold, the ESP32 activates the buzzer to provide an audible alert.

3. Hardware Design

Component Selection:

Schematics & Wiring:

Circuit diagrams, pinout tables, and breadboard layouts.

Bill of Materials (BOM):

A table listing component names, part numbers, quantities, costs, and links to datasheets.

Power Budget:

Calculations ensuring your power supply can handle the peak current draw of all components combined.

4. Software Implementation

Software Architecture:

Description of the firmware design (e.g., Bare-metal Superloop, Interrupt-driven, or RTOS).

Flowcharts & State Machines:

Visual diagrams mapping out the core logic, state transitions, and interrupt service routines (ISRs).

Key Algorithms:

Explanations of any complex logic used (e.g., PID control loops, digital filtering, sensor fusion).

Development Environment:

Compilers, IDEs, and toolchains used (e.g., Keil, PlatformIO, STM32CubeIDE).

5. Testing, Validation & Debugging

Unit Testing:

How individual hardware components and software functions were tested in isolation.

Integration Testing:

How the system was tested as a whole.

Challenges & Solutions:

A log of major bugs, hardware failures, or design flaws you encountered, and the engineering steps you took to solve them.

6. Results & Demonstration

Final Prototype:

High-quality photos of the completed build.

Video Demonstration:

A link to a short video showing the system working in real-time under various conditions.

Performance Metrics:

Data showing how well the project met its initial objectives (e.g., "Response time was measured at 12ms, well within our 50ms goal").

7. Project Management

7.1 Division of Labor:

A clear breakdown of who worked on what (professors usually require this to grade individual contributions).

  • System Design
  • Hardware Build
  • System Implementation
  • Integration
  • Test & Debug

7.2 Timeline:

A Gantt chart or milestone list showing the planned schedule versus the actual completion dates.

8. Appendices & References

8.1 Source Code Repository:

Link to your GitHub/GitLab repo. https://github.com/MohamedOmarSabry/embedded_project

8.2 References:

Links to datasheets, tutorials, academic papers, and course materials used during development.