Santa's Springy Hat

Many years ago, I bought a silly christmas hat - white trim white bom-pom, and instead of floppy red felt inbetween, it has a conical shaped red spring. Amazon sells something similar, (but not quite as good!).

They also sell a Christmas tree version.

I also like the mini version, attached to an alice band.

I want lights on it, and the simplest solution was to wrap a string of battery powered lights from the pound shop. That worked ok, but was a little ugly. I want something better, where the wires are not visible, and the LEDs point in the "correct" direction.

So, Ive started making my own.

Original Idea

I was going to have the LEDs outside of the red material, with their contacts poking through the material into two pairs of twisted wires. All LEDs would be in parallel. This proved harder than I imagined, and experimenting with the LEDs and the felt, I found that the LEDs shon through the felt very nicely, so I decided to put the LEDs inside the felt tube.


I wired 15 LEDs in 5 groups of three, where all LEDs in a group would be all on or all off. Not very good, for two reasons :

  1. Too sparse - 4cm between LEDs on a mini hat wasn't good enough.
  2. No individual control meant very limited pattern possibilities. e.g. can't do top to bottom chases.

The next prototype arranged the LEDs in an array where individual LEDs could be controlled. I placed a current limiting resistor per group, rather than per LED. Alas my LEDs weren't nicely matched, and this arrangement made some LEDs considerably brighter than others. I soldered this version in one go, and then tested at the end. Mistake! Finding and fixing mistakes was much harder than if I had tested while constructing.

Mini Version

I eventually created a string of 25 LEDs, each with their own resistor, arranged in 5 groups of 5. Connecting to 10 pins on an Arduino, I can control each LED separately by quickly pulsing through each of the 5 groups. Alternatively, I can also control each group using PWM.

So, some animations turn individual LEDs on/off, and others use PWM to control the brightness. One downside is that when controlling individual LEDs, you cannot achieve full brightness, as the LEDs are off most of the time.

The LEDs are roughly 2cm apart, and pointing in the direction of the wires rather than outwards. This illuminates sections of the felt nice and evenly. The 10 strands of wire are quite chunky, but perfectly acceptable.

Full Size Version

I do like the ability to control individual LEDs, but on a full size hat, I'd need 90 LEDs using the same 2cm density. Making it less dense, every 3 cms, then I'd need 60 LEDs. Could be arranged in an 8x8 array - 16 wires. I'd need to use an external PWM chip, as Arduinos only have 6. Alternatively, arrange in a 6x10 array - still 16 wires, but these could be controlled with just a single Arduino. May need external transistors to prevent too much current draw from the Arduino. Or 5x12, which would need an extra wire, but has the advantage of less groups, so the LEDs could be on for 1/5th of the time rather than only 1/6th.