Electrical & Electronics Guide (2025 Updated)
Learn to wire and configure your FRC robot's electrical system safely and correctly with 2025 rule updates
🆕 2025 Battery Safety Rule Change
IMPORTANT: For safety reasons, teams may ONLY bring COTS (Commercial Off-The-Shelf) batteries to events. Custom batteries assembled from individual cells are now PROHIBITED. This rule applies to all FRC 2025 events.
🆕 2025 Electrical Updates
- Rule R707: COTS RFID/NFC systems now allowed for internal robot communication
- Rule R302: Pre-made electrical boards and custom PCBs can be reused from previous seasons
- NEO Vortex motor compatibility with SPARK Flex controllers
FRC Electrical Components
Understanding the main electrical components is crucial. These are the core parts of every FRC robot.
Essential Components:
🔋 12V Battery - CRITICAL ROOKIE INFO!
- 18Ah sealed lead-acid battery (SLA) - Powers entire robot
- ⚡ Can supply over 180A briefly, arc over 500A when fully charged - DANGEROUS if mishandled!
- 🚨 ROOKIE MISTAKE: If polarities short together, ALL stored energy releases in a dangerous arc!
- Must be secured in robot with approved battery backer - loose batteries are EXTREMELY dangerous!
- ⚠️ DON'T DROP BATTERIES! Can bend internal plates, create bulges, or crack case open
🔴 BATTERY MANAGEMENT (They Don't Teach This!)
Most rookie teams learn this the hard way during competition:
- 🔋 You need MULTIPLE batteries (minimum 3-4, ideally 6-8 for competition)
- ⚡ Use a FRESH, fully charged battery for EVERY match - no exceptions!
- 🚫 NEVER run multiple matches on same battery - causes brownouts and robot failures
- 📊 BROWNOUTS = voltage drops below ~7V = robot randomly resets = MATCH LOSS!
- ⏱️ Battery charging takes 2-4 hours - plan ahead! Create battery rotation schedule
- 🏷️ LABEL each battery with number/color and track charge cycles (max ~200-300 cycles)
- 💰 Budget $150-200 PER battery - a critical cost rookie teams forget!
- 🔌 At competition: Always have 2 batteries charging, 1 in robot, 1-2 ready to swap
💡 PRO TIP: Create a "Battery Manager" role on your team to track battery status at competitions!
⚡ 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
⚡ WIRING SECRETS (Rookies Learn These the Hard Way!)
- 🏷️ LABEL EVERY WIRE AT BOTH ENDS! Write what it connects (e.g., "Intake Motor - PDH Ch 5")
- 🎨 Use color coding: Red=power(+), Black=ground(-), Yellow=PWM signal, Green=CAN, etc.
- 📏 LEAVE SLACK! Wires break when robot moves. Add 6-12 inches extra length for movement
- 🔒 Zip-tie EVERYTHING - but not too tight! Wires vibrate loose, secure them every 6-8 inches
- ⚠️ NEVER run power wires next to signal wires - causes electrical noise/interference!
- 🔧 Strip wire EXACTLY as specified - too much exposed wire = SHORT CIRCUIT risk!
- 🔥 Heat shrink > electrical tape for permanent connections. Tape comes loose!
- 🧪 TUG TEST after every connection - if wire pulls out, redo it! Will fail at competition!
- 📸 TAKE PHOTOS of your wiring before/after changes - you'll forget how it worked!
- 🛠️ Build a "Practice Bot" electrical board - use it for driver practice without risking competition bot
💡 PRO TIP: Organized pit = organized robot. Show up to competition with tools sorted and wiring labeled!
📊 Official Wiring Diagrams & Resources
For complete wiring diagrams showing roboRIO 2.0, PDH, SPARK MAX, and other components:
- WPILib: Introduction to FRC Robot Wiring
- WPILib: How to Wire an FRC Robot (Step-by-Step)
- REV Robotics: SPARK MAX Wiring Guide
💡 These diagrams include detailed color-coded connections, wire gauges, and safety requirements.
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!