’Tis the season for soldering! At least at my house. My son and I made some fairly LED-laden gifts for the immediate relatives last year, and he’s got the blinky bug. We were brainstorming what we could make this year, and his response was “I don’t care, but it needs to have lots of LEDs”.
It’s also the season for reverse engineering, apparently, because we’re using a string of WS2812-alike “fairy lights”. These are actually really neat, they look good and are relatively cheap. It’s a string of RGB LEDs with drivers, each dipped in epoxy, and run on a common three-enameled-wire bus. Unlike WS2812s, which pass the data on to the next unit in the line and then display them with a latching pulse at the end of a sequence, these LED drivers seem to count how many RGB packets have been sent down the wire, and only respond to their own number.
This means that if you cut up a string of 200 LEDs, it behaves like a string of 200 WS2812s. But if you cut say 10 LEDs off the string, where you cut them matters. If you cut it off the front of the string, you only have to send 10 color packets. If you cut them off the other end, you need to send 290 dummy packets before they even start listening. Bizarre, but ’tis the season for bizarre hacks.
And finally, ’tis the season for first steps into “software architecture”. Which is to say that my son is appreciating functions for the first time in his life. Controlling one LED is easy, but making a light show is about two more abstraction layers on top of that. We’ve been having fun making them dim, twinkle, and chase so far. We only have two more weekends, though, and we don’t have a final light show figured out yet, but after all, ’tis the season for last minute present hacking.