Add roboRIO documentation (final year)

- Dual-core ARM Cortex-A9 + Xilinx FPGA
- All built-in ports (I2C, SPI, PWM, CAN, Ethernet)
- Imaging requirement for deployment
- Note: SystemCore replacement coming
This commit is contained in:
MrC
2026-05-04 01:13:22 +00:00
parent 0970729558
commit e6dc0a7339

74
sources/2890/roborio.md Normal file
View File

@@ -0,0 +1,74 @@
---
title: "roboRIO — FRC Robot Controller (Final Year)"
tags:
- hardware
- controller
- roborio
- 2890
- frc
type: hardware-spec
owner: 2890
status: retiring
sources:
- "https://docs.wpilib.org/en/stable/docs/software/roborio-info/roborio-introduction.html"
- "https://www.ni.com/docs/en-US/bundle/roborio-frc-specs/page/specs.html"
---
# 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
| Parameter | Value |
|-----------|-------|
| Processor | Dual-core ARM Cortex-A9 Real-Time |
| FPGA | Xilinx (customizable) |
| Communication | Ethernet, USB, RS232, I2C, SPI |
| Motor control | PWM, CAN (via SPARK Flex) |
| Built-in | I2C, SPI, encoders, accelerometer, LEDs, buttons |
| Weight | Light, 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:**
- [[systemcore]] — the replacement controller coming next year
- [[power-distribution-hub]] — PDH connects to roboRIO via CAN
- [[spark-flex]] — receives commands from roboRIO over CAN
- [[frc-software-stack]] — understanding the code deployment pipeline
## Source Links
- WPILib docs: https://docs.wpilib.org/en/stable/docs/software/roborio-info/roborio-introduction.html
- Technical specs: https://www.ni.com/docs/en-US/bundle/roborio-frc-specs/page/specs.html
- User manual: https://www.ni.com/docs/en-US/bundle/roborio-20-umanual/page/umanual.html
## 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.