This is my version of a sleep box that Mark Zuckerberg created and posted on Facebook on April 27, 2019.
The Facebook founder invented a box to help his wife sleep better through the night. Priscilla was having a hard time falling back asleep after checking the time in the middle of the night to see if the kids might wake up soon, so he created what he called a "sleep box" as a way to tell if it was a good time to wake up without having to actually check the time. (I think most people would agree that checking the time during the night is stressful)
This sleep box works the same way Mark described in his post with a couple additional functions I added myself. It emits a faint light at a time you specify and stays lit for 1 hour. For example, if you set it to 6am, it will light up at that time and stay lit until 7am.
When it is activated, it lights up smoothly starting at tiny intensity and reaching stable intensity a few minutes later. This might be helpful if you are sensitive to light or sleep in a very dark room.
There is also a demo mode. Once you activate the demo mode, the sleep box lights up and down a few times for about a minute. This is useful if you want to see what the sleep box looks like when lit.
There is only 1 button. You can see it when you remove the outer box:
You can press this button as many times as the number of hours from now that you want the sleep box to activate. For example, if it's 10pm now and you want the sleep box to activate at 6am, then you press the button 8 times. When done pressing, the box will blink as many times as you pressed it so you can be sure it was set as you wanted. Once set, the sleep box will activate at the designated time every day, until you reset it or until the battery dies.
If you press the button only once, it will go into demo mode. In demo mode, the sleep box lights up and down for about a minute.
Notice, because a single press triggers the demo mode, you can't set the box to activate in 1 hour. The earliest you can set it to is 2 hours (with 2 button presses). Also, the demo mode resets any previous setting so you will need to set the sleep box again.
No, this sleep box doesn't have a clock or any other display. I tried to keep the design simple. It would also defeat the purpose to have a visible clock because Mark created it to avoid looking at the clock.
Also notice that there isn't an RTC module to keep track of the real time. It's based on simple counting - see the code in file "sketch_sleepbox.c".
Follow these steps if you would like to make this sleep box yourself.
- Arduino Nano microcontroller ($22)
- Solid oak board 4" x 3' ($10)
- Four LEDs ($5)
- Push button ($2)
- 9V battery ($3)
You will also need some wires, glue, and tools like soldering iron and sand paper.
Making the outer box is straightforward. It's made of a top piece and 4 side pieces glued together as follows:
The inner structure is made of 7 pieces glued together as shown here:
(I did not mention the center piece in Get the parts. It can be made of any scrap piece of wood you might have (oak works great). But if you don't have any, then include it in your shopping list)
Connect the electronics as follows:
Then attach everything to the inner structure as shown in one of the previous pictures. You will need to glue the LEDs to the center piece or use tape or some sticky material. The battery and the Arduino unit should fit tightly in the lower compartment without glue.
Finally, upload the C code in file "sketch_sleepbox.c" into the Arduino unit by connecting the unit to a PC and using the Arduino IDE to complete the upload.
And you are done.