The Az-RBSI is available as a Template Repository for teams to use for creating their own 2025 FRC robot code. These instructions assume that you and/or your team already have a GitHub account where you will store your 2025 FRC robot code.
From the Az-RBSI GiuHub page, click the "Use this template" button in the upper right corner of the page.
In the page that opens, select the Owner (most likely your team's account) and Repository name (e.g., "FRC-2025" or "Reefscape Robot Code" or whatever your team's naming convention is) into which the create the new robot project. Optionally, include a description of the repository for your reference. Select "public" or "private" repository based on the usual practices of your team.
The latest release of Az-RBSI is in the main
(default) branch, so it is
recommended to not select the "Include all branches" checkbox.
The Az-RBSI requires the 2025 WPILib Installer (VSCode and associated tools), 2025 firmware installed on all hardware (motors, encoders, power distribution, etc.), the 2025 NI FRC Game Tools (Driver Station and associated tools), and the 2025 CTRE Phoenix Tuner X. Take a moment to update all software and firmware before attempting to load your new robot project.
When your new robot code respository is created, it will have a single commit that contains the entire Az-RBSI template for the current release. (See the Az-RBSI Releases page for more information about the latest release.)
Before you can start to use your code on your robot, there are several set up steps you need to complete:
-
Add your team number to the
.wpilib/wpilib_preferences.json
file. The generic Az-RBSI template contains a team number "0", and your code will not deploy properly if this variable is not set (e.g., VSCode looks for the RoboRIO on IP address10.TE.AM.2
, and it will not find anything if it tries to contact10.0.0.2
.) -
If you have an all-CTRE swerve base (i.e., 8x TalonFX-controlled motors, 4x CANCoders, and 1x Pigeon2), use Phoenix Tuner X to create a swerve project. Follow the instructions in the Phoenix documentation for the Tuner X Swerve Project Generator. This will generate the correct offsets and inversions for your drive train.
-
On the final screen in Tuner X, choose "Generate only TunerConstants" and overwrite the file located at
src/main/java/frc/robot/generated/TunerConstants.java
. -
In
TunerConstants.java
, comment out the last import and last method. Before removing them, both lines will be marked as errors in VSCode. -
In
TunerConstants.java
, changekSteerInertia
to0.004
andkDriveInertia
to0.025
to allow the AdvantageKit simulation code to operate as expected.
NOTE: If you have any other combination of hardware (including REV NEOs, NavX IMU, etc.) you will need to use the YAGSL Swerve Configurator to configure the inputs for your robot. Since the reference build recommends an all-CTRE swerve base, this functionality has not been extensively tested. Any teams that adopt this method are encouraged to submit bug reports and code fixes to the Az-RBSI repository.
-
The Az-RBSI expects an Xbox-style controller -- if you have a PS4 or other, change this at the top of the
RobotContainer.java
file in thesrc/main/java/frc/robot
directory. -
Power ports...
-
All of the constants for needed for tuning your robot should be in the
Constants.java
file in thesrc/main/java/frc/robot
directory. This file should be thoroughly edited to match the particulars of your robot.
As you program your robot for the 2025 (Reefscape) game, you will likely be
adding new subsystems and mechanisms to control and the commands to go with
them. Add new subsystems in the subsystems
directory within
src/main/java/frc/robot
-- you will find an example flywheel already included
for inspiration. New command modules should go into the commands
directory.
The Az-RBSI is pre-plumbed to work with both the PathPlanner and Choreo autonomous path planning software
packages -- select which you are using in the Constants.java
file.
Additionally, both PhotonVision and
Limelight
computer vision systems are supported in the present release.
The Az-RBSI includes a GitHub Action that will cause your robot project
repository on GitHub to check for new versions of the template on a weekly
basis. If a new version has been released, the github-actions
bot will
automatically create a Pull Request
in your repository that includes all of the changes. All you need to do to
accept the changes is to merge the pull request (assuming no conflicts).
If you wish to check for updates more frequently, you may force the "Sync with Az-RBSI Template" process to run under the "Actions" tab on your repository's GitHub page.
Please note that this update process does NOT remove files that have been
renamed (e.g., vendordeps
files that are labeled as "beta" in the months
prior to the start of the season). As such, it is important to inspect the
list of file changes and manually remove these kinds of files. The Az-RBSI
developers will endeavor to list all such files on the Az-RBSI Releases page, but caveat emptor.