files links schedule
open source software
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.
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.
2019 Java-Common
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.
Aim high, land softly.
Westborough High School - Robotics
90 West Main Street
Westborough, MA 01581
About FIRST Sponsors Resources Forum Old site Old site
Schedule Feed Multimedia GitHub
Facebook YouTube Email Google Maps
(c)2015-2018 FRC 4048 | Redshift. All rights reserved.

Design/website by Kevin Hu