FrcCatalyst
Pre-built, configurable mechanism building blocks for FRC robots using CTRE Phoenix 6 and WPILib 2026.
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+ |