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

Programming

FTC SDK

Hardware map, OpMode lifecycle, telemetry, and the files you should never touch.

1 min readUpdated Jul 29, 2026

The FTC SDK is the Android app that runs on the Control Hub plus the libraries you compile against. Understanding its lifecycle removes most mystery bugs.

OpMode lifecycleLink to this section

PhaseLinearOpModeOpMode
Initbefore waitForStart()init()
Init loopwhile (!isStarted())init_loop()
StartwaitForStart() returnsstart()
Runwhile (opModeIsActive())loop()
Stopmethod returnsstop()

Hardware mapLink to this section

hardwareMap resolves configuration names to device objects at init. Resolve every device once during init and store the reference; calling get inside the loop costs milliseconds you do not have.

java
// Good: resolved once
private DcMotorEx lift;
lift = hardwareMap.get(DcMotorEx.class, "lift");

// Bad: resolved every cycle
hardwareMap.get(DcMotorEx.class, "lift").setPower(1);

TelemetryLink to this section

Telemetry is your debugger. Batch values and call update() once per loop; each update is a network packet.