4-slot cRIO being used with 2019 software and components? possible?

Does anyone know if the old 4-slot cRIO’s support the 2019 software functions? CAN bus for the Talon SRX’s? other things? anyone done that?

are any functions/processes lost if using the cRIO’s?

I’m hoping to use some of our old hardware to build offseason test robots.


In theory it’s possible, but none of the modern RoboRIO images supports the cRIO, so you’d essentially have to rewrite the entire FRC software stack from scratch, which doesn’t sound very feasible. On top of that, the cRIO was pretty damn slow and had a much different featureset than the RoboRIO, software-wise.


I really wish there was an easier way to get these going again. Such expensive hardware to just sit.

1 Like

As Solomon said, this is basically as arduous a task as writing a new software stack. Also, the cRIO is not very good compared to other processor options.

If your goal is to write code that is compatible with the RoboRIO and FRC driver station, you’re basically going to need to use a RoboRIO. If you don’t care about that as much, there’s the CTRE Hero and the VMX-pi shield, both of which have CAN bus support. The Hero probably has better out-of-the-box support for TalonSRXs over CAN though. If you’re willing to drive things through PWM instead of CAN almost anything could control your robot, including an Arduino + RC.

A cheap(er than a RoboRIO) yet still batteries-included package might be Vex RC electronics/software stack, which 254 uses for their T-shirt cannon.

The RIO is here to stay through at least 2021, so it might make sense to purchase more control system components, if you’re serious about testing a “real” FRC robot.

1 Like

You can download the 2014 version of LabVIEW and the update suite from the bottom of this page to get started. From there, programming in labview would be much the same as today. To use java I’d recommend starting with the archived control system documentation here. You’ll have to install netbeans and getting the jdk set up might be a pain.


Look into Thunder cRio Tools. With it, you can program the cRio in c++. It also has links to download all the relevant sofware like the driver station, toolchains, and firmware images.

To answer the CAN question, you won’t be able to use the CAN bus unless you have Jaguars for some reason, and even then I’d just use PWM to control them.

1 Like

The FRC-cRIOs are literally just normal NI cRIOs with a different sticker. They can be programmed with LabVIEW using the Realtime and FPGA modules (as long as you don’t have to be FRC-legal, why not exploit the FPGA backplane?)


Note that it is not a stock off the shelf cRIO, it is a cost-optimized version of (I believe) the cRIO-9076. Also, unfortunately as FRC teams we do not get free access to the FPGA module, so the cost will likely be very prohibitive.

1 Like

I’m mostly wanting to play around with Motion Profiling on the SRX’s. Does anyone know if any of the above-mentioned non-RoboRIO alternatives would allow that? or is a RoboRIO really the only way to go?

You’re going to need robust CAN bus, and the cRIO doesn’t have that. The CTRE Hero and VMX-Pi mentioned in @Lytigas’ post should both work well for that use case. The Hero is built by CTRE so you’ll get a lot of support for working with the Talon SRX, but it doesn’t run the WPILib software stack (it uses a custom C# framework). The VMX-Pi does run WPILib. If you just want to run a Talon SRX, I would recommend the Hero, but if your the goal is to get something very close to robot code, your best bet may be the VMX-Pi?

1 Like

There are Talon libraries for Pi and Jetson platforms, if that’s all you’re looking for. Pair one of those with a usb->CAN adapter and non-FRC firmware for the Talons?

Does it make sense to sell your cRIO on ebay and use the money to buy a Raspberry Pi and a VMX-pi Robotics Controller / Vision & Motion Co-processor from Kaui Labs? It is supposed to run the same software libraries as the Roborio and is a lot more compact.

Very minimal changes. If you peel off the FRC sticker, you can even find the USB-A port (or maybe just the hole in the chassis and footprint on the PCBA underneath, without the connector populated; I forget). It can definitely be configured through NI-MAX, and programmed with LabVIEW.

I suspect NI would be willing to at least heavily discount the FPGA and realtime modules to FRC teams. If not, the standard NI procedure will work: set your BIOS clock forward a few years, install the evaluations, set the clock back.

1 Like