Control System Hardware Overview

This page introduces the hardware interfaces used by WPILib: Systemcore, motor controllers, sensors, and their connections to robot software.

For chassis assembly and program-specific wiring, use the FRC wiring reference, kitbot and starter-bot resources, or FTC Docs. The FRC guides are currently hosted on this site. Check each guide’s hardware scope before following its wiring diagrams.

Main Controller

FRC 2027+ / FTC 2027-2028+

Systemcore

The primary robot controller for FRC (2027+) and FTC (2027-2028+). Runs robot code in Java, C++, or Python. Supports CAN, PWM, DIO, and analog I/O. Connects over Ethernet or USB for deployment and supports the full WPILib simulation framework.

Spec

Systemcore

Languages

Java, C++, Python

CAN bus

Yes

PWM outputs

Yes

DIO

Yes

Analog inputs

Yes

Connectivity

Ethernet, USB

Deploy method

USB or Wi-Fi via VS Code / OnBot

Simulation

Full desktop simulation support

Programs

FRC (2027+) and FTC via Motioncore (2027-2028+)

Practice Today

Available Now

Practice with the XRP

Learn WPILib programming on the XRP desktop robot; the same code runs on Systemcore once your hardware arrives.

Getting Started with XRP

Power Distribution

Power distribution connects the robot battery to motor controllers and other electrical devices through individually protected circuits. The options below differ in their output connections, current monitoring, and software-controlled switching.

Feature

PDH (REV)

PDP (CTRE)

PDP 2.0 (CTRE)

AMPD (AndyMark)

High-current ports

20 (40 A each)

16 (40 A each)

24 (40 A capable)

24 (40 A continuous each)

Low-current ports

3 (20 A each)

8 (20 A each)

No dedicated low-current ports

No dedicated low-current ports

Main breaker slot

Yes (120 A SB)

Yes (120 A SB)

No (external breaker)

No (external breaker)

CAN monitoring

Yes (per channel)

Yes (aggregate)

No (monitor through motor controllers)

Not listed by manufacturer

Switchable outputs

Yes (software)

No

No

Not listed by manufacturer

Robot Radio

FRC Standard

Vivid VH109

The standard FRC robot radio. Must be programmed annually with the current configuration process to set team number, SSID, and firmware. Designed to run directly from robot battery voltage through its 12 VDC Weidmuller input; a VRM is not required.

Programming your Radio

FRC Legacy / Regional Use

OpenMesh OM5P-AC

Legacy radio retained for teams and regions that still use it. Requires regulated 12 V / 2 A power and the legacy FRC Radio Configuration Utility. Do not select it for a new VH-109 build.

Using the OpenMesh OM5P Radio

Motor Controllers

Controller

Vendor

Interface

Notes

Koors40

AndyMark

PWM

Brushed motors only.

SPARK Flex

REV

CAN or PWM

Brushed and brushless motors. Docks directly with NEO Vortex.

SPARK

REV

PWM

Brushed motors only.

SPARK MAX

REV

CAN or PWM

Brushed and brushless motors, including NEO and NEO 550.

Talon FX

CTRE

CAN

Controls its integral Falcon 500, Kraken X60, or Kraken X44 motor only.

Talon FXS

CTRE

CAN or PWM

Brushed motors and supported brushless motors, including Minion and NEO.

Talon / Talon SR

CTRE

PWM

Brushed motors only.

Talon SRX

CTRE

CAN or PWM

Brushed motors; supports external sensors for closed-loop control.

Thrifty Nova

The Thrifty Bot

CAN

Sensored brushless motors, including NEO and NEO 550.

Venom

Playing With Fusion

CAN or PWM

Controls its integral motor only.

Victor SP

CTRE

PWM

Brushed motors only.

Victor SPX

CTRE

CAN or PWM

Brushed motors only.

Motor Controller Part Numbers
  • Koors40: am-5600

  • SPARK Flex: REV-11-2159, am-5276

  • SPARK: REV-11-1200, am-4260

  • SPARK MAX: REV-11-2158, am-4261

  • Talon FX: 217-6515, 19-708850, am-6515, am-6515_Short, WCP-0940, WCP-0941

  • Talon FXS: 24-708883, WCP-1692

  • Talon / Talon SR: CTRE_Talon, CTRE_Talon_SR, am-2195

  • Talon SRX: 217-8080, am-2854, 14-838288

  • Thrifty Nova: TTB-0100

  • Venom: BDC-10001

  • Victor SP: 217-9090, am-2855, 14-868380

  • Victor SPX: 217-9191, 17-868388, am-3748

CAN bus

Two-wire daisy-chain. Enables telemetry (current, temperature, velocity), firmware updates over the wire, and advanced closed-loop control on the controller itself. Requires correct termination at both ends of the chain.

PWM

Three-wire (signal, +5 V, GND) from Systemcore PWM port. No telemetry. Easier to debug. Can be used when CAN is not supported.

Pneumatics

Module

Vendor

Solenoid channels

Pressure switch

Notes

Pneumatic Hub (PH)

REV

16 (CAN)

Analog + digital

Preferred for new builds. Analog pressure sensing.

PCM

CTRE

8 (CAN)

Digital only

Older module, still legal.

Common Sensors

Sensor

Interface

Use case

Quadrature encoder

DIO (2 channels)

Wheel distance and velocity

NavX / Pigeon 2 IMU

SPI / CAN

Heading, gyro, accelerometer

Limit switch

DIO

Hard stop detection

Ultrasonic (ping-echo)

DIO (2 channels)

Distance measurement

AprilTag camera

USB / Ethernet

Field localization and pose estimation

Color sensor (REV)

I2C

Game piece detection

Other Components

FRC

Driver Station Laptop

Windows 11 required (2027+). Runs the FRC Driver Station software to communicate with and enable the robot. Connected to robot radio over Wi-Fi at competition.

FRC

Voltage Regulator Module (VRM)

Provides regulated 12 V / 2 A and 5 V accessory power. Still used by legacy OpenMesh radio installations and other accessories, but is not required to power a VH-109.

What’s Next

Wiring Guide

Step-by-step control system wiring with diagrams.

FRC Robot Wiring Reference
Image the Systemcore

Required every season before deploying code.

Imaging your Systemcore
Status Light Reference

Decode LED patterns on the Systemcore, radio, and motor controllers.

Status Light Quick Reference

Full WPILib hardware documentation for FTC arrives with the Systemcore and Motioncore controllers, ahead of the 2027-2028 season.

Note

The legacy REV Control Hub / Expansion Hub control system is also an option for FTC teams and uses the FTC SDK. For hardware, wiring, setup, and programming guidance, use FTC Docs, starting with the Robot Controller Overview.

Motor Controller Hub

Coming 2027-2028

Motioncore

Motor and servo controller hub for FTC robots. Works alongside Systemcore (see the Shared tab) to drive mechanisms.

Full FTC Overview

FTC with WPILib

Program status, supported languages, and what’s available today for FTC teams.

FTC with WPILib

FIRST Tech Challenge

Starter Bot Resources

Kit hardware, build guides, and assembly instructions from the official FTC team resources site.

https://ftc-resources.firstinspires.org/ftc/team

FIRST Tech Challenge

Control System Troubleshooting

Official diagnostics guide for the FTC control system, including REV Control Hub and Driver Hub issues.

https://ftc-docs.firstinspires.org/en/latest/control_system_troubleshooting/index.html