FTC Codebench
ROBOT CONTROLLER

Configure your robot.

Drag handles to move devices between groups. Use each card’s arrows to reorder, or its Group menu to move without dragging.

3 devices configured

New hardware group

Removing a group keeps its devices in Ungrouped.

Your projects

Each project is one Java file and its hardware setup. Its name follows the public Java class in Code; rename the class to rename the project.

Changes save automatically in this browser on this device. Export backups before clearing browser data.

Saved projects


Backups and Java

Import opens a separate project, even if its class name matches another. Export Java uses the class name as the filename.

Delete project?

Delete and its code and hardware setup from this browser? This cannot be undone. Export a backup first if you want to keep a copy.

Deleting the current project opens another saved project, or a new starter if none remain.

Use Codebench offline

Codebench will save the editor, FTC libraries, and browser Java runtime on this device. Setup downloads files and runs a sample program to check that Java can start without network access. It may take a minute; keep this tab open until it finishes.

Your projects stay on this device. Browser storage can be cleared or evicted, so export a backup and test your own program offline before relying on it.

Connect to the internet to prepare offline mode.

One task at a time.

  1. Hardware. Add motors and servos, and give them names.
  2. Code. Write Java and Compile. Select Go to Test when it succeeds.
  3. Test. Init, then Play. Use the driver controls to watch your devices respond.

Projects. Open Project: <class name> to create, save or switch projects. Each project keeps one Java file and its hardware. Rename the public class in Code to change its name. Examples and imports open separate projects.

Leaving Test ends an active session so a program never runs behind the editor. Reset session terminates stuck code. Losing focus centers gamepad inputs.

Supported: DcMotor power/direction, Servo position/range/direction, CRServo power, standard gamepad fields, telemetry and timed OpModes. Additional encoder, sensor, vision and Android APIs used by the SDK samples have compatibility adapters with dummy values or no output. The Test screen labels affected runs.

Compilation checks the supported FTC SDK 11 environment, not a full Android build. Use Enable offline mode while online, then test your program after reopening without internet. Browser storage can be cleared or evicted.

Third-party notices · Java execution powered by CheerpJ.