Electronics | Wake Box

The Wake Box is a very specific type of wakeup alarm: it only allows a fixed set of time periods before sounding an alarm, starting at 30 minutes, increasable by intervals of 15 minutes. As such, it is ideal for quick power napping: just turn on the button and the alarm is already set.

The box is made of hard wood, with its dimensions approximating the Golden Ratio. The bottom part can be taken off to replace/recharge the 9 V battery. On the sides, there is an on/off button and an embossed speaker, as well as a blue LED strip that sits in its own groove. On the top of the box there are two metal plates that act as a capacitive touch surface to control the alarm (e.g., snooze). The box is painted red and coated with varnish for a smooth touch experience.

Inside the box is a custom made perfboard that contains a cradle to house an ATMega328P, which is connected to a power board that delivers 5 V. The board receives its own power from a 9 V battery, which is also connected to the Arduino via a voltage divider such that the Arduino can continously measure the state of the battery.

When the Wake Box is turned on, it will first make a small sound at half volume (speaker connected to digital pin D5), with the LED strip (connected to digital pin D11) lighting up a bit. Then it will check the status of the battery via the voltage divider that is connected to analog pin A1. If the read voltage is below 7 V, an alarm sounds. The Wake Box then continues its normal operation. If the capacitive surface (connected to analog pin A0 and GND) on the top of the box is touched after turning it on, the box will play one of its 13 songs and turn off. Otherwise, the box will wait for 30 seconds to allow a user to touch the capacitive surface. Touching it will increase the default wakeup time of 30 minutes with 15 minutes per touch (the LED strip will light up to reflect the selected time interval, one long blink for 30 minutes, and a shorter blink for each 15-minute extension). After that, the box enters a deep sleep for the selected duration (reducing the power consumption to about 18 mA using the LowPower library).

When the set time has passed, the Arduino wakes up and starts its alarm cycle. First, the box creates various sounds of chirping crickets, increasing in volume (and LED brightness) over the course of approximately one minute. Then it plays a wakeup song, increasing volume in three steps. If the user has not snoozed the alarm by then, one of the stored songs is played at random at full volume. And finally, a continuous loud alarm is sounded. If the capacitive surface is touched at any point in time, the Wake Box will snooze for 5 minutes (in deep sleep), after which the alarm cycle begins again. Snoozing can be done indefinitely; the alarm is stopped permanently by switching off the Wake Box.

Arduino sketch

  • Electrical diagram

  • Installing the electronics

  • Preliminary testing

  • Concept test
    Capacitive surface test
    Volume and brightness test
    Low battery voltage test
    Wakeup song test
  • Finished product