Inspiration
We realized that most alarm clocks are too easy to silence. Hitting snooze or dismissing an alarm without actually getting up often leads to oversleeping, missed commitments, and unproductive mornings. We wanted to design a solution that makes waking up more active, fun, and effective.
What it does
WalkToStop is a smart alarm clock that can only be turned off by walking.
The alarm rings through a buzzer connected to an ESP32 microcontroller.
The companion mobile app (Flutter) connects via Bluetooth, allowing users to set both alarm times and sleep times.
When the alarm rings, it won’t stop until the user completes a set number of steps tracked by their phone’s pedometer.
At bedtime, the app can also trigger 2 minutes of calming lofi music to help the user wind down.
How we built it
Hardware: ESP32 microcontroller with buzzer + LCD display for showing the current time, alarm, and sleep schedules.
Connectivity: Bluetooth Low Energy (BLE) for real-time communication between the ESP32 and the Flutter mobile app.
App: Flutter app with BLE integration, time pickers, and pedometer functionality to track steps until the alarm is dismissed.
Music: Non-blocking melody logic coded into the ESP32 to play relaxing lofi-style music at sleep time.
Challenges we ran into
Ensuring stable Bluetooth connectivity between the app and ESP32 (especially when the app is closed or minimized).
Synchronizing real-time clock (NTP time) with the ESP32 so the alarm triggers at the correct moment.
Getting the buzzer to sound pleasant for lofi music but still loud and disruptive for the alarm.
Designing an interface that’s simple yet effective for both setting times and viewing status.
Accomplishments that we're proud of
Successfully built a working prototype where the alarm only turns off after walking 50 steps.
Implemented both alarm and sleep features into one integrated system.
Achieved smooth communication between hardware and software, ensuring the app and ESP32 stay in sync.
Created a unique project that blends wellness, productivity, and creativity.
What we learned
How to integrate Flutter with BLE devices in real-world applications.
How to use pedometer APIs effectively for fitness-based interactions.
The importance of UX design in motivating users—making the alarm annoying enough to wake someone, but balanced with a calming bedtime feature.
Problem-solving under tight constraints, especially debugging connectivity and timing issues.
What's next for WalkToStop
Add persistent background services so the alarm and pedometer tracking work even if the app is closed.
Explore wearable integration (like smartwatches) for more accurate step tracking.
Expand customization: let users set their own step goals, choose from different alarm sounds, or even select playlists.
Polish the design into a sleek standalone product for everyday use.
Log in or sign up for Devpost to join the conversation.