Arduino LED strip control legality?

Good Day everyone. Our team has recently purchased a few meters of RGB LED tape and were wondering what the best legal way to drive them was(note that these are for decoration only). I have had quite a bit of experience with arduinos and could easily drive them with the aid of a few mosfets. The idea would be to power the arduino and the strips off a 12v Power distribution channel, and have it be completely independent from the crio. This would be the ideal solution as it would allow us true pwm control for smooth fading and a wide variety of colors. Also the lights would be on whenever the bot had power. From everything I have read this should be legal as it is all just for decoration, am I wrong? If I am wrong what method would you recommend? I read this board that the pwm outputs on the sidecar are not true pwm so they could not be used, is that correct? If neither of those avenues are allowed then should we just use a couple of spikes, that must be allowed, correct? If your team has any past experience your thoughts would be greatly appreciated. Thanks.

No, it’s not legal. See [R52] and the blue box for [R65].

You’d have to have the cRIO telling the lights to turn on and off.

I had read those rules but was under the opinion that when they spoke of “controlled” it was referring to the motors and devices that physically move. therefore one could use another “controller”. For instance you could use another “controller” to filter sensor output before entering the crio. The Q&A specifically calls them a “co-prossesor”. If we were to wire a digital I/O or I2C bus as sort of an enable disable relay system from the crio -> arduino and code it so the lights were off when disabled. Would that be a legal solution?

I don’t beleive that those rules apply to a non-functional decoration in the way that you think. The arduino is a custom circuit, and the LEDs are a custom circuit. This is explicitly allowed by [R65A]. If the arduino also connected to a jaguar, that would be illegal.

I agree with your interpretation.

FWIW, on the Power Diagrams provided by FIRST, Sensors, Fans and Custom Circuits are all shown to be directly connected to the PD Board.

You could quite easily have the cRio control the Arduino. Just use a few of the DIO signals to tell the Arduino which lighting pattern it should be displaying. Then just let the Arduino do the work controlling the PWM to the LEDs.
Panning rainbow when disabled or just in “Demo” mode. RED or BLUE when you want to indicate your Alliance color. Flashing green when locked on target.
The options are endless.

Thats one of the ideas we had, but I wanted to make sure that the basic isolated system was legal as a fallback incase we need the IO for other tasks. Also we were going to take a look at I2C going from c++ to arduino, so if anyone has an experience with that your thoughts would be appreciated. I have done some basic arduino -> arduino I2C stuff but have not had a chance to look at the Crrio C++ interpretation.

As far as I am aware, using an Arduino to control the LED strips is still legal under the current rules. This was how we did it last year. The cRIO would send commands over two wires (I believe) we had hooked up to the Arduino. This did not use I2C though. We now have I2C communications working between the Arduino and the cRIO (with the Arduino acting as slave of course). Complete info on this very soon (tomorrow I think?). :slight_smile:

That would be amazing! Thank you very much for your help!

@JoshSmith
Posting your code would be great. I am currently fighting how to talk to the Arduino. I am not receiving any sends or requests from the cRIO side (using the Java VM). I have tested an Arduino-to-Arduino I2C that works fine, but I can’t seem to get anything from the digital-sidekick.

We decided to scrap the crio -> arduino coms due to both complexity and rules. As now that the lights don’t provide communication, just look pretty, they should be considered decorations. Sorry I can’t help.