What is WPILib

From the WPILib reference on ScreenStepsLive:

The WPI Robotics library (WPILib) is a set of software classes that interfaces with the hardware and software in your FRC robot’s control system. There are classes to handle sensors, motor speed controllers, the driver station, and a number of other utility functions such as timing and field management.

Complete Javadoc

Most Useful WPILib Classes

This is a list of the primary WPILib classes used in robot programming:

Command Based Programming

  • Scheduler - scheduling a command
  • Command - the basic framework for all commands
  • Subsystem - a container for sensors, motors and pneumatics actuators

Operator Input (OI) Layer

  • Joystick - a basic joystick, extended by the Toronto Framework to GameController
  • SendableChooser - a way to select an auto pattern on the SmartDashboard
  • SmartDashboard - put debug/status information on the SmartDashboard

Drive Calculator Classes

Speed Controllers (Motors)


  • AnalogGyro - a Gyro plugged into an analog port
  • AnalogInput - an analog input (ie. proximity sensor)
  • DigitalInput - a limit switch or other digital input plugged into a DIO port
  • Encoder - a quadrature encoder
  • Counter - a counter attached to a DIO channel used to count fast DIO pulses


Key IP Address Lists

  • roboRIO USB:
  • roboRIO mDNS: roboRIO-####-FRC.local (where #### is your team number with no leading zeroes) You should be able to use this address to communicate with the roboRIO over either interface through ping, browser, etc.
  • Robot Radio: 10.TE.AM.1 (where TE.AM is your 4 digit team number with leading zeroes if required)
  • DHCP range: 10.TE.AM.20 to 10.TE.AM.199