Daylight-simulating alarm clock

I know it’s shocking (or not, if I’m using proper EE habits), but I build connected stuff. So many little problems around the house get turned into projects. One of my issues was that I hate blaring alarms. Being pulled out of a deep slumber by shrieking noise is a terrible way for me to start the day, so I fixed it. This little control box has a couple of big FETs in it, a 5V regulator (because LM7805s are what I had), a Photon with a cute puppy face, and a button.

The big heat sinks are for the FETs and the regulator, but only the reg gets hot right now. The button allows me to toggle the lights on or off separately from the scheduled alarm. The really nice piece is the LED strip. I found a warm white/cool white dual channel strip, and it’s coded up to dim the warm channel from zero to full over 15 minutes, and then fade the cool channel up from zero on top of it over the next 15 minutes. The total effect is a sunrise simulation that goes across an almost-natural color temp range.

Now if I don’t wake up by the end of that 30 minutes, then the 500W halogen spotlight starts fading in and there’s no sleeping through that artificial sun. The whole process is kicked off by an IFTTT recipe, and the Photon controlling the LEDs triggers the Photon controlling the halogen via a pub/sub. Hitting the button on the control box turns the LEDs full on/full off, and if it’s in the off direction it also turns the halogen off so it’s effective as a snooze button.

Oh, why yes, those are custom window coverings made of whiteboard and U-channel that slide open!