FTC robots can be programmed using three primary methods: Blocks, OnBot Java, and Android Studio. All three approaches create OpModes, which control the robot during autonomous and driver-controlled portions of a match.
FTC Blocks: A browser-based, drag-and-drop programming environment accessed through the Robot Controller interface. Teams assemble visual code blocks representing motors, servos, sensors, logic, and FTC commands. This method of programming is recommended for new programmers and teams learning programming fundamentals.
OnBot Java: A browser-based text programming environment that allows students to write Java code directly on the REV Control Hub. Programs can be compiled and tested without installing a separate development application. This method of programming is recommended for teams transitioning from Blocks to text-based programming .
Android Studio: A full professional development environment installed on a computer. Teams use the FTC SDK to write, organize, debug, and deploy Java programs to the Control Hub. It also supports GitHub and other version-control tools. This method of programming is recommended for experienced teams developing larger or more advanced software.
Official FTC Block Programming Instruction: Block Programming Setup
Block Programming Simulator Training: FTC SIM
FTC SIM is a great starting point for learning to do block programming as it gives you increasingly challenging tasks. This simulator also gives you the ability to translate your block code into Onbot Java for those looking to make that transition.
Official FTC OnBot Java Programming Instruction: OnBot Java Programming Setup
OnBot Java Programming Simulator Training: FTC SIM
FTC SIM is a great starting point for learning to do OnBot Java programming as it gives you increasingly challenging tasks. This simulator also gives you the ability to translate between block code into Onbot Java for those looking to make that transition.
Android Studio is the primary development environment for programming FTC robots in Java. Teams use the FTC Robot Controller software development kit (SDK) to create programs called OpModes, which define how the robot operates during autonomous and driver-controlled periods.
Within Android Studio, programmers can access FTC hardware libraries, write and organize code, identify motors, servos, sensors, and cameras using the robot’s hardware configuration, and test more advanced control systems. The completed program is then compiled and installed on the REV Control Hub, typically through a USB or wireless connection. During competition, the team selects and runs the desired OpMode from the FTC Driver Station.
Android Studio is generally best suited for teams that want greater flexibility, stronger debugging tools, version control through platforms such as GitHub, and the ability to build more advanced or reusable robot software.
Official FTC Java with Android Studio Instruction: Android Studio Programming Tutorial