Symptom: On the field, the robot shows red comms, or it's connected but won't enable, or the drivers' controls do nothing.
Root cause: Communication and enable problems are a chain — laptop -> radio -> roboRIO -> code -> controllers. The Driver Station's status panel mirrors that chain, so debug it top-to-bottom and you'll localize the break fast.
Diagnostic workflow (read the DS indicators in order):
- Communications red. The roboRIO isn't reachable. At an event, the most common culprits are a Wi-Fi adapter that's still enabled (it fights the field network — disable it), a bad ethernet tether in the pit, or a radio that didn't get configured/powered. Don't use USB RJ-45 extenders; they damage ports and flake out.
- Communications green, Robot Code red. The roboRIO is up but your program crashed or never started. Open the Console/RioLog and read the stack trace. An uncaught exception in
robotInitor a constructor (e.g., a CAN device ID that doesn't exist) takes the whole program down. - Code green, Joysticks red/empty. The DS doesn't see your controllers, or they're on the wrong ports. The robot will connect but do nothing. Re-seat USB, and confirm port assignments match your code (
new CommandXboxController(0)). - Everything green but won't enable. During a match this is the field's job — you're only enabled during AUTO and TELEOP. In the pit, confirm you're not stuck in a disabled mode.
The fix, mapped to the failure:
- Comms: disable Wi-Fi, verify the radio is powered and configured, replace the tether, check the ethernet goes into the correct roboRIO port.
- Code: fix the exception the RioLog names; never deploy code you haven't seen enable on a bench.
- Joysticks: re-seat and re-order USB; lock the port order in the DS USB tab so a re-plug doesn't shuffle them.
Prevent it: Set up the operator laptop per WPILib best practices — high-performance power plan, sleep set to Never, the laptop's firewall configured so it doesn't block DS traffic, updates paused over the event, and the FRC Driver Station kept in focus. Power on and log in before the preceding match ends so you're never scrambling at the field. The fastest comms fix is the one you did in the pit an hour earlier.
Key takeaways
- Debug enable/comms failures top-to-bottom using the DS panel: Communications -> Robot Code -> Joysticks.
- Comms red at events is usually an enabled Wi-Fi adapter, a bad tether, or an unconfigured radio; Robot Code red means read the RioLog stack trace.
- Prevent field scrambles with WPILib operator-console setup (Wi-Fi off, updates paused, sleep never) and boot the laptop before the prior match ends.
Keep going
Take the quiz · +10 XP with an accountMore in Common Mistakes & Troubleshooting
Sources & corrections
This lesson is AI-assisted: drafted from primary sources, then reviewed and edited by hand. Errors still get through. When one is reported we fix it and write down what changed — publicly, in the corrections log.
Sources and further reading
- WPILib: Driver Station (Operator Console) Best Practicesdocs.wpilib.org
- WPILib: Driver Stationdocs.wpilib.org
Read next
Articles on this, for competition day
The lesson covers how it works. These cover what to do when it breaks.
- 7 min read
FRC "No Robot Code" & Driver Station Won't Connect: Full Fix Checklist
A verified, step-by-step FRC troubleshooting decision tree for "No Robot Code" and a Driver Station that won't connect to the roboRIO — most common causes first.
Read - 13 min read
WPILib Won't Deploy: Every Cause and How to Fix It
Your WPILib deploy is failing? Work the decision tree: wrong folder in VS Code, team number, roboRIO image, JDK version, macOS network privacy. Fixes for each.
Read - 8 min read
The FRC Control System Explained: roboRIO, PDH, Radio, and Everything Between
The FRC control system explained: how the roboRIO, REV PDH, radio, motor controllers, and CAN bus connect to make your robot drive — a plain-English electronics board tour.
Read
Lesson quiz
RequiredAll 3 right completes the lesson. Miss one and only that question comes back — anything you already answered correctly stays banked.
0 of 3 answered
01.On the FRC Driver Station, what does a green 'Communications' indicator but a red 'Robot Code' indicator tell you?
02.The Driver Station shows a red 'Communications' indicator at an event. Which of these is the most likely culprit?
03.Why might robot code that worked at home fail to enable at an event even when communication is healthy?
Answer every question to submit.
All 34 lessons in Drive Team
- Not started:Project 1: A Production-Ready Driver Control Scheme
- Not started:Project 2: A Drivetrain That Survives a Whole Match
- Not started:Project 3: Build a Paper + Spreadsheet Scouting System
- Not started:Project 4: Pull Live OPR & EPA Data with Python
- Not started:Project 5: The One-Page Pre-Match Strategy Brief