Electrical & Electronics Guide
Learn to wire and configure your FRC robot's electrical system safely and correctly
FRC Electrical Components
Understanding the main electrical components is crucial. These are the core parts of every FRC robot.
Essential Components:
🔋 12V Battery
- 18Ah sealed lead-acid battery (SLA)
- Powers entire robot
- Must be secured in robot with approved battery backer
- Charge fully before each match!
⚡ Power Distribution Hub (PDH)
- REV Robotics PDH (current standard)
- Distributes power from battery to all components
- Multiple power channels with different current limits
- Built-in current monitoring
- CAN bus connectivity
🤖 roboRIO 2.0
- Main robot controller (brain)
- Runs your robot code
- Connects to Driver Station via WiFi or Ethernet
- Has PWM, DIO, Analog, I2C, SPI ports
- Power: 12V, 2A max from PDH
📡 Radio (OpenMesh OM5P-AN or AC)
- Wireless communication between robot and Driver Station
- Must be programmed with your team number
- Powered by Voltage Regulator Module (VRM) or POE injector
🔌 Voltage Regulator Module (VRM)
- Converts 12V to 12V/2A and 5V/2A
- Powers Radio, cameras, LEDs
- Critical for stable radio connection
⚠️ Safety First!
- ALWAYS disconnect battery before wiring
- Check polarity - red (+) and black (-)
- Use proper wire gauges for current loads
- No exposed wire - use heat shrink or electrical tape
Power Distribution Setup
The PDH is the heart of your electrical system. All power flows through it.
PDH Channel Types:
- High Current Channels (40A) - Channels 0-9, 12-21 - Use for motors
- Low Current Channels (15A) - Channels 10-11, 22-23 - Use for PCM, VRM, etc.
Wiring Steps:
-
Mount PDH Securely
Use 4 screws to mount PDH to robot frame. Keep it accessible but protected!
-
Connect Battery
Use 6 AWG red (+) and black (-) wire. Connect to main power terminals on PDH.
- Strip 20mm of wire insulation
- Insert into Wago connector and close lever
- Tug test - wire should not pull out!
-
Install 120A Circuit Breaker
REQUIRED for safety! Goes between battery and PDH. Protects against short circuits.
-
Connect roboRIO Power
Use a dedicated channel (typically channel 22 or 23). Use 18 AWG wire, strip 12mm.
-
Label Everything!
Use label maker or tape. Note which channel powers which device. This saves hours of troubleshooting!
🔌 Wire Gauge Guide
- 6 AWG - Battery to PDH (main power)
- 10 AWG - High current motors (30-40A)
- 12 AWG - Medium motors (20-30A)
- 18 AWG - Light loads, roboRIO, VRM
- 22 AWG - Signal wires, sensors
RoboRIO & Control System
The roboRIO is your robot's brain. It runs your code and coordinates all systems.
roboRIO Connections:
-
Power Connection
Connect 12V from PDH to roboRIO power input. Use proper polarity!
- Red wire to V+ terminal
- Black wire to ground (GND) terminal
-
Radio Connection (Ethernet)
Connect roboRIO to radio using CAT5e/CAT6 Ethernet cable. This enables wireless programming and control.
-
CAN Bus Connection
Yellow and Green twisted pair connects roboRIO to PDH and motor controllers.
-
Image the roboRIO
Before first use, image roboRIO with latest firmware using roboRIO Imaging Tool (Windows only).
roboRIO Imaging Guide
🔍 roboRIO Ports Overview
- PWM (0-9) - Motor controllers (non-CAN), servos
- DIO (0-25) - Digital sensors (limit switches, encoders)
- Analog In (0-3) - Analog sensors (potentiometers, ultrasonic)
- CAN - SPARK MAX, Talon FX, PDH, PCM
- I2C, SPI - Advanced sensors (gyros, cameras)
CAN Bus Wiring
CAN (Controller Area Network) allows devices to communicate digitally. It's how motor controllers send data back to roboRIO!
CAN Bus Basics:
What is CAN Bus?
- Two-wire communication (Yellow + Green twisted pair)
- Bi-directional - devices can send AND receive data
- Daisy-chain topology (one device to next)
- Requires 120Ω termination resistors at BOTH ends
Wiring CAN Bus:
-
Start at roboRIO
roboRIO has built-in 120Ω termination. This is one end of your CAN bus.
-
Daisy-Chain to PDH
Connect roboRIO CAN to PDH CAN port. Use yellow to yellow, green to green.
-
Connect Motor Controllers
From PDH, daisy-chain to each SPARK MAX or other CAN motor controller.
- Order doesn't matter on CAN bus
- Keep wires short and organized
-
Terminate at Last Device
PDH has built-in termination if it's the last device. Otherwise, add 120Ω termination resistor!
⚠️ Common CAN Bus Mistakes
- No termination resistors - causes communication errors
- Swapped yellow/green wires - won't work!
- Star topology instead of daisy-chain - unreliable
- Loose connections - causes intermittent failures
💡 CAN Device IDs
Remember: Each CAN device needs a unique ID (1-62). You set these in REV Hardware Client or Phoenix Tuner!
Motor Controllers & PWM
Motor controllers regulate power to motors. Modern controllers use CAN, but PWM is still used for some devices.
Common Motor Controllers:
⚡ SPARK MAX (REV Robotics)
- CAN or PWM control
- Controls NEO brushless or brushed motors
- Built-in encoder support
- Data port for USB configuration
🦅 Talon FX (CTRE)
- CAN bus only
- Integrated with Falcon 500 motor
- High-performance for drivetrains
Connection Methods:
-
CAN Connection (Recommended)
Connect motor controller to CAN bus as described in Step 4. This allows:
- Reading encoder values
- Current monitoring
- Temperature sensing
- Advanced control modes (PID, Motion Profiling)
-
PWM Connection (Legacy)
Connect 3-pin PWM cable from motor controller to roboRIO PWM port (0-9).
- Simpler but limited - no feedback!
- Good for servos, simple motors
-
Power Connection
ALL motor controllers get power from PDH channels. Match wire gauge to motor current draw!
🎨 Color Coding
Standard wire colors for motor controllers:
- Red - Positive (+) power
- Black - Ground (-)
- Yellow - CAN High
- Green - CAN Low
Pneumatics System
Pneumatics use compressed air for fast, powerful linear motion. Great for grippers, shifters, and extending mechanisms!
Pneumatic Components:
💨 Compressor
- Fills air tanks to 120 PSI max
- Powered by Spike relay or motor controller
- Controlled by Pneumatic Control Module (PCM)
🗜️ Air Tanks
- Store compressed air
- Typically 2 tanks (0.5L each)
- Must be securely mounted
🎛️ Pneumatic Control Module (PCM)
- Controls solenoid valves
- Connects via CAN bus
- 8 solenoid channels
- Automatically manages compressor
🔧 Solenoid Valves
- Single solenoid - one direction control
- Double solenoid - both directions controlled
- Electronically switches air flow to cylinders
Pneumatics Setup:
-
Install Pressure Relief Valve
REQUIRED for safety! Set to 125 PSI. Prevents over-pressurization.
-
Connect Air Tanks
Use approved pneumatic tubing. Connect tanks in parallel for more capacity.
-
Mount PCM and Connect to CAN
PCM gets power from PDH and data via CAN bus. Set unique CAN ID!
-
Wire Compressor
Compressor connects to PCM compressor output. PCM automatically turns on/off to maintain pressure.
-
Connect Solenoids and Cylinders
Solenoids plug into PCM (0-7). Pneumatic tubing connects solenoids to cylinders.
⚠️ Pneumatics Safety
- NEVER exceed 120 PSI
- Always install pressure relief valve
- Check for air leaks regularly
- Secure all tubing with zip ties
- Wear safety glasses when working with pressurized air
Testing & Troubleshooting
Before driving your robot, systematically test all electrical systems. Methodical testing prevents damage and competition failures!
Pre-Power Checklist:
-
Visual Inspection
- All wires secured (no loose connections)
- No exposed wire or damaged insulation
- Correct polarity on all connections
- Battery securely mounted
-
Continuity Testing
Use multimeter to check for short circuits BEFORE connecting battery!
Power-On Testing:
-
Connect Battery (Circuit Breaker OFF)
Connect battery with circuit breaker in OFF position. Nothing should power on yet!
-
Flip Circuit Breaker ON
Watch for:
- PDH LED - should be solid green
- roboRIO - 3 LEDs (power, status, radio)
- Radio - should boot and show lights
- NO smoke, sparks, or burning smells!
-
Check Driver Station Connection
Open FRC Driver Station. Connect laptop to robot WiFi network. Should see green communications indicator!
-
Test Motors (Wheels OFF Ground!)
CRITICAL: Put robot on blocks or have team members hold it up. Enable robot and test each motor at LOW speed first!
Common Problems & Solutions:
🔴 roboRIO Won't Boot
- Check 12V power to roboRIO
- Verify correct polarity (red to +, black to -)
- Try re-imaging roboRIO
📡 No Robot Communication
- Check radio power and Ethernet connections
- Verify robot is on correct WiFi network
- Re-program radio with team number
- Check firewall settings on laptop
⚙️ Motor Not Working
- Check motor controller power (LEDs on controller)
- Verify CAN or PWM connection to roboRIO
- Check CAN ID is unique and matches code
- Test motor controller with REV Hardware Client
🎉 Electrical System Complete!
Congratulations! You've learned the fundamentals of FRC electrical systems. Remember: good electrical practices prevent 90% of robot failures. Keep wires organized, label everything, and test thoroughly!