For it will drag you down a rathole.
When I saw that tricolor LED strip marked down to seven bucks at the local Radio Shack this winter, I thought, “what the heck, might as well pick it up.” Less that half the price of a strip from Adafruit, and a less than a quarter of what Rat Shack originally wanted for it, why not?
Because I would have wasted far less time if it had just shorted out in my face the first minute I tried to plug it in.
- It requires a separate 12v power supply.
- It’s not actually a 30-leds-per meter addressable strip; it’s 10 groups of 3 leds each.
- The 1803 controller chips in the strip speak an ancient 400-khz protocol that is apparently available only in RS’s own demo programs (implemented by lots of nops), a few hacks of those programs, and several versions ago of Polulu’s LED library. (FastLED lists the 1803 as possible, but the library wasn’t playing nicely with my installation this week, so I never found out.)
- The 1803 and the leds do not combine for an even ramp of perceived light with nominal GBR color (yes, GBR), so you have to diddle the levels endlessly to get the colors you want.
So I thought I would do a sort of quick sketchy prototype-analog for another project I’m working on that will use an LED strip to represent data over time, but instead I spent a couple days tracking down the bits of code to make my $7 strip work at all, and then another day arguing with the knockoff sonar I was using as a readily available data source. (Oh, and did I mention that the library code for the strip only works with interrupts turned off, so anything else that wants to depend on a timer is mostly out of luck?)
If I’d gone with a regular neopixel strip or some dotstars or pretty much anything but the bargain bin, this all would have been over in a few hours. On the one hand, no one is paying me (yet) for this particular project, so time isn’t exactly money. But on the other hand, time is still time, and there’s only so much of it to go around.