Swerve is the most power-hungry drivetrain in common FRC use: eight motors (four drive, four steer) plus encoders and a gyro, all on CAN. This is one worked electrical configuration for it, using current-generation hardware.
The hardware is four Kraken X60s for drive and four Kraken X60s or X44s for steer, each running off its integrated Talon FX, four CTRE CANcoders for absolute azimuth position, and one Pigeon 2.0 IMU for heading. Every Kraken gets its own 40A MX5-A breaker in the PD, wired with 12 AWG (R622 requires 12 AWG on 31-40A circuits).
Leave it there and the robot browns out. A single Kraken X60 stalls at about 366A at 12V, or about 483A with FOC, so four drive Krakens can momentarily demand well over a thousand amps on a hard direction change. That collapses battery voltage straight through the 6.3V/6.75V brownout floor in well under a second.
Current limits are the fix. In Phoenix 6, applied to each drive motor:
var limits = new CurrentLimitsConfigs();
limits.StatorCurrentLimit = 120; // wheel-slip / heat control
limits.StatorCurrentLimitEnable = true;
limits.SupplyCurrentLimit = 70; // brownout / breaker protection
limits.SupplyCurrentLimitEnable = true;
limits.SupplyCurrentLowerLimit = 60; // sustained clamp
limits.SupplyCurrentLowerTime = 1.0;
driveTalon.getConfigurator().apply(limits);
Steer (azimuth) motors rarely need peak torque, so a lower stator limit of around 60A is plenty and reduces heat. The 120A stator / 70A supply pairing is a widely used community starting point for swerve, but CTRE recommends tuning these empirically for your specific robot rather than treating any pair as a fixed rule.
Worst case on paper, four drive motors at 70A supply is 280A. Real sustained draw lands well under that, inside a planning budget of about 180A, because the supply limiter clamps each motor and the wheels are usually not all at peak simultaneously. Confirm it on your own robot by logging getSupplyCurrent() across all four and graphing total current against battery voltage.
The CANcoders and the Pigeon 2 add traffic of their own. With eight motor controllers, four CANcoders, one Pigeon and the PD on the bus, the roboRIO's standard CAN bus utilization climbs fast. That is the usual reason to move the drivetrain onto a CANivore CAN FD bus, which is the next lesson.
Wiring deserves the same attention. Daisy-chain CAN cleanly through each module, twist CANH and CANL, and secure every connector against the constant vibration and impacts swerve modules see. Route motor power away from CAN to reduce noise. Label every CAN ID, because eight nearly identical Talon FX devices are easy to confuse.
Done right, the drivetrain accelerates aggressively and stays out of brownout on a fresh battery in qualifications and on a tired one in finals.
the part worth keeping
Key takeaways
- Each Kraken gets its own 40A breaker on 12 AWG; one Kraken X60 stalls at ~233A, so uncapped swerve can demand several hundred amps and brown out instantly.
- Apply current limits on the drive motors (a common community starting point is 120A stator / 70A supply, tuned empirically) and a lower stator limit on steer.
- Eight Talon FX plus CANcoders and a Pigeon 2 push roboRIO CAN utilization high, motivating a CANivore CAN FD bus.
Electrical & WiringAdvanced Techniques & Case Studieslesson 2 of 5
Keep going
Take the quiz+10 XP with an accountMore in Advanced Techniques & Case Studies
where this came from
Sources and 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, in public, in the corrections log.
sources and further reading
- v6.docs.ctr-electronics.comCTRE: Swerve Overview (Phoenix 6)
- v6.docs.ctr-electronics.comCTRE: Improving Performance with Current Limits
- docs.wcproducts.comWCP: Kraken X60 Motor Performance
clipped to this lesson
Articles that go further on this
The lesson gets you through the topic. These go wider on it, and they read in one sitting.
- 18 min readCTRE Phoenix for FRC: Kraken X60/X44, TalonFX, Phoenix 6, CANcoder & Pigeon 2A practical guide to the CTRE Phoenix ecosystem for FRC: Kraken X60/X44 motors, TalonFX, Phoenix 6 API, Pro/FOC licensing, CANcoder, Pigeon 2 & CANivore./blogread it
- 6 min readSwerve Drive Explained: How FRC's Most Popular Drivetrain WorksA clear, beginner-friendly explanation of swerve drive in FRC — how the modules work, the math behind it, COTS options, and whether your team should run it./blogread it
- 8 min readFRC Motors Compared: NEO vs Kraken X60 vs Falcon 500 vs NEO VortexCompare FRC brushless motors: REV NEO, NEO Vortex, Kraken X60, and Falcon 500. Exact specs, FOC explained, and which motor to pick for drivetrain vs mechanisms./blogread it
answer sheet
Lesson quiz
All 4 right completes the lesson. Miss one and only that question comes back, anything you already answered correctly stays banked.
0 of 4 answered
01How many Kraken motors does this four-module swerve drive use for driving and steering?
02Approximately what stall current does a single Kraken X60 pull at 12 volts without FOC?
03What best describes the 120A stator / 70A supply current-limit pairing commonly used for drive motors?
04Why is per-motor supply current limiting essential on this four-Kraken swerve drive?
Answer every question to submit.
All 35 lessons in Electrical & Wiringopenclose
01 / prerequisites
02 / control-system-components
03 / power-battery-breakers
04 / motor-controllers-can-bus
05 / connections-rules-troubleshooting
06 / worked-examples-mini-projects
- Not read yet:Mini-Project 1: A Single-Motor Test Stand from Battery to Spin
- Not read yet:Mini-Project 2: Current-Limited Drivetrain (CTRE and REV)
- Not read yet:Mini-Project 3: A Live Power-Monitoring Dashboard
- Not read yet:Mini-Project 4: A Switchable Channel for Lights and Vision
- Not read yet:Mini-Project 5: CAN Device Bring-Up with Tuner X and the Hardware Client
07 / common-mistakes-troubleshooting
08 / advanced-techniques-case-studies