NOTICE

This repository contains the public FTC SDK for the SKYSTONE (2019-2020) competition season.

Formerly this software project was hosted here. Teams who are competing in the SKYSTONE Challenge should use this new SKYSTONE repository instead of the older (and no longer updated) ftc_app repository.

Welcome!

This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer.

Getting Started

If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system:

      FTC Blocks Online Tutorial

Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards.

Downloading the Project

If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository.

            git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git

Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)").

Getting Help

User Documentation and Tutorials

FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link:

      SKYSTONE Online Documentation

Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system.

Javadoc Reference Material

The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website:

      FTC Javadoc Documentation

Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders:

Online User Forum

For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum:

      FTC Technology Forum


Release Information


Version 5.3 (20191004-112306)


Release Information


Version 5.2 (20190905-083227)


Release Information


Version 5.1 (20190820-222104)

Known issues:


Release Information


Version 5.0 (built on 19.06.14)


Release Information


Version 4.3 (built on 18.10.31)


Release Information


Version 4.2 (built on 18.10.30)


Release Information


Version 4.1 (released on 18.09.24)

Changes include:


Release Information


Version 4.0 (released on 18.09.12)

Changes include:

Known issues:


Release Information


Version 3.6 (built on 17.12.18)

Changes include:


Release Information


Version 3.5 (built on 17.10.30)

Changes with version 3.5 include:


Release Information


Version 3.4 (built on 17.09.06)

Changes with version 3.4 include:


Version 3.3 (built on 17.09.04)

This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool.

Changes with verion 3.3 include:

Known issues:


Version 3.2 (built on 17.08.02)

This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build op modes dynamically using only a Javascript-enabled web browser.

The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. Op modes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). Op modes are saved on the Robot Controller Android device directly.

The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio.

Changes with version 3.2 include:

Known issues:


Version 3.10 (built on 17.05.09)

This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software.

Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot.

Changes include:


Additional Notes Regarding Version 3.00 (built on 17.04.13)

In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes:

  1. Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol.
  2. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an op mode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration.
  3. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future.

Version 3.00 (built on 17.04.13)

Use this version of the software at YOUR OWN RISK!!!

This software is being released as an "alpha" version. Use this version at your own risk!

This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system.

Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use).

Use this version of the software at YOUR OWN RISK!!!

Changes include:


Version 2.62 (built on 17.01.07)


Version 2.61 (released on 16.12.19)


Version 2.6 (released on 16.12.16)


Version 2.5 (internal release on released on 16.12.13)


Version 2.4 (released on 16.11.13)


Version 2.35 (released on 16.10.06)


Version 2.30 (released on 16.10.05)


Version 2.20 (released on 16.09.08)


Version 2.10 (released on 16.09.03)


Version 2.00 (released on 16.08.19)


Release 16.07.08


Release 16.03.30


Release 16.03.09


Release 16.02.09


Release 16.01.04


Release 15.11.04.001

T. Eng November 5, 2015


Release 15.10.06.002

T. Eng October 6, 2015


In this latest version of the FTC SDK (20150803_001) the following changes should be noted:

T. Eng August 3, 2015