Skip to content
Getting Started with FRC·Lesson 10 of 28

The FRC Control System: Hardware and Software

A plain-English tour of the standardized electronics every FRC robot must use and the official software that runs them.

Sign in to track progress, earn XP, and save lessons.

Every FRC robot shares a common control system

To keep the competition safe and fair, FIRST requires every robot to use a standardized control system. Knowing these components by name makes the whole sport legible — you'll understand pit conversations, match-day failures, and the Game Manual's robot rules.

The core hardware

The brain: roboRIO

The NI roboRIO is the main robot controller — the 'brain' that runs your team's code and commands everything else. It connects to motor controllers, sensors, and the radio. (Looking ahead: FIRST is replacing the roboRIO with a new controller called SystemCore starting in the 2027 season, but the roboRIO is the required brain through 2026.)

Power: battery and distribution

  • A single 12V, 18Ah Sealed Lead-Acid (SLA) battery powers the whole robot.
  • A 120A Main Circuit Breaker acts as both the master power switch and overcurrent protection.
  • A REV Power Distribution Hub (PDH) — with 20 high-current (40A-max) channels — or a CTR Electronics Power Distribution Panel (PDP / PDP 2.0) distributes power through auto-resetting circuit breakers and fuses, protecting each branch of the robot.
  • Clean power wiring is essential to avoid 'brownouts' (the robot losing power and resetting under heavy load).

Making things move: motors and motor controllers

Motors don't connect directly to the roboRIO — a motor controller sits in between and translates commands into power:

  • CTR Electronics Talon FX, integrated into the Falcon 500, Kraken X60, and Kraken X44 brushless motors (with built-in encoders and smart features), plus the standalone Talon FXS.
  • REV Robotics SPARK MAX and SPARK Flex, which drive brushed motors or the brushless NEO and NEO Vortex motors.
  • These communicate over the CAN bus (a robust daisy-chained data network) or PWM.

Communication: the radio

The robot's radio provides the wireless link to the Field Management System (FMS) at events and to the Driver Station laptop in the pit. The current standard radio is the Vivid-Hosting VH-109, which uses Wi-Fi 6E to avoid the 2.4 GHz congestion that plagued the previous-generation OpenMesh OM5P-AN radio (retired after the 2024 season).

Sensing and pneumatics (optional but common)

Teams add sensors (encoders, gyros, limit switches, cameras) and may use pneumatics via a REV Pneumatic Hub or CTRE Pneumatics Control Module for air-powered mechanisms.

The core software

WPILib

WPILib is the official, free software library and toolchain for programming FRC robots. It installs a customized version of Visual Studio Code and supports three languages:

  • Java (most popular in FRC)
  • C++
  • Python (via RobotPy)

WPILib provides the building blocks for drivetrains, sensors, command-based robot structure, and simulation. (LabVIEW was supported for many years but has been deprecated and is not supported on the upcoming SystemCore controller — new teams should choose Java, C++, or Python.)

FRC Driver Station

The FRC Driver Station (Windows-only) is the program that enables/disables the robot, selects autonomous vs. teleop, and routes joystick/gamepad input. At an event it talks to the FMS; in the pit it connects to the radio directly.

Vendor tools and vision

  • REV Hardware Client and Phoenix Tuner X (CTR) configure and update firmware on motor controllers and devices.
  • Limelight and PhotonVision provide camera-based targeting (e.g., aligning to AprilTags, scoring locations, or game pieces).

How it all fits together

A simplified signal path: your WPILib code runs on the roboRIO, which sends commands over CAN to motor controllers, which drive motors, powered through the PDH/PDP from the 12V battery — while the Driver Station (via the radio and FMS) tells the robot when it's enabled and feeds it driver input.

The official WPILib Zero-to-Robot guide walks a rookie through wiring and programming this exact system, which we cover in the next module.

Learn more

Key takeaways

  • Every FRC robot uses a standardized control system: a roboRIO brain, a 12V 18Ah SLA battery behind a 120A main breaker feeding a REV PDH or CTR PDP, motor controllers (Talon FX/Kraken, SPARK MAX/NEO), the Vivid-Hosting VH-109 radio, and sensors.
  • Motors are driven through motor controllers (not directly), usually over the CAN bus, and clean power wiring prevents brownouts.
  • Software is built on free WPILib (Java, C++, or Python in VS Code) plus the Windows FRC Driver Station, with vendor tools and Limelight/PhotonVision for configuration and vision; LabVIEW is deprecated and roboRIO gives way to SystemCore in 2027.

Lesson quiz

Required

Answer all 3 questions correctly to complete this lesson.

1.In the standard FRC control system, which device serves as the robot's main controller, or 'brain,' running the team's code to command the rest of the hardware?

2.What is the nominal voltage of the single battery that powers a standard FRC robot?

3.Which communication bus is commonly used so devices like the Power Distribution module and smart motor controllers can talk to the roboRIO over a shared wiring loop?

Answer every question to submit.