Smart Snooze Alarm
Microcontroller Programming
Project Overview
The Smart Snooze Alarm is an alarm designed to increase physical wakefulness and prevent relapsing back to sleep.
The Smart Snooze Alarm can be integrated into any existing alarm system, such as a phone or an alarm clock, by placing the capacitive touch pad on the area the user must press to turn the alarm clock off.
When the user's alarm sounds, turning the alarm off will trigger the Smart Snooze Alarm to start counting. At exponentially shorter snooze intervals, the Smart Snooze Alarm will sound its own alarm, which can be snoozed using the same touchpoint. The only way to turn off the snooze alarm for good is to touch a distant, separate capacitive touch pad. This second touch pad is placed in an area that requires wakefulness to reach in the user's wake-up routine, such as the bathroom light switch.
System Design
The system was prototyped using ESP32 microcontrollers and communicates using MQTT messaging protocol.
Capacitive touch sensing was chosen as it allowed the Smart Snooze Alarm to be adaptable to a variety of alarm systems (e.g. phone, smart watch, alarm clock) as well as wake-up routines (e.g. brushing teeth, getting off a bunk bed). During testing, capacitive touch performed consistently and responsively to user touch.
MQTT messaging was used to send the total snooze time and number of times snoozed on each alarm instance for user review. Given additional time and budget on the project, I would've also liked to use MQTT to communicate wirelessly between separate microcontrollers for the alarm location and the disable location.