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

Getting Started

Quick Start

Get a robot moving in under an hour: SDK setup, first OpMode, and driving.

1 min readUpdated Jul 30, 2026

This guide takes you from a fresh laptop to a robot driving under your own code. It assumes you have a Control Hub, a driver station phone or Driver Hub, and two motors wired to ports 0 and 3.

1. Install the toolsLink to this section

  1. Install Android Studio (latest stable release).
  2. Clone the official FtcRobotController repository for the current season.
  3. Open the project and let Gradle sync — the first sync takes several minutes.

2. Create your first OpModeLink to this section

Place new files in TeamCode/src/main/java/org/firstinspires/ftc/teamcode. Anything outside TeamCode gets overwritten when you update the SDK.

TeamCode/BasicDrive.java
@TeleOp(name = "Basic Drive", group = "Space Academy 3.0")
public class BasicDrive extends LinearOpMode {
    @Override
    public void runOpMode() {
        DcMotor left = hardwareMap.get(DcMotor.class, "leftDrive");
        DcMotor right = hardwareMap.get(DcMotor.class, "rightDrive");
        right.setDirection(DcMotorSimple.Direction.REVERSE);

        waitForStart();
        while (opModeIsActive()) {
            double drive = -gamepad1.left_stick_y;
            double turn  =  gamepad1.right_stick_x;
            left.setPower(drive + turn);
            right.setPower(drive - turn);
            telemetry.addData("power", "%.2f / %.2f", drive + turn, drive - turn);
            telemetry.update();
        }
    }
}

3. Configure the hardwareLink to this section

The strings passed to hardwareMap.get must match the names in your robot configuration exactly, including capitalisation. A mismatch throws a configuration error at init, not at build time.