Bare-bones Electronic Advent Calendar

It’s officially September now (in some parts of the world), and that means we’ve been watching the Christmas decorations go up on the floor of Costco, Walmart and Target for the last few weeks. As a small test of reality, [Eric] decided to build an electronic advent calendar that counts down the days until Christmas. As a simple build using parts lying around on the bench, [Eric] did a pretty good job at deferring his kid’s questions of, “How long until Christmas?” to a machine.

The build is fairly bare-bones, using only an Arduino Pro Mini, RTC and LCD display. For the real-time clock, [Eric] used the ever popular DS3231 RTC. The software reads the time from the clock and calculates the number of seconds between the present time and the hard-coded target date.

Everything is powered by a 9 Volt battery that wouldn’t last the remaining 115 days until Christmas. There is a power switch and the RTC has a battery backup, so the build will probably suffice for all but the most fanatical child.

13 thoughts on “Bare-bones Electronic Advent Calendar

    1. I had a lot of problems getting my RTC working on my robot. You could have an alarm on the RTC to wake up the Arduino to update the LCD. Might make the battery last longer. I did the same thing to speed up sensor monitoring as to not monitor all the sensors and only update the rest when the alarm goes off every minute.

    1. It’s the type of hack begging to be wired to a gumball dispencer filled with chocolate that automatically dispences a bit every day until christmas day.

      Thinking bigger, an advent calendar vending machine would be a nice hack, chocolate every day until christmas upon which you’ll probably have gained enough weight to fill out a santa suit :)

  1. He could of set it to wake up on interrupt from a push button, calculate the remaining time, display it for a few then have it go back to sleep. It would atleast last till Xmas(or longer).

  2. Sorry for the obvious point, but something involving a microcontroller is not so “barebone” in my point of view (not to be confused with “where’s the arduino” argument). Ok, here there’s an LCD to drive, but generally speaking: why is everybody so lazy and use expensive components to do simple stuff like counting? If you know what you’re doing, a logic-only clock is even easier than a uC-based one. Hint: i would like to see more discrete component/active-but-not-so-complex components stuff over here…

    1. OK, build us a circuit that does exactly the same thing without a CPU. Give us the URL to your write up.

      People use CPUs with stuff like this because it is much easier than a board full of logic chips.

      There is a little bit less name calling now that the new comment system is here but HAD is still full of arm chair quarterbacks that are way smarter than the people actually doing the work and sharing.

      1. …wow.. easy to get personal! I’m not claiming i’m more smart or capable than the autor or than you or than anyone else. And I even said “Ok here there’s a dot matrix LCD to drive”… I’m just saying that things like this reminds me that when i was a beginner EVERY magazine was proposing discrete components builds to solve ANY problem. And it was complex. But it was instructive and awesome. While i think that all works proposed here are done witth tons of creativity and ability, i think there’s absolutely nothing special in placing a couple of hi-level language lines of code in a micro to do this and that. That’s it. Maybe not in this project, but generally speaking, over and mis-use of mCs nowadays is a fact.

  3. “As a simple build using parts lying around on the bench, [Eric] did a pretty good job at deferring his kid’s questions of, “How long until Christmas?” to a machine.”

    HAHAHAHAHAHahahahaha
    the REAL motivation!

  4. Has anyone ported this over to use the LED DMD that freetronics sell and use the newer DS3232 RTC? I am trying to work out what bits of code to change but even with just copying the code it gives all sorts of errors when I try and compile it.
    Being a complete newbie I have no idea where to start

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.