Decoration, preference for LEDs

What are you preferences for Led lights? We are looking for options that we can run with the RoboRio… What are you all using?
Thank you!

We’re using 12V LED strips and spots made for car systems. We have a spotlight intended for trunks, hoods, and gloveboxes to light up vision targets, a whte 14" strip to make some shadows on the totes for detail. These were sourced at local auto parts shops. We also have some non-addressable RGB strips from sparkfun (or was it adafruit) for the “funlight” decorations, all of which show the same colors at the same time. We’re switching all of these with a total of three spikes via the RIO relay ports.

If you’re using java, or don’t mind converting some simple code, here is our source code for the non-addressable LEDs. Most of the methods are just one or two functional lines; only setAllianceColors() is longer. Our LED strips have a common positive line and separate negative lines for the red, green, and blue elements. We have connected these four wires to the four motor outputs of two spike relays. Here’s the mapping for the code as found at the link:

  • Common: M- output of spike on relay port 2
  • Blue negative: M+ output of spike on relay port 2
  • Green negative: M- output of spike on relay port 3
  • Red negative: M+ ouput of spike on relay port 3

If you use LED strips with common negative line, swap all the kOffs for kOns and all the kReverses with kForwards.

For robot LEDs you have a few options.

The easiest would be to use simple RGB LED strips like GeeTwo mentioned. For our bot last year we used these:

The cool part is that they came with a controller that can be modified to work with the RIO outputs. If you open up the little white box, you can find the three FETs that provide power to the strip. Just desolder control bits, and solder in some PWM line. These can be fed directly from the RIO by a real PWM (not a servo or motor controller PWM) to get RGB control. The 12V jack wires up to the PDP, and you’re good to go. You can also use a Spike if you don’t want to putz with soldering in PWM lines, but you can’t generate fluid animations or different brightness levels.

The next step up is to use addressable LEDs, but it adds some significant complexity. This year we used these:
Adafruit sells them as NeoPixels, but they are all based on the WS2811 or WS2812B LEDs. To control these, you need a dedicated micro-controller on your bot since the RoboRio doesn’t have the real time digital support to do it. You also need 5V for these, not 12V. A quick note on that, the 5V on the VRM poses a few problems since it’s noisy and you really want to leave that 2A port for the radio. If you still have it, the vreg from previous years works well, or just search amazon for a UBEC (a regulator for RC cars).

The simplest method to make these work would be to have some programmed animations on a micro-coontroller, and then use a few DIO from the RIO to your chosen micro to select the animation. One more step up would be full digital communication. We used the I2C port on the RIO to communicate with a TI LaunchPad (like the one in your kit). The LaunchPad then made decisions on what to show on the strip. Since this gave us some flexibility, we ended up with two separate strips that can have their own animations from one LaunchPad.

Feel free to let us know what direction you’re leaning, and I’m sure the forum can get you some more technical info.

Adafruit now sells what they call DotStar addressable LED strips which you should be able to control with the RoboRIO. I have not used them myself.


Is it ok to have LED’s wired straight to the distribution board with a physical switch? Or do all electronic components need to be controlled by the RoboRio?

I know it sounds like the easy way out, but I don’t really have an elaborate LED set up, so I figured this was the best way.

Non-functional decorations are CUSTOM CIRCUITS, which can be plugged straight into the PDB.

Thanks for the help! This is great to know, becuaseit solves the problem of having to power the strips correctly. We will be sure to consider this option, as it is a little less expensive.

144 uses some non addressable, three color LED strips, but here’s our little secret, we used a arduino to make them change colors. Not only do they change, they change as the elevator on our bot reaches different levels. The entire bot glows