An interactive Advent calendar

Lead Image © antimartina,

Christmas Countdown

An Advent calendar during the Holiday season is a lovely tradition, but the calendars on the market are rather ordinary. We describe a Rasp Pi project that lets you create an innovative and unique Advent calendar.

Pairing a Rasp Pi with a few ICs, servomotors, and LEDs makes it possible to build a one-of-a-kind Advent calendar with moving parts and musical accompaniment. The basic concept behind the design for the project is simple: Pressing a button each morning during the Advent season will prompt the Rasp Pi to play a Christmas tune and deliver a small surprise gift for the day thanks to the servomotors. A wheel driven by a stepper motor shows the current date, and LEDs turn on for a festive display of lights.

Because the Rasp Pi GPIO pins cannot handle all of these components alone, this project requires the addition of an I2C bus. Each of the electronic modules is on an individual board, as shown in Figure  1, which makes testing and alterations easy. In this way the calendar can be reused for future Advent seasons.

Figure 1: Simple wires connect the individual boards used in this project. These wires won't affect the visual appearance of the calendar because they are not visible.

You will find all of the wiring diagrams and listings for the calendar project as a gEDA wiring plan and in EPS format on the Raspberry Pi Geek website [1]. You should look for a folder aptly named calender/. A short video shows an Advent calendar in use after the project has been completed.

Project Plan

Because this project is a relatively comprehensive, it makes sense first to develop an implementation plan before starting; otherwise, you might lose track of what needs to be done.

I divided the project into the following steps:

  • Develop the design
  • Determine the power requirements
  • Set up the Rasp Pi
  • Play the music
  • Control the lights
  • Deliver the gift for the day
  • Display the date
  • Test the button
  • Write the Master Control Program

In this article, I will take you through each step of this outline in the order of its appearance.


The first design idea that came to mind was to screw the calendar into the ceiling. This notion was rejected because I didn't want to make permanent structural changes to my home. The second idea for a design was to use a pre-made shelf, but I also rejected this plan because I didn't seem to have a straightforward way to attach the necessary components. Finally, I settled on a design that involved making a frame for the calendar out of wood and metal braces. (Figure  2).

Figure 2: With no pre-built and practical solution at hand, it made sense to construct a framework for the calendar out of an economical material like balsa wood.

By itself, the framework looks to be overlarge, but in fact, this size is necessary to accommodate all of the components of the calendar. The pieces for the framing cost about EUR  20 (ca. US$  25). Figure  3 shows a schematic drawing of the set of instructions for assembling the framework.

Figure 3: Assembly instructions for the Geek Advent calendar framing.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content