Brief Introduction
The Smart Alarm Mat is a creative alarm system built with an Arduino Nano, designed to force you out of bed! Instead of just pressing a snooze button, you must stand on the mat for a few seconds to stop the alarm. It uses a pressure sensor, RTC module, LCD display, and a buzzer to wake you up and ensure you’re really out of bed. Ideal for heavy sleepers or anyone trying to build better morning habits.
Components List
Component |
Quantity |
Description |
Arduino Nano |
1 |
Main microcontroller |
DS3231 RTC Module |
1 |
Real-Time Clock for accurate timekeeping |
16x2 I2C LCD Display |
1 |
Displays time, date, and alarm status |
Buzzer |
1 |
Sounds the alarm |
Pressure Sensor / Mat |
1 |
Detects user standing on the mat |
EEPROM (internal) |
- |
Stores alarm time settings |
Push Button (optional) |
1 |
For testing or alternative alarm stop method |
Jumper Wires |
As needed |
Electrical connections |
Breadboard / PCB |
1 |
Assembling and testing the circuit |
Resistors (if needed) |
As needed |
For sensor stability |
Power Supply (USB/adapter) |
1 |
Powers the Arduino Nano |
BLOCK DIAGRAM

WORKING
How it works:
-
Initialization:
Arduino sets up the RTC, LCD, buzzer pin, and button pin. It reads the alarm time from EEPROM memory (non-volatile storage).
-
Display time:
Every loop, the Arduino reads the current time from RTC and shows the day, date, and time on the LCD.
-
Check alarm:
When current time matches the saved alarm time and the alarm hasn’t rung yet today, the buzzer starts sounding, and the LCD shows “Alarm!”.
-
Stop alarm:
If the button is pressed, the alarm enters a "stopping" mode for 10 seconds, then the buzzer stops, and the alarm is disabled until the next day.
-
Reset daily alarm:
At midnight, the alarm status resets so it can ring again the next day.
The Images used are for sample purposes only.