The goal of this project is to have the raspberry pi coprocessor that seems to be commonplace if many teams adopt Photon Vision be able to control LED strips on their robots with little space requirements. I believe this would be better than the CANdle and Blinkin Driver in terms of customization and communication overhead. As with many teams maxing out the CAN network I am sure not many would want to have LED control be added to that.
Information Emitter uses Network Tables to transmit the data and instead of transmitting each and every LED’s data over the network tables it utilizes customizable pre-built patterns for control. I am still in the early stages of the project as only the basic functionality works. I’d be curious to hear any feedback people may have.
Haha nice, I designed something similar to this as one of my first “real” PCBs, but literally the next year, WPIlib added addressable LED support via the FPGA, and that’s been good enough for us ever since.
I don’t want to discourage this project, but I just want to note that the RoboRIO has built in support for controlling one strand of WS281x addressable LEDs, with no CAN bus overhead or extra devices required (except what is needed to power them, which the rPi will need too).
Note that while the hardware support to drive strands is present, the library support is pretty minimal—we have support for setting LED values in an array and updating the strand, but no higher level functionality like patterns. So one potential project would be to add support for various patterns.
It does need some work, it should probably change from thread to notifier, or maybe just rely on the hosting subsystem to call updated to allow pattern animation. Something else that could be added is string segments having separate patterns, but I think that would require some changes to led buffer. I was planning on doing this in the off season but the best laid plans…
I usually subscribe to the doctrine of “don’t stick unnecessary stuff on your roboRIO”, which is probably paranoid but at least rooted in something honest. So I could see the arguments for either the WPILib option or running it off a coprocessor for information display.
But by the same token, if our kids are purely out for bling I’d probably just wire a custom circuit with a QT Py and a voltage converter.
Also the CANdle allows for animations on led strips and has a few leds of its own as well as supplying power. The Blinken has a wide array of pre programmed options and also provides power but it is currently out of stock.