Skip to content
@wpilibsuite

WPILib Suite

The official repositories of the WPILib Suite, a robotics software library used in the FIRST Robotics Competition

What is WPILib?

WPILib is the standard software library and toolsuite provided for teams to write, test, and debug code for their FIRST® Robotics Competition and FIRST® Tech Challenge robots. A software library is a collection of code that can be imported into and used by other software. WPILib contains a set of useful classes and subroutines for interfacing with various parts of the FIRST® control system (such as sensors, motor controllers, and the driver station), as well as an assortment of other utility functions.

Supported languages

There are three officially-supported text-based languages for WPILib: Java, C++, and Python. A considerable effort is made to maintain feature-parity between these languages, but WPILib may make features available to specific languages in cases where the feature represents a significant benefit to teams but cannot be implemented across all languages. When possible, class and method names are kept identical or highly-similar. Java, C++, and Python were chosen for the officially-supported languages due to their appropriate level-of-abstraction and broad use in both industry and education.

In general, C++ offers better high-end performance, at the cost of increased user effort (memory must be handled manually, and the C++ compiler does not do much to ensure user code will not crash at runtime). Java and Python offer lesser performance, but much greater convenience. Python users should take care to test their program to ensure that typos and other issues don't cause robot crashes, as Python is interpreted. New/inexperienced users are encouraged to use Java or Python.

Source code and documentation

The primary documentation for WPILib is the FIRST Robotics Competition Control System Documentation.

Detailed API documentation can be found on the official documentation pages for each language:

WPILib is an open-source library - the majority of the library source code is in the allwpilib mono-repo. Python source code is in the mostrobotpy mono-repo. Various other tooling and infrastructure code is in other repositories under the wpilibsuite organization on GitHub.

Installation

WPILib has a unified installer. See the WPILib Installation Guide for step-by-step installation instructions.

Pinned Loading

  1. allwpilib allwpilib Public

    Official Repository of WPILibJ and WPILibC

    C++ 1.3k 706

  2. frc-docs frc-docs Public

    Official FRC Documentation powered by Read the Docs

    JavaScript 180 298

  3. GradleRIO GradleRIO Public

    The official gradle plugin for the FIRST Robotics Competition

    Java 278 73

  4. vscode-wpilib vscode-wpilib Public

    Visual Studio Code WPILib extensions

    TypeScript 120 62

  5. SystemcoreTesting SystemcoreTesting Public

    Repository for Alpha and Beta testing of Systemcore and Motioncore devices

    Java 150 17

  6. systemcore-blocks-interface systemcore-blocks-interface Public

    TypeScript 9 10

Repositories

Showing 10 of 131 repositories

Top languages

Loading…

Most used topics

Loading…