The smart alarm clock that
doesn't believe in snoozing
noSπooze is a Raspberry Pi based smart alarm clock that doesn't turn off until you get out of bed. There's also no cheating. Jumping out of bed and then getting back in is a fruitless endeavor. Remote control integration through the use of the noSπooze Android app provides a simple and pleasant experience which helps make this alarm clock practical for everyday use. noSπooze's plethora of features are elaborated on below.
The noSπooze alarm clock was created using a Raspberry Pi Model B, a female headphone jack to pass in audio from the Pi using an aux cable, an amplifier + speakers, a potentiometer + ADC to allow for volume control, an LED 7-segment display, a momentary push button, and a self designed pressure pad.
The most important goal was in the construction of the pad was comfort, as this pad would be slept on every night. Using two layers of conductive fabric (cotton with silver fiber) and a foam piece in between to inhibit current until one actually lays on the pad, a successful pad was designed and assembled meeting the criteria. A great deal of credit for the successful creation of the pad goes to my amazing grandmother whose experienced stitching I could have never competed with.
noSπooze provides Text-to-speech capability by employing the wonderful PicoTTS engine, one of the best offline TTS engines around.
Using OpenWeatherMap's API, at alarm-time noSπooze provides the temperature, current weather conditions, and sunset time.
Using Google's Calendar API, at alarm-time noSπooze reads out the titles, descriptions, and times of the calendar events logged for that day.
noSπooze is controlled remotely through the app. The noSπooze app displays the current set-alarm time, allows for changing of the alarm time, changing of wake up alarm audio file, and turns noSπooze into a music player with included "previous", "pause", "play", and "next" media controls.
noSπooze uses daily updated sunrise and sunset times in its custom brightness control schedule. During the daytime its clock-face is at its most optimal brightness. As nighttime approaches, the clock-face is dimmed, making it less jarring on the eyes.
With the help of mpg321 player, noSπooze allows for immense freedom regarding what you choose to wake up to. Whether it's birds chirping in the Amazon rainforest, Justin Bieber's new hit single, or one of Arnold Schwarzenegger's motivational speeches, noSπooze will play it.
noSπooze was written using the Python programming language. Node.js was used as the server-side environment and socket.io was used to provide bi-directional communication between noSπooze and the Android app.