Created an advent calendar

I created an advent calendar based upon our house. There are 24 independently lit windows, and an automation sets the LEDs for each day based upon the number of days elapsed in December. Lights are chosen based upon our observed daily routines, so the security light at the front door comes on first (as it tends to fire overnight), then the dressing room for the 2nd of Dec (as illustrated), then the ensuite, then the kids’ rooms, their bathrooms, the kitchen for breakfast, etc, ending up with the landing light at the close.

Inside there’s an ESP8266 feather running ESPHome, tied to a TLC-5947 to give me 24 channels of PWM light. Its powered by a USB lead, and whilst the model is predominantly hollow, pretty much everything that isn’t a backbox to a window is a wire.

The 3D printed material is slightly translucent, so I’ve also painted the divisions with acrylic white paint to up the opacity and reduce bleed.

Its been a lot of fun to thrash out the complexities, and I do wish I’d made it about 20% bigger as it would have simplified wiring considerably. On the other hand, this is the maximum model size that comes out of my mate’s print bed :slight_smile:


Here’s a quick run through of the lights from the front.

1 Like

That would be so cool to have a 3d model of the house/apartment instead of the “dashboard/picture entity cards” to show what rooms have lights on.

You could even simulate a TV with an RGB led.

Oh well. I don’t have a printer, therefore I don’t have to spend lots of hours on THAT project.


Yep. For the rest of the year, I’m planning to use it as a tell for which lights the kids have left on. 210 million years of mammalian evolution and you could replace me with a sign that says “turn it off”.

You are making the rest of us look bad man. :stuck_out_tongue:

Nothing more Christmassy than a father swearing at a tiny piece of plastic that he struggles to bend to his will :slight_smile:

The photos look nice and all, but I know the soundtrack of the nights that proceeded it :slight_smile:

It does look like you make quite a nest with all those cables.
They seem thicker than they need to be and more of it than needed.

1 Like

Thanks @Hellis81.

You may well be right. This is my first attempt at something like this. I didn’t know the scale until it was printed, and it was smaller than I had imagined. The feather is an unintended friction fit in the base between the window divisions, and the pwm board is only just possible to lay flat behind the atrium surround. I had to route the wires up through the central aperture before looping over to their wall assignment as they’d otherwise be visible through the windows. I bought reels of 22 AWG for the loom, but switched to the stuff used in the photos as it was smaller and more flexible. Each LED has a power and ground of its own, as I wasn’t sure if the board was operating in parallel and applying a PWM on the ground side.

To give a better sense of scale here it is in my hand.

Some of the windows are only 3mm across, and only one is big enough to actually push a 3mm led through.

That big blue board with all the wires coming out of it is this one:

It definitely would have been easier to wire the rooms then drop them into place en masse. Unfortunately I only proved that after the print was finished and it wasn’t my printer to play with.

Any thoughts on how I could have made this easier on myself? Jumper wires or inline connectors might have helped,

I thought the PWM could be connected as “normally”, meaning the pin to the LED and then to a common ground.
That way you could have used one wire as the ground.

In these cases I usually take one wire and route it to measure where to make cuts in the sleeve to join in the led on.
I wouldn’t bother with isolating the ground on that smal area where it joined in, but instead made sure the isolation on the positive end was good.

That’s a great suggestion. I thought the TLC594x LED driver outputs were current sinks, connecting the output to ground when on and taking up any difference between supply voltage and what’s dropped across the LED? In that instance, a common ground would only give a single channel of control for all 24.

It’s either that, or the opposite, and that kind of ambiguity is why each led has a source and a drain :grinning_face_with_smiling_eyes:

That’s a good idea. If this is a current sink driver, routing a single ground wire around in the way you propose would be far easier. Likewise with the v+ if it’s a current source driver.

Either way, with some flavour of your suggestion I can maybe cut the LED wires down from 48 to 25. The datasheet will probably tell me which side can be common. I have to get better at reading those things!

Edit for any others facing this issue: it is a current sink driver. If you want to use a common rail, it’s on the power side, not the ground.

Here’s a bonus pic taken at breakfast this morning (Dec 3) for your troubles, @Hellis81.

1 Like