Skip to content
Drive Team·Lesson 26 of 34

Robot Code Drops Communication or Won't Enable

Work the Driver Station status indicators top-to-bottom to localize whether the problem is radio, code, joysticks, or the field.

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

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):

  1. 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.
  2. 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 robotInit or a constructor (e.g., a CAN device ID that doesn't exist) takes the whole program down.
  3. 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)).
  4. 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.

Lesson quiz

Required

Answer all 3 questions correctly to complete this lesson.

1.On the FRC Driver Station, what does a green 'Communications' indicator but a red 'Robot Code' indicator tell you?

2.You have no robot communication at all on the Driver Station. Which check is most relevant to restoring the connection?

3.Why might robot code that worked at home fail to enable at an event even with good communication?

Answer every question to submit.