The Inspiration

I stumbled across John Beardon’s hack https://john.beardon.net/hacking-a-fibre-optic-christmas-tree/ one late December evening. Brilliant! I have an ancient halogen fibre optic tree needing this. In recent years I’ve been saying… “just one more year” as I fished it out of the loft. It grinds, creaks, and feels like a fire hazard whilst gobbling up loads of electricity.

The Patient

More tape than box!
More tape than box!
Tada!! Note to self, must replace box.
Tada!! Note to self, must replace box.

This is a generic late-90s/early 2000s fibre optic tree. These units rely on a 12V Halogen MR16 bulb to push light through a rotating colour wheel and into the fibre bundle at the base.

Back in the day this was “fine” , but today the problems are:

  1. Fire hazard: The halogen bulb gets incredibly hot, posing a fire risk.
  2. Mechanical Noise: The synchronous AC motor for the colour wheel was grinding.
  3. Inefficiency: High current draw.
  4. No changes to light pattern: Apparently some of these trees had a black and white colour wheel, though I don’t recall having one.

Original base.
Original base.
The original mechanism. 12V AC in, split off to the motor and a small bridge rectifier for the fan. The switch failed some years ago.

The Upgrade

I wanted to use parts and modules I had on hand. Digging around I found these:

Electronics

Mechanical

  • 3mm thick cast acrylic to make PCB and LED mounts.

Wiring Schematic

graph LR
A[5V DC Input] --> B[Trinket M0 3V]
A --> C[LED ZIP STICKS]
A --> D
B --> |Data|D[Level Shifter]
D --> |Data|C

Prototyping and Build


A quick sanity check "Hello World" with Arduino IDE.

Breadboard.
Breadboard.


Acrylic laser cut.


Circuit modules mounted.
Upgraded base.
Upgraded base.

The Result

Final tree.
Final tree.

We are happy with it. Future upgrades perhaps:

  • Mode switch to cycle through patterns and colours
  • Home Assistant integration
  • Pattern sensitivity to ambient noise

Downloads

Arduino Code