An Advent Calendar progress-bar decoration that uses a Raspberry Pi Pico W (2) to show you how many sleeps until Christmas (during Advent). It has a light dependent resistor (LDR) to make the lights only turn on when it is dark and an override button so that you can turn the lights off at bedtime.
Outside of advent, it acts as an automatic light, which is also pretty.
- Rasperry Pi Pico 2W (it is compatible with the original W too)
- 1m 144 LED neopixel strip (We used a WS2812 B Eco)
- Momentary Switch
- Light Dependent Resistor (LDR)
- Prototype board
- 1m L shaped metal strip
- 1m wooden strip (rectangular cross section)
- 23 separator fins and two end pieces (all in /3d directory)
A whizz through the build process:
The LDR and the momentary switch both go to GND from GPIO 26 and 15 respectively. The NeoPixel strip is connected to GPIO 19 (as well as VSYS and GND)
Copy the file main.py onto your Pico using whatever method you find easiest. For this single file, it is probably quickest just to use Thonny. Put your WiFi details into the code and that should be it!
At dusk (the LDR value can be adjusted in the code if needed) the lights turn on. If it is currently Advent, then the bar acts as a progress bar, charting the number of sleeps until Christmas. Outside of advent, the light will be a 'breathing' pattern.
Pressing the momentary switch will disable the lights until it gets light again. When it gets bright again, the Pico will reset.

