COTS relay boards


We bought some relay boards designed to work with the Arduino’s DIO, with me assuming that it should just work with the Rio’s DIO. I totally forgot that the Rio has it’s own relay ports, but should the DIO relay still work? It falls within spec for current draw etc from the Rio’s 5V rail.


Yes, we have done this. Note that in my experience, most (not quite all) COTS 12V and 5V relay boards are reverse logic - the normal state of the relay is when the input pin is high. If you are planning to run a 5V relay board, check the current requirements - most of these are beyond what the DIO will provide; you will need another voltage regulator (whether a VRM or something else).

Just to verify - this is for LEDs, sensor, computing device, or something else that is NOT an actuator, right?


The only relays that are legal on FRC robots (unless specified in the Q&A) are the Spike Modules and the three Automation direct solid state relays. The relay outputs on the RoboRio are meant to connect to the Spike relay only and control the four states for which the Spike can be commanded.
I believe you can connect the digital I/O on the Arduino to interface the DIO on the roboRio without relays.


For controlling actuators, correct? Is there a rule prohibiting other relays or solid state relays in custom circuits (eg controlling a LED string)? There hasn’t been previous years that I know of.


This is for our LED ring for vision, I meant to add, sorry!


The relay boards fall under custom circuits. As long as they do not violate specific rules, they are legal. So you cannot use them to power motors, solenoid, actuators (anything in R37). You can use them to switch light rings and such that do not create motion. At least that is way I read the rules.


@Al_Skierkiewicz, am I reading this right? Are you saying that the Automation Direct relays are not to be connected to the relay ports? If so, how do you control them? The only guidance I could find in the rules was R75, which I read as meaning they shall be connected to a relay port (emphasis mine):

R75. Every relay module (per R36-B), servo controller, and PWM motor controller shall be connected to a corresponding port (relays to Relay ports, servo controllers and PWM controllers to PWM ports) on the roboRIO (either directly or through a WCP Spartan Sensor Board) or via a legal MXP connection (per R76). They shall not be controlled by signals from any other source, with the exception of the Nidec Dynamo motor controller which must also be connected to the roboRIO Digital I/O.

Further, I have always understood as a general design item that actuators must be controlled through CAN, PWM, or Relay ports because the RIO is able to secure activity on those channels to force shutdown of a robot when needed, such as at the end of a match or with the e-stop.


Sorry to confuse you. The relay ports on the RoboRio are three pin interfaces that were designed for the Spike input control specifications. To use these outputs with the Automation Direct relays, please be aware of the interface needed to control the SSRs. The Rio relay outputs are not simply DIO but have one pin to command FWD on the Spike and one pin to command REV on the Spike. The SSR will only need one of these with appropriate other wiring and software.