Example Code
2026 REV ION FRC Starter Bot Code Templates
Deploying this project to your robot
Before you can deploy this project to your robot, you'll need to set your team number in /.wpilib/wpilib_preferences.json or via the "Set Team Number" tool in WPILib VSCode. You will need to update WPILib VSCode to a 2026+ release to build this project.
Driving the 2026 REV ION FRC Starter Bot
All controls for the Starter Bot are located in /src/main/java/frc/robot/RobotContainer.java and can be configured with WPILib's Command Controller API. The project is configured for an Xbox controller by default, so other controllers may require some additional setup or changes.
The robot's starting/zero configuration is:
intake in
Default Controls
Left stick
Drive/strafe drivetrain
Right stick
Rotate drivetrain
Start button
Zero swerve heading
Left stick button
Set swerve wheels to an X
Y button
Run shooter and feeder
Right trigger
Run fuel intake
Left trigger
Reverse fuel intake
Other features
CAN IDs
The CAN IDs for the Starter Bot motor controller are defined in /src/main/java/frc/robot/Constants.java.
The default IDs are:
Intake
Intake Motor
SPARK Flex
2
Conveyor Motor
SPARK Flex
4
Shooter
Feeder Motor
SPARK Flex
5
Flywheel Motor (Leader on the Right)
SPARK Flex
6
Flywheel Motor (Follower on the Left)
SPARK Flex
7
Drive
Front Left Driving Motor
SPARK MAX
15
Front Right Driving Motor
SPARK MAX
11
Rear Right Driving Motor
SPARK MAX
9
Rear Left Driving Motor
SPARK MAX
13
Front Left Turning Motor
SPARK MAX
14
Front Right Turning Motor
SPARK MAX
10
Rear Right Turning Motor
SPARK MAX
8
Rear Left Turning Motor
SPARK MAX
12
Configuration
All configuration objects are instantiated in /src/main/java/frc/robot/Configs.java and called by each subsystem
MAXMotion
The Shooter Flywheel implements MAXMotion Velocity Mode
Simulation
Check out the REVLib simulation docs for more information on setting up and running a simulation. Select NetworkTables > SmartDashboard to open the Mechanism2d windows in the Simulation GUI. These displays will also update with a robot connected, so play around with them and add them to your dashboard! They can be configured in /src/main/java/frc/robot/Constants.java.
Debugging
Individual mechanisms can also be controlled via SmartDashboard:
File -> Open -> 2026-Starter-Bot-SmartDashboard.xml (in the root of this repo)
The Upper left corner shows the currently running subsystems
The Intake and Shooter subsystems contain Commands and status
In a subsystem, only a single command may run at a time
Pressing the
Startbutton starts the Command and is replaced by aCancelbutton, which stops the command
IntakeSubsystem
Intake: Runs the Intake and Conveyor into the robotExtake: Runs the Intake and Conveyor out of the robot
ShooterSubsystem
Flywheel: spins the flywheel up to its target velocityFeeder: feeds the balls to the flywheel and keeps the flywheel spinning
Last updated
Was this helpful?

