FrcCatalyst

Pre-built, configurable mechanism building blocks for FRC robots using CTRE Phoenix 6 and WPILib 2026.

Get Started View on GitHub


WPILib Phoenix 6 Java 17 PathPlanner PhotonVision

Why FrcCatalyst?

Writing robot code from scratch every season means re-implementing the same elevator, arm, intake, and swerve patterns. FrcCatalyst gives you battle-tested implementations with one builder call:

LinearMechanism elevator = new LinearMechanism(
    LinearMechanism.Config.builder()
        .name("Elevator").motor(13).follower(14, true)
        .motorType(MotorType.KRAKEN_X60)
        .gearRatio(10.0).drumRadius(0.0254).mass(5.0)
        .pid(50, 0, 0.5).gravityGain(0.35)
        .motionMagic(2.0, 4.0, 20.0)
        .position("STOW", 0.0).position("HIGH", 1.1)
        .build()
);

You get Motion Magic control, gravity compensation, simulation, telemetry, safety limits, and command factories — all for free.

Feature Raw WPILib/Phoenix FrcCatalyst
Elevator with gravity FF ~150 lines 8 lines
Swerve + PathPlanner + Vision ~400 lines 15 lines
Mechanism with sim + telemetry Build it yourself Built-in
Safe temperature cutoffs Manual Automatic
Limit switch auto-zeroing Manual wiring One builder call

What’s Included

Mechanisms

Pre-built, configurable mechanism types that cover virtually every FRC subsystem.

Mechanism Use Case Key Features
LinearMechanism Elevators, slides Position control, gravity FF, limit switches
RotationalMechanism Arms, wrists, turrets Cosine gravity, hard stops, Motion Magic
FlywheelMechanism Shooters Dual motor, velocity PID, at-speed trigger
RollerMechanism Intakes, conveyors Stall detection, beam break, auto-stop
WinchMechanism Climbers Extend/retract limits, position tracking
SuperstructureCoordinator Multi-mechanism State machine with safe transitions

Subsystems

Complex subsystem wrappers that integrate multiple components.

  • SwerveSubsystem — CTRE Tuner X wrapper with heading lock, point-at-target, skew correction, advanced drive, PathPlanner
  • VisionSubsystem — Multi-camera Kalman filter with innovation tracking, high-speed rejection, heading divergence filtering
  • LEDSubsystem — 14 addressable LED patterns including fire, gradient, larson scanner, alignment indicator

Advanced Features (New)

Advanced control and estimation features:

Feature Description
StateSpaceController LQR + Kalman filter for optimal mechanism control
MotionConstraintCalculator Physics-based max velocity/acceleration from motor specs
SignalProcessor EMA, median, low-pass, composite sensor filters
PoseHistory Temporal pose tracking with interpolation
DynamicAutoBuilder Runtime path generation with PathPlanner
TunableNumber Dashboard-editable constants for live PID tuning
AutoSelector PathPlanner auto chooser with safe fallbacks
GamePieceTracker Multi-stage game piece state machine with Triggers
Skew Correction Pose exponential discretization for swerve
Collision Zones Prevent physical mechanism collisions

Every Mechanism Includes

  • Builder-pattern configuration with sensible defaults
  • Motion Magic position control (TalonFX) or ProfiledPID (roboRIO)
  • Named position presets (goTo("STOW"))
  • Built-in simulation with accurate motor models
  • Automatic NetworkTables telemetry
  • Temperature cutoff and limit switch safety
  • Pre-built command factories

Documentation

Section Description
Installation Add FrcCatalyst to your project
Quick Start Build your first mechanism in 5 minutes
Mechanisms LinearMechanism, RotationalMechanism, Flywheel, Roller, Winch
Subsystems Swerve Drive, Vision, LEDs
Utilities Math, feedforward, profiles, alerts
Advanced State-space control, signal processing, dynamic paths
Examples Complete robot examples with elevator, intake, and more
Testing How to test your FrcCatalyst-based code

Compatibility

Component Version
WPILib 2026.2.1
CTRE Phoenix 6 26.1.1
PhotonVision v2026.3.1
PathPlanner 2026.1.2
Java 17+

Back to top

Built for the FRC community. Go build something awesome.

This site uses Just the Docs, a documentation theme for Jekyll.