Tools

Eleven single-file browser tools, hosted right here. Nothing to install.

🛠️

Builder

One-click presets for elevator, arm, shooter, intake, climber, claw, diffy wrist, piston. Persistence, .java download, full-subsystem-class mode, snippet import.

Generator
🎚

Tuner

Live PID and Motion Magic over NT4. Drag a slider, the robot reacts. Export as Java or JSON when the tune feels right.

Robot-connected
🩺

Health Dashboard

Live view of every HealthCheck on the robot. Severity filters, search, plain-text report download.

Robot-connected
📈

Motion Profile

Analytic trapezoid and 7-segment S-curve solvers. Drag the sliders, get the position / velocity / acceleration curves and a ready-to-paste .motionMagic(…) line.

Calculator
🎯

PID Step Response

Elevator, arm, or flywheel. Dial PID + feedforward, watch the closed-loop response. Rise time, settling, overshoot reported live.

Calculator

MotorType Browser

Every MotorType preset (Kraken, Falcon, NEO, Vortex, 550, Minion) in one sortable table. Built-in gear-ratio calculator.

Calculator
🔌

CAN ID Planner

Add devices, catch ID collisions, export a CANIds.java that pre-registers everything with CANRegistry. Presets for swerve and shooters.

Planner

Wiring Diagram

Imports your CAN ID Planner and generates a complete, optimal power tree + CAN bus diagram — breaker sizes, wire gauge, channel schedule, and termination. Printable for the build team.

Planner
🧭

Auto Builder

Generate a behavior-framework auto — resilient BehaviorEngine sequences or a utility Strategist. Path-following stays with PathPlanner / Choreo.

Generator
🎯

Shoot-On-The-Fly

Drag the robot, set a velocity, and watch the virtual goal, lead, turret bearing and feedforward rate — the exact AimingSolver math. Copies the track(…) wiring.

Visualizer
🔀

State Machine Visualizer

Paste the Graph/Dot string — or the Graph/States and Graph/Edges arrays — your Superstructure logs, and see the legal-transition graph drawn. Guards are dashed; dead-ends and unreachable states are flagged so a missing edge is obvious.

Visualizer

How they work

The live tools (Tuner, Health Dashboard) connect to your robot’s NT4 WebSocket on port 5810. Calculators (Builder, Motion Profile, PID, MotorType, CAN ID) run entirely in the browser — no robot needed.

Nothing is uploaded anywhere. The pages pull msgpack from a public CDN once and that’s it.


AdvantageScope tab bundles

Nine portable JSON bundles describing the NT field paths each mechanism publishes, plus a recommended chart layout. Drop one into AdvantageScope, Elastic, Glass, or Shuffleboard — the schema is dashboard-agnostic.

Mechanism File
LinearMechanism linear.json
RotationalMechanism rotational.json
FlywheelMechanism flywheel.json
RollerMechanism roller.json
WinchMechanism winch.json
ClawMechanism claw.json
DifferentialWristMechanism diffwrist.json
PneumaticMechanism pneumatic.json
Superstructure (state machine) statemachine.json

Replace {MECH} with the name from your Config builder (Arm, Elevator, Shooter, …) and drag the listed NT keys onto the matching axes. Schema: catalyst-tab-bundle.schema.json.

The state-machine bundle uses two placeholders instead of one. {SM} is the log prefix you gave Superstructure.builder(…) — it defaults to the machine name, so Superstructure unless you called .logPrefix(…). {BINDING} is a binding key from b.bind("elevator", …); the two per-binding tabs are meant to be copied once per mechanism you want to watch, since Error and Tolerance are in that mechanism’s own units and do not share an axis.

Ten tabs, and the first one is the one to import if you only import one: the State timeline puts State, StateConfirmed, Phase, Target and Blocker side by side, which is enough to see a transition stall and read off the name of the mechanism that stalled it.


Back to top

Built for the FRC community. Go build something awesome.

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