Installation
New Projects
For new projects, we highly recommend starting with one of the template projects attached to the latest release. These projects include detailed documentation and setup instructions for many common use cases:
- 2025 KitBot Template: For robots based on the 2025 FIRST KitBot.
- Differential Drive Template: For other differential drive (tank) robots.
- Spark Swerve Template: For swerve drives primarily using the Spark Max and Spark Flex, including NEO, NEO Vortex, or NEO 550 motors.
- TalonFX Swerve Template: For swerve drives primarily using TalonFX-based motors like the Falcon 500, Kraken X60, and Kraken X44.
- Vision Template: Example code for running simple vision targeting and pose estimation.
- Skeleton Template: Simple project with AdvantageKit installed but without subsystems or control logic.
Existing Projects
Users wishing to install AdvantageKit in an existing project should check the documentation page for existing projects.
Offline Installation
Maven artifacts for AdvantageKit can be downloaded and installed for offline use. This allows AdvantageKit to be accessed even if the Maven repository is blocked on school networks.
- Download the "maven_offline.zip" asset attached to the latest GitHub release.
- Unzip the file into "C:\Users\Public\wpilib\YEAR\maven" on Windows or "~/wpilib/YEAR/maven" on macOS/Linux.
Legacy Projects
Projects based on AdvantageKit v4.0.0-beta-1 or earlier may experience build failures due to the use of an invalid GitHub Packages token. To address this issue, these releases have been republished to the current Maven repository used by v4.0.0 and later (which does not require authentication). Please follow the steps below to switch to the new Maven repository:
-
Ensure that you are using the original vendordep JSON file (all versions of the vendordep JSON can be found on the GitHub releases page). Do not modify this JSON file.
-
Find the block below in
build.gradle
which configured the GitHub Packages repository:
repositories {
maven {
url = uri("https://maven.pkg.github.com/Mechanical-Advantage/AdvantageKit")
credentials {
username = "Mechanical-Advantage-Bot"
password = "\u0067\u0068\u0070\u005f\u006e\u0056\u0051\u006a\u0055\u004f\u004c\u0061\u0079\u0066\u006e\u0078\u006e\u0037\u0051\u0049\u0054\u0042\u0032\u004c\u004a\u006d\u0055\u0070\u0073\u0031\u006d\u0037\u004c\u005a\u0030\u0076\u0062\u0070\u0063\u0051"
}
}
}
- Replace that block with the new version shown below:
repositories {
maven {
url = uri("https://frcmaven.wpi.edu/artifactory/littletonrobotics-mvn-release")
}
}