WPILib Shuffleboard: A User-Friendly and Customizable Dashboard for FRC
How to Download and Use WPILib Shuffleboard for FRC
If you are looking for a modern and versatile dashboard for your FRC robot, you might want to check out WPILib Shuffleboard. In this article, we will explain what WPILib Shuffleboard is, how to download it, and how to use it for your robot programming and debugging.
What is WPILib Shuffleboard?
WPILib Shuffleboard is a dashboard for FRC based on JavaFX that can display network tables data using a variety of widgets that can be positioned and controlled with robot code. It is designed to be used for creating dashboards for C++ and Java programs. If you have used SmartDashboard in the past, you are already familiar with many of the features of WPILib Shuffleboard since they fundamentally work the same way. But WPILib Shuffleboard has many features that are not in SmartDashboard.
wpilib shuffleboard download
Features of WPILib Shuffleboard
Here are some of the highlights of WPILib Shuffleboard:
Graphics is based on JavaFX, the Java graphics standard. Each of the components has an associated style sheet so it becomes possible to have different skins or themes for WPILib Shuffleboard. There are default light and dark themes available.
WPILib Shuffleboard supports multiple sheets for the display of your data. You can create a new sheet (shown as a tab in the WPILib Shuffleboard window) and indicate if and which data should be autopopulated on it. By default, there is a Test tab and a SmartDashboard tab that are autopopulated as data arrives. Other tabs might be for robot debugging vs. driving.
Graphical display elements (widgets) are laid out on a grid to keep the interface clean and easy to read. You can change the grid size to have more or less resolution in your layouts and visual cues are provided to help you change your layout using drag and drop. Or you can choose to turn off the grid lines although the grid layout is preserved.
Layouts are saved and the previous layout is instantiated by default when you run WPILib Shuffleboard again.
There is a record and playback feature that lets you review the data sent by your robot program after it finishes. That way you can carefully review the actions of the robot if something goes wrong.
Graph widgets are available for numeric data and you can drag data onto a graph to see multiple points at the same time and on the same scale.
You can extend WPILib Shuffleboard by writing your own widgets that are specific to your teams requirements. Documentation on extending it can be found in .
Benefits of WPILib Shuffleboard
Some of the benefits of using WPILib Shuffleboard are:
You can customize your dashboard according to your needs and preferences.
You can easily monitor and control your robot data using various widgets and tabs.
You can debug your robot code by recording and playing back your data.
You can use advanced features like commands, subsystems, PID tuning, hierarchies, etc.
How to Download WPILib Shuffleboard
Requirements for WPILib Shuffleboard
To download and use WPILib Shuffleboard, you need:
JRE 11. Java 11 is required. No other version of Java is supported. Java 11 is installed by the Steps to Download WPILib Shuffleboard
To download WPILib Shuffleboard, you need to follow the WPILib installation guide that will guide you through the steps of installing the WPILib suite, which includes WPILib Shuffleboard, VS Code, JDK, and other tools. You can download the latest release of the installer from GitHub. The installer is available for Windows, Linux, and macOS platforms. You will need to extract the installer file and run it on your computer. The installer will detect your existing WPILib installation and update it to the latest version. You can also choose to install only the tools or everything depending on your needs.
After installing WPILib Shuffleboard, you can launch it from the YEAR WPILib tools folder on your desktop or from the command line by typing shuffleboard. You can also start it automatically when the Driver Station starts by setting the Dashboard Type to Shuffleboard in the settings tab of the Driver Station.
How to Use WPILib Shuffleboard
Starting WPILib Shuffleboard
When you start WPILib Shuffleboard, you will see a window like this:
How to install wpilib shuffleboard on Windows/Mac/Linux
Wpilib shuffleboard tutorial for FRC robotics
Wpilib shuffleboard vs SmartDashboard comparison
How to create custom widgets for wpilib shuffleboard
Wpilib shuffleboard documentation and API reference
How to use wpilib shuffleboard with Pathweaver and RobotBuilder
Wpilib shuffleboard troubleshooting and FAQ
How to record and playback data with wpilib shuffleboard
How to configure and organize widgets on wpilib shuffleboard
How to display camera streams and graphs on wpilib shuffleboard
How to test and tune PID loops with wpilib shuffleboard
How to use commands and subsystems with wpilib shuffleboard
How to view hierarchies of data with wpilib shuffleboard
How to create custom themes and plugins for wpilib shuffleboard
Wpilib shuffleboard source code and GitHub repository
Wpilib shuffleboard latest release and changelog
Wpilib shuffleboard minimum requirements and dependencies
Wpilib shuffleboard keyboard shortcuts and tips
Wpilib shuffleboard feedback and support forum
Wpilib shuffleboard alternatives and competitors
Benefits of using wpilib shuffleboard for FRC dashboard
How to update wpilib shuffleboard to the latest version
How to uninstall wpilib shuffleboard from your computer
How to connect wpilib shuffleboard to your robot network
How to use wpilib shuffleboard with different data types and sources
How to use wpilib shuffleboard with Java/C++/Python/Kotlin
How to use wpilib shuffleboard with simulation and hardware in the loop
How to use wpilib shuffleboard with vision processing and machine learning
How to use wpilib shuffleboard with sensors and actuators
How to use wpilib shuffleboard with CAN devices and motor controllers
How to use wpilib shuffleboard with pneumatics and solenoids
How to use wpilib shuffleboard with encoders and gyroscopes
How to use wpilib shuffleboard with joysticks and gamepads
How to use wpilib shuffleboard with buttons and switches
How to use wpilib shuffleboard with LEDs and displays
How to use wpilib shuffleboard with cameras and microphones
How to use wpilib shuffleboard with speakers and sound effects
How to use wpilib shuffleboard with webcams and USB devices
How to use wpilib shuffleboard with Bluetooth and WiFi devices
How to use wpilib shuffleboard with Arduino and Raspberry Pi devices
How to use wpilib shuffleboard with LabVIEW and MATLAB tools
How to use wpilib shuffleboard with ROS and Gazebo tools
How to use wpilib shuffleboard with OpenCV and TensorFlow tools
How to use wpilib shuffleboard with AWS and Azure cloud services
How to use wpilib shuffleboard with Slack and Discord chatbots
How to use wpilib shuffleboard with Google Sheets and Firebase databases
How to use wpilib shuffleboard with Trello and GitHub project management tools
This window consists of three main areas:
Sources area: Here are data sources from which you can choose values from NetworkTables or other sources to display by dragging a value into one of the tabs.
Tab panes: This is where you data is displayed from the robot or other sources. In this example it is Test-mode subsystems that are shown here in the LiveWindow tab. This area can show any number of tabbed windows, and each window has its own set of properties like grid size and auto-populate.
Record/playback controls: set of media-like controls where you can playback the current session to see historical data.
Tour of WPILib Shuffleboard Interface
The WPILib Shuffleboard interface is based on JavaFX, which allows for customization and theming. You can change the appearance of WPILib Shuffleboard by selecting a different theme from the Themes menu. There are two default themes: light and dark. You can also create your own custom themes using style sheets.
The interface also supports multiple sheets or tabs for displaying different data sets. You can create a new tab by clicking on the + button next to the existing tabs. You can also rename, duplicate, or delete tabs by right-clicking on them. Each tab has its own properties that you can access by clicking on the gear icon next to the tab name. Here you can change the grid size, auto-populate mode, and layout mode of the tab.
The widgets are the graphical elements that display data from your robot or other sources. There are many types of widgets available, such as text fields, sliders, buttons, graphs, cameras, etc. You can add a widget to a tab by dragging a value from the sources area into an empty cell on the grid. You can also change the type of widget by right-clicking on it and selecting Change Widget Type. Each widget has its own properties that you can access by clicking on the wrench icon next to the widget name. Here you can change the title, size, position, color, etc. of the widget.
Displaying Data from Your Robot
To display data from your robot on WPILib Shuffleboard, you need to use NetworkTables in your robot code. NetworkTables is a key-value pair system that allows you to send data between different devices on a network. You can use NetworkTables to send