Don't Blink LogoFTC Stack

FTC SDK Basics

Learn the fundamentals of programming an FTC robot using the FTC SDK.

SDK Basics

The FTC SDK provides the tools needed to communicate with your robot hardware and create programs that run on the Control Hub.

Before building advanced systems like subsystems, autonomous routines, or command-based architectures, it is important to understand the basic components of an FTC program.

In this section, you will learn how to:

  • Create and run OpModes
  • Control robot hardware
  • Read driver input
  • Debug programs using telemetry
  • Work with motors, servos, and sensors
  • Understand timing and robot configuration

What is the FTC SDK?

The FTC SDK is a collection of Java libraries that allow your code to interact with the robot.

Instead of directly controlling hardware, your code uses the SDK to communicate with:

  • Motors
  • Servos
  • Sensors
  • Gamepads
  • Hubs

Example:

motor.setPower(1.0);

The SDK converts this command into instructions for the physical motor.

How FTC Programs Work

Most FTC programs follow this general flow:

Initialize Hardware

Wait for Start

Read Inputs

Run Robot Logic

Control Hardware

Repeat

During a match, your code continuously reads information from the robot and makes decisions.

Before You Start

You should already understand basic Java concepts such as:

  • Variables
  • Conditionals
  • Loops
  • Methods
  • Classes and objects

If you need a refresher, review the Java section first.

SDK Basics Lessons

Follow these lessons in order:

  1. Project Structure

    • Learn how the SDK is structured.
  2. OpModes

    • Learn how FTC programs start and run.
  3. Telemetry

    • Display information and debug your robot.
  4. Gamepads

    • Read driver inputs and control mechanisms.
  5. HardwareMap

    • Connect your code to physical hardware.
  6. Motors

    • Control movement and motor-based mechanisms.
  7. Servos

    • Control position-based mechanisms.
  8. Sensors

    • Add feedback and awareness to your robot.
  9. Timing

    • Control delays, actions, and sequences.
  10. Robot Configuration

    • Connect your software configuration to your hardware.
  11. Lynx Modules

    • Robot performance galore.

What's Next?

After learning the SDK basics, you can move on to more advanced FTC programming concepts:

  • Code organization
  • Subsystems
  • Command-based programming
  • Autonomous programming
  • Motion planning
  • Vision systems

These concepts build on the foundation covered in this section.

Was this resource helpful?

On this page

Was this resource helpful?