Space Academy 3.0 is open — want to become a project contributor?Join in

Programming

FTCLib

A community library that adds command-based structure, controllers, and utilities.

1 min readUpdated Jul 20, 2026

FTCLib ports many WPILib ideas to FTC: subsystems, commands, geometry types, and tuned controllers. It removes a large amount of boilerplate once your robot has more than two mechanisms.

What it providesLink to this section

  • Command-based scheduler with subsystem requirements.
  • PIDFController, ProfiledPIDController, and feedforward helpers.
  • GamepadEx with button triggers and debouncing built in.
  • Geometry (Pose2d, Rotation2d, Translation2d) shared with path libraries.
java
GamepadEx driver = new GamepadEx(gamepad1);
driver.getGamepadButton(GamepadKeys.Button.A)
      .whenPressed(new InstantCommand(intake::collect, intake))
      .whenReleased(new InstantCommand(intake::stop, intake));