Software Component Overview¶
The FRC® & FTC® software consists of a wide variety of mandatory and optional components. These elements are designed to assist you in the design, development, and debugging of your robot code as well as assist with control robot operation and to provide feedback when troubleshooting. For each software component this document will provide a brief overview of its purpose, a link to the package download, if appropriate, and a link to further documentation where available.
Operating System Compatibility¶
The primary supported OS is Windows. All required FRC software components have been tested on Windows 10 & 11.
Many of the tools for C++/Java/Python programming are also supported and tested on macOS and Linux. Teams programming in C++/Java/Python should be able to develop using these systems, using a Windows system for the Windows-only operations such as the Driver Station and roboRIO Imaging Tool.
Visual Studio Code¶

Visual Studio Code is the supported development environment for C++, Java. A guide to getting started with WPILib programming for Java and C++, including the installation and configuration of Visual Studio Code can be found here.
FRC Driver Station Powered by NI LabVIEW (Windows Only)¶

This is the only software allowed to be used for the purpose of controlling the state of the robot during competition. This software sends data to your robot from a variety of input devices. It also contains a number of tools used to help troubleshoot robot issues. More information about the FRC Driver Station Powered by NI LabVIEW can be found here.
Dashboard Options¶
Glass¶

Glass is a Dashboard focused on being a programmer’s tool for debugging. The primary advantages are the field view, pose visualization, and advanced signal plotting tools.
AdvantageScope¶

AdvantageScope is a data visualization tool for NetworkTables, WPILib data logs, and Driver Station logs. It is a programmer’s tool (rather than a competition dashboard) and can be used to debug real or simulated robot code from a log file or live over the network. For more information see the AdvantageScope section.
Elastic¶

Elastic is a simple and modern dashboard made by Team 353. It is meant to serve as a dashboard for competition but can also be used for testing. It was built with the goal of being a drag & drop dashboard with an easy setup and elegant UI designed for a high pressure competition environment. For more information see the Elastic section.
FRC Driver Station Log Viewer (Windows Only)¶

The FRC Driver Station Log Viewer is used to view logs created by the FRC Driver Station. These logs contain a variety of information important for understanding what happened during a practice session or FRC match. More information about the FRC Driver Station Log Viewer and understanding the logs can be found here
Robot Simulation¶

Robot Simulation offers a way for Java, C++, and Python teams to verify their actual robot code is working in a simulated environment. This simulation can be launched directly from VS Code and includes a 2D field that users can visualize their robot’s movement on. For more information see the Robot Simulation section.
System Identification¶

This tool helps teams automatically calculate constants that can be used to describe the physical properties of your robot for use in features like robot simulation, trajectory following, and PID control. For more information see the System Identification section.
OutlineViewer¶

OutlineViewer is a utility used to view, modify, and add to all of the contents of the NetworkTables for debugging purposes. For more information see the Outline Viewer section.
WPIcal¶

WPIcal is a cross-platform utility that can be used to calibrate the Apriltags on FRC fields to correct for field setup error. For more information see the WPIcal section.