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
- Install Android Studio (latest stable release).
- Clone the official FtcRobotController repository for the current season.
- 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.
@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.