I’ve always wanted to try one of those alarm clocks that wake you up with light. Instead of buying one like a normal person, I decided to build one myself! Hooray!

What I ended up with is essentially a programmable dimmer for 12v LED light strips. I started with an Arduino Pro Mini knockoff as the brains, and connected a DS1307 real time clock module from Adafruit to provide relatively accurate timekeeping. I also added a four digit 7-segment display to give my project a decent looking clock display.

LED Controller Board

LED Controller with Lights

I hooked up the LED strip through an old school TIP120 Darlington transistor. I would have liked to have used a MOSFET instead, but I already had a few TIP120s laying around (thanks UMass ECE!). Using a MOSFET would have let me lower the power consumption, and probably increase the length of the LED strip I can drive without a heatsink. But the TIP120 works fine, and I can control the brightness of the LEDs with a little PWM from the Arduino.

I’m currently putting the finishing touches on the software, but already this project is serving to brighten my mornings.