roboRIO — FRC Robot Controller

Overview

The roboRIO is Team 2890’s central robot controller — the brain that runs all robot code, reads sensors, and commands motors. It connects to the PDH via CAN, communicates with motor controllers, and runs the autonomous and driver control programs.

This is the final year for the roboRIO. A replacement system (SystemCore) is coming for future seasons.

Key Specifications

ParameterValue
ProcessorDual-core ARM Cortex-A9 Real-Time
FPGAXilinx (customizable)
CommunicationEthernet, USB, RS232, I2C, SPI
Motor controlPWM, CAN (via SPARK Flex)
Built-inI2C, SPI, encoders, accelerometer, LEDs, buttons
WeightLight, compact

Built-in Ports

  • I2C — sensor communication (time-of-flight, IMU)
  • SPI — high-speed sensor communication
  • RS232 — serial devices
  • USB — development/camera
  • Ethernet — radio, field communication
  • PWM — legacy motor control (8 ports)
  • Relays — spike/legacy solenoid control

Imaging

Before deploying code, the roboRIO must be imaged with the correct FRC firmware. This is a common troubleshooting step when the robot acts up.

Connection to Training

For students: The roboRIO is the brain. Key concepts:

  • Real-time processor — runs code predictably, not like a PC
  • FPGA — handles timing-critical signals (PWM, encoder counters) in hardware
  • CAN vs PWM — modern robots use CAN for smart motor control; PWM is legacy
  • I/O mapping — each sensor port has a defined role

Related training modules:

Notes

Chris says this is the last year for the roboRIO. SystemCore is the replacement — a next-gen controller that will eventually replace the NI/roboRIO stack. Teams will need to migrate code and potentially reconfigure motor controllers for the new platform.

This is a significant curriculum planning concern: teach students the current system, but prepare them for the transition. The programming patterns (PID, motion profiling, autonomous sequences) will carry forward even as the underlying hardware changes.