DIY sunrise alarm clock


As a project for an embedded systems class, [Alan] recently built himself a sunrise-simulating alarm clock. You are probably familiar with these sorts of timepieces – they gradually light up the room to awaken the sleeping individual rather than jarring them awake with a buzzer or the radio. Since many commercial units with this feature are sold for $70 and up, his goal was to replicate the functionality at a fraction of the cost, using only open source components.

An Arm Cortex M3 processor runs the show, displaying the time via a pair of 8×8 LED matrix panels on the front of the device. The clock is programmed to gently wake up its user by simulating a sunrise over a period of 5, 15, 30, 45, or 60 minutes. If the user has not woken up before the sunrise simulation is complete, the clock resorts to a traditional piezo alarm to rouse the heavy sleeper.

The project is nicely done, and after looking at his bill of materials it seems to be far cheaper than many sunrise alarm clocks you will find in stores.


  1. NatureTM says:

    I don’t want to be negative, but if his goal was to be cheap, Arm Cortex M3 seems like a little overkill. Then again, maybe that was a class requirement, or just what he prefers to use.

    It looks nice though.

  2. Alex says:

    I’ve heard of alarms with bells that slowly increase in intensity, but I’ve never seen one of these. What a cool idea, and this seems like a nice implementation.

  3. Alex says:

    Oh wow, Cortex M3? That’s crazy overkill. Interesting choice indeed.

  4. Me says:

    I have one of those Phillips alarm clocks,
    and it’s horrible: it’s all plastic, and too
    light to operate the front buttons without
    holding onto the back of it, also the buttons
    give off a really cheap, hollow “plasticky”
    sound. To top it off, the LCD display is WAY
    too bright for a nightstand, and it frequently
    “forgets” the programmed brightness level.

    I’d very much like to build one of these.

  5. Me says:

    What a nuisance, btw, that this edit box
    extends past-and-underneath the “Hacks”
    sidebar. :-(

  6. Jeff says:

    An 8×8 LED display can be pretty bright as well. A sleep timer, light-sensing dimmer, or dimmer dial would be nice as well.

  7. ZeroCool42 says:

    Yay! I have been wanting to make one of these for a while but never quite figured out how!

    Then again, I wonder if it could simply be done with LEDs and PWM?

  8. George says:

    A Cortex M3 might seem like overkill, but if you read the project page, he’s using a $10 STM32-Discovery board. Given that he’s using like 23 or so i/o’s, that dev board is probably the cheapest, simplest solution for his needs.

  9. Allen says:

    @Jeff It does have a light sensor that dims the display at lower ambient light levels.

  10. grenadier says:

    Does it make songbird noises?

  11. error404 says:

    It’s not like the STM32 part is expensive anyway, the 128K part he used is available in singles for like $2.50/ea, and for this application he could probably get away with using the 32K version at $1.75.

    Add the uber cheap dev board into the picture, and this really is cost-driven choice.

  12. fghsgfhsdf says:

    “Also if time allowed, a DMA should be used to transfer the display data from memory to GPIO without CPU intervention, which could save a lot of CPU run time. ” -author.

    YOU SEE! he was tight with a m3 cortex.

    i’m suggesting an upgrade of the project with an intel atom board. But a Xeon platform might be a better choice.

  13. Bogdan says:

    I don’t know how the 60W bulb is enough. I used a 150W halogen projector that falls partially directly on the bed and still find it not powerful enough…

  14. Pjn says:

    Can’t get any incandescents in Europe anymore, and all the others are shit dimmable.

  15. medwardl says:

    I dislike my buzzer enough as it is add light and I’d have it flying across my room the first morning.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,369 other followers