Skip to content
Electrical & Wiring·Lesson 34 of 34

Noise, Grounding, and Signal Integrity

Advanced wiring practices that keep sensors accurate and CAN reliable in a high-current, high-vibration robot.

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

A competition robot is an electrically hostile environment: hundreds of amps switching through motor controllers, brushed-motor commutation noise, and constant vibration and impact. Advanced teams design their wiring so sensors stay accurate and CAN stays reliable despite it.

Twist your differential pairs. CAN is a differential signal (CANH yellow, CANL green); twisting the pair makes induced noise common-mode so the transceiver rejects it. Untwisted CAN run alongside motor power is a classic source of intermittent bus errors. Keep CAN physically separated from high-current motor leads where you can, and cross them at right angles rather than running parallel.

Suppress brushed-motor noise. Brushed motors (e.g. a window-motor intake or a CIM-class mechanism) generate commutation noise that can disrupt nearby sensors and CAN. Many FRC brushed motors ship with or accept small ceramic capacitors across the terminals (and terminal-to-case) to suppress this; keep them installed. Brushless motors (NEO, Kraken), commutated electronically by their controllers, are far quieter, which is one more reason modern drivetrains are cleaner electrically.

Grounding discipline. FRC robots use a single 12V system with the PD as the central distribution point; every subsystem returns to PD negative. Avoid creating ground loops by daisy-chaining grounds between subsystems instead of returning each to the PD. The roboRIO's user rails (6V/5V/3.3V) are current-limited; a short on a user rail drives the roboRIO Power LED red, so keep sensor wiring tidy and strain-relieved so a vibrating wire cannot short.

Strain relief and service loops. Vibration is the enemy of every connection. Secure cables close to their connection points but leave a small service loop of slack so motion and impact pull on the slack, not on the terminal. This is exactly why WPILib recommends securing cables near connectors with adequate slack, and why spring terminals fail when wire is tinned: the combination of a stiff tinned conductor and vibration backs it out.

Use port savers / pigtails on high-cycle connectors. Connectors you plug and unplug often (the roboRIO Ethernet, USB) wear out the device port. A short 'port saver' pigtail takes the wear instead of the expensive device port.

Verify under load and vibration. Bench tests can mislead because they are static. Run the robot, drive it into bump tests, and watch sensor values and CAN error counters (getStatus() error counters, the DS fault count). A sensor that jumps or a CAN error count that climbs only under hard driving is a noise/connection problem, not a code bug, fix it with twisting, separation, suppression, and strain relief.

These practices are invisible when they work and catastrophic when ignored. They are what separates a robot that posts identical sensor readings in match 1 and match 12 from one that mysteriously misbehaves after a hard hit.

Key takeaways

  • Twist CANH/CANL and keep CAN separated from motor power to reject induced noise; cross at right angles, not parallel.
  • Keep noise-suppression capacitors on brushed motors; brushless (NEO/Kraken) is inherently quieter.
  • Ground each subsystem back to the PD to avoid ground loops, strain-relieve with service loops, and verify CAN error counters under load and vibration.

Lesson quiz

Required

Answer all 3 questions correctly to complete this lesson.

1.How many 120Ω termination resistors must a properly wired FRC CAN bus have, and where?

2.Why are CAN wires run as a twisted pair (CAN-High/yellow and CAN-Low/green) in an FRC robot?

3.What does the FRC rule on electrical isolation require regarding the robot frame and grounding?

Answer every question to submit.