The Smart Mail Rack Notification System is an IoT-based solution designed to automate mail and document delivery tracking in an office environment. Each file rack contains multiple cells assigned to specific employees.
When a document is placed inside a cell, an infrared (IR) sensor detects it and signals an ESP32 microcontroller. The ESP32 then:
- Updates the cell's status in a Firebase Realtime Database.
- Automatically sends a styled HTML email notification via SMTP to the assigned employee, alerting them that they have newly arrived mail.
- Keeps a historical log of when documents were placed and removed.
The system is accompanied by a mobile admin app (Flutter) that provides a birds-eye view of all racks and cells, allowing administrators to check statuses, maintain employee mappings, and manually resend reminders.
Based on the system requirements and circuit design:
- 1x ESP32 Microcontroller (specifically ESP32-C3-WROOM-02 as per the circuit diagram)
- 3x Infrared (IR) Obstacle Avoidance Sensors (one per cell)
- 3x 2N7002 N-Channel MOSFETs (used for switching/level-shifting the IR sensors or signaling)
- Power Supply (VCC and GND connections)
- Connecting Wires & Custom PCB / Breadboard
The core logic of the provided circuit diagram includes the ESP32-C3 module interfacing with three 2N7002 N-channel MOSFETs (Q1, Q2, and Q3), corresponding to the 3 mail cells.
- ESP32-C3 3V3 is connected to the common VCC rail.
- ESP32-C3 GND is connected to the common GND rail.
- ESP32-C3 IO0 -> Connected to the Gate of Q1 (2N7002).
- ESP32-C3 IO1 -> Connected to the Gate of Q3 (2N7002).
- ESP32-C3 IO2 -> Connected to the Gate of Q2 (2N7002).
- The Source pins of Q1, Q2, and Q3 are all tied together to GND.
- The Drain pins of the MOSFETs connect to their respective sensor/indicator circuits (acting as low-side switches or level shifters).
(Note: The circuit diagram provided has been renamed and included below.)
/hardware: Contains the PlatformIO project with the ESP32 C++ firmware.- Features WiFi scanning, Firebase RTDB integration, SMTP email logic, and debounced sensor state management.
/admin_app: (Planned) Contains the Flutter mobile app for dashboard monitoring.
