QFRCDashboard is officially ready for the 2025 season!
QFRCDashboard is an extremely lightweight, high-performance dashboard, designed to be aesthetically pleasing & easy to look at during a match, all while taking up as few driver station resources as possible.
Performance
QFRCDashboard utilizes the very high efficiency & low resource cost of the Qt framework and its QML GUI to ensure that as many resources can be allocated to the driver station app as possible. Additionally, widget & network updates are done as-needed, not constantly or periodically.
On average, QFRCDashboard uses up less than 150MB of RAM, and virtually no CPU! By comparison, Shuffleboard uses up around 600MB of RAM, and up to 30% of the CPU on certain older systems, if not the entire CPU! Under significant load, the difference is even more pronounced, where Shuffleboard can easily climb up to 1GB or more while QFRCDashboard remains under 200MB.
Widgets
In addition to basic data structures & displays, QFRCDashboard also contains several additional widgets to help display more information to the driver:
- Field display with customizable robot look & vertical display
- Boolean (true/false) widget with custom shapes
- Enum (preset string values) widget with custom shapes & configurable colors based on a string value
Robot-Side Interaction
QFRCDashboard contains QFRCLib, a one-file library that can interact with the dashboard in several ways:
- Select tabs
- Send notifications
- Send alerts & errors
Aesthetic UI
QFRCDashboard’s UI takes inspiration from a variety of well-known themes, including Windows 7 Aero and Windows 10 Flat, and combines it with some unique design aspects to create an aesthetic experience that complements QFRCDashboard’s excellent usability.
Easy to Use
QFRCDashboard is designed to be dead-simple for programmers, drivers, and total strangers alike to use. Like Shuffleboard, widgets can be dragged in from a side menu, easily configured or deleted via a right-click menu, and dragged & resized via the mouse. Configuration dialogs have additionally been designed to be easy to understand & use.
Layout Management
QFRCDashboard will automatically open your last-opened layout file on launch, can easily and quickly open up any alternate layouts, and can even download layouts deployed to your robot!
In a future release, QFRCDashboard will additionally support pushing layouts directly to the robot, but due to WPILib limitations, this isn’t currently possible.
Guides
For guidance on installation, usage, and the many additional features present in QFRCDashboard, see its wiki!
Feedback
For feedback, suggestions, bugs, or any issues or questions you may have, place them here, or on the issues tab on GitHub.
I appreciate you reading this post and showing interest in QFRCDashboard. I hope to see plenty of people use it during the season and hope to improve upon your dashboard experience!
Changes
QFRCDashboard has received dramatic changes since last season, and if you used QFRCDashboard in 2024, I encourage you to catch up by looking at the development threads since the initial 2024 release.
Indeed, since 2024, QFRCDashboard has been completely rewritten and expanded; new features have been added, the UI was totally redesigned, and the experience was dramatically improved.
Full Changelogs:
Since 2024
- Total UI redesign
- New & improved widget configuration dialogs
- Dramatically improved performance & resource usage
- Removed Graph & Swerve widgets
- Improved several widgets:
- Field2d
- Added shape configuration, vertical display, and red/blue alliance flipping
- CameraView
- Added quality, resolution, and framerate configuration
- Field2d
- Fixed dozens of potential crashes
- True theming support
Since the 2025 Beta
- Dramatically improved theming, & support for custom accents
- Lots of UI fixes
- Platform consistency
- Notification support via QFRCLib
- Tab-switching support
- Remote layout support
- Totally redesigned widget configuration UI
- Totally redesigned UIs for tab management, settings, and more
Since the 2025 Release Candidate
- Small UI inconsistencies have been fixed
- UI elements now scale depending on your screen size
- Dramatically reduced build time