A fresh four-Kraken drivetrain will happily pull hundreds of amps of stall current (a single Kraken X60 stalls at ~366A at 12V in trapezoidal mode, even higher under FOC) and drop your battery below the 6.3V/6.75V brownout floor in the first second of a match. Current limits are how you trade a little top-end torque for reliable, brownout-free driving. There are two kinds, and you need to understand both.
Stator current is the current at the motor windings; it is directly proportional to torque. Capping it controls wheel slip and heat. Supply current is the current drawn from the battery (roughly stator current x duty cycle); capping it prevents breaker trips and brownouts. CTRE notes that because stator limits also bound supply current, it is sometimes unnecessary to enable both.
CTRE TalonFX / Kraken X60 (Phoenix 6, Java):
import com.ctre.phoenix6.hardware.TalonFX;
import com.ctre.phoenix6.configs.CurrentLimitsConfigs;
TalonFX driveMotor = new TalonFX(1);
var limits = new CurrentLimitsConfigs();
// Cap torque/slip at the wheels
limits.StatorCurrentLimit = 120;
limits.StatorCurrentLimitEnable = true;
// Protect the battery and 40A breaker
limits.SupplyCurrentLimit = 70;
limits.SupplyCurrentLimitEnable = true;
// After 1s above the lower limit, clamp down to avoid breaker trip
limits.SupplyCurrentLowerLimit = 60;
limits.SupplyCurrentLowerTime = 1.0;
driveMotor.getConfigurator().apply(limits);
The field names SupplyCurrentLowerLimit / SupplyCurrentLowerTime are the Phoenix 6 2025 replacements for the old SupplyCurrentThreshold / SupplyTimeThreshold. CTRE explicitly recommends tuning limits empirically for your robot rather than copying preset numbers; a 120A stator / 70A supply pair is a widely used community starting point for swerve drive, not an official CTRE-mandated value. Steering (azimuth) motors can run a lower stator limit (~60A) because they rarely need peak torque.
REV NEO / SPARK MAX (REVLib 2025, Java):
import com.revrobotics.spark.config.SparkMaxConfig;
import com.revrobotics.spark.SparkBase.ResetMode;
import com.revrobotics.spark.SparkBase.PersistMode;
SparkMaxConfig cfg = new SparkMaxConfig();
cfg.smartCurrentLimit(60); // applies a single combined limit
motor.configure(cfg, ResetMode.kResetSafeParameters,
PersistMode.kPersistParameters);
REV's smartCurrentLimit() is strongly recommended for the NEO, whose low internal resistance produces dangerous current spikes if uncapped.
Tuning procedure (do this on blocks, then on carpet):
- Set NO supply limit and a high stator limit. Floor it and watch the wheels.
- Lower the stator limit until the wheels stop slipping on hard acceleration; set the limit just under that point.
- If you still see brownouts (roboRIO Power LED amber, or
RobotController.isBrownedOut()true), add a supply limit starting around 70A and lower until brownouts stop. - Log it: read
driveMotor.getStatorCurrent()andgetSupplyCurrent()to a NetworkTables/SmartDashboard graph and confirm your limits are being respected.
A well-limited drivetrain feels slightly softer off the line but never browns out, never trips a breaker mid-match, and runs cooler over a whole event.
the part worth keeping
Key takeaways
- Stator limit controls torque/wheel slip; supply limit prevents brownouts and breaker trips, and a stator limit alone also bounds supply current.
- CTRE recommends tuning current limits empirically; 120A stator / 70A supply is a common community swerve starting point, not an official CTRE value. Tune stator first, add supply only if brownouts persist.
- REV's smartCurrentLimit() is essential for the NEO's low-resistance spikes; SupplyCurrentLowerLimit/Time are the Phoenix 6 2025 field names.
Electrical & WiringWorked Examples & Mini-Projectslesson 2 of 5
Keep going
Take the quiz+10 XP with an accountwhere 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: Improving Performance with Current Limits
- docs.wpilib.orgWPILib: roboRIO Brownouts and Understanding Current Draw
- docs.revrobotics.comREVLib: Migrating to REVLib 2025
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
- 20 min readREV Robotics for FRC: NEO Motors, Spark MAX/Flex, PDH & MAXSwerveA practical guide to the REV Robotics FRC ecosystem: NEO, NEO Vortex and NEO 550 motors, Spark MAX and Spark Flex controllers, the PDH, and MAXSwerve./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 3 right completes the lesson. Miss one and only that question comes back, anything you already answered correctly stays banked.
0 of 3 answered
01On a CTRE Talon FX, what does the stator current limit actually limit?
02Since a stator current limit also bounds supply current, which limit is the recommended starting point to tune first?
03How is current limiting configured on a REV SPARK MAX driving a drivetrain motor?
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