We've made some of our software publicly available so that other FRC
teams may use them as they wish. If you wish to submit a code change to any of these
repositories, please use the contact info at the bottom of the page. All software is
provided with no guarantees of any kind. Use at your own risk.
2022 Robot Code in Java
This is the 2022 robot code written in Java. The code includes all the Robot movement, camera and turret tracking, autonomous, user control, logging and diagnostics.
2020 Robot Code in Java
This is the 2020 robot code written in Java. The code includes all the Robot movement, user control, unit testing, logging and diagnostics.
2019 Robot Code in Java
This is the 2019 robot code written in Java. The code includes all the Robot movement, camera management, component control (including PID), logging and diagnostics.
This is the extracted generic code that can be used in Robot projects through the seasons. The code consists of several utilities and frameworks, including: Logging, Swerve library, Wrapper classes for various sensors, diagnostics, Limelight distance calculation.
2019 LabVIEW Swerve Drive Example
This code uses LabVIEW 2018 (FRC 2019 season) to implement a
four wheel swerve system. The hardware is essentially the same as that used in our Java
implementation (see previous code release below).
2018 Robot Code in Java
This is the entire 2018 robot code written in Java. Our C++ and LabVIEW
implementations are incomplete and therefore not posted. There's some useful nuggets of code
that others may find useful but you'll have to look for yourself. Hopefully the comments will help.
2018 Swerve Drive Library (Java and C++)
As of the 2018 season (PowerUp), WPIlib did not have built-in support
for swerve drive drivetrains. This means that unlike other drivetrains, a robot built with swerve wheels has a much
longer software development and test cycle. This seemed a little unfair so we're making our code
public to help even the playing field on drivetrains.
We used the AndyMark
AM-3009 swerve drive
modules in both 2017 and 2018.
The 2018 re-write used the updated Talon SRX library and the
code was better compartmentalized. It should be extensible and tunable to other swerve drive
implementations that use different gear ratios, closed loop sensors, motor controllers, etc. The Java
code is tested. We used it on our robot. The C++ code is only partially tested and will
likely require further debug and tweaking to match the Java code in terms of performance.
The software is open source and made freely available to all FRC teams.
2017 Scouting Software
This is Android (tablet) and Java (laptop) software for the Steamworks game.
We started with the 2016 scouting code and modified it to be more modular. This makes
it a better foundation for future games. Anyone interested in the general architecture and
porting of our code should look at both the 2016 and 2017 code.
2016 Scouting Software
This is Android (tablet) and Java (laptop) software for the Stronghold game.
The Android software ran on Amazon Fire tablets to collect game information during the competition.
The host software collected data from six tablets per match and adds them into a database for later
queries. The software is open source and needs to be customized (data captured, user interface,
queries, etc) each FRC season to match that year's challenge.
(c)2015-2023 FRC 4048 | Redshift. All rights reserved.