QFRCDashboard 2025 Beta - a Shuffleboard alternative

QFRCDashboard is ready for 2025 beta testing! In case you’re unfamiliar, QFRCDashboard is a driver dashboard as an alternative (improvement) to Shuffleboard/SmartDashboard. Compared to Shuffleboard, QFRCDashboard is designed to provide a significantly smoother, less resource hungry, and cleaner overall user experience.

Big Changes

QFRCDashboard was completely rewritten from its old form into QML, rather than Qt Widgets. This has enabled several significant QoL improvements that were impossible in the old version.

A Reimagined UI

QFRCDashboard’s UI has been completely redesigned to be more modern, bubbly, and smooth, with improved theming and accenting support. Currently, light, dark, and midnight themes are available, and red, blue, and purple accents are available. Custom themes will be supported in an upcoming release.

Aside from theme and accent support, the UI is designed to be more in line with Elastic and Shuffleboard, taking some inspiration from well-known themes like Windows 7 Aero & Windows 10 Flat.

Themes

Improved Widget/Camera menus

The NT Widget and Camera menus now slide in from the side a la Shuffleboard. This allows you to simply open a menu and drag the widget directly onto the current tab, rather than the clunky old system of double-clicking on a popup menu. This results in a much nicer experience that’s easier for non-programmers to understand and use.

Drag

Copy & Paste

One significant missing feature from the old version was the ability to copy and paste widgets. The new version finally introduces this feature; simply right click a widget and paste it onto the current tab or even a different tab. All changed properties will be copied to the new widget.

CopyPaste

Field2d Improvements

The Field2d widget (used primarily for odometry view) has been entirely overhauled. New settings enable the user to change:

  • Robot color
  • Shape (Robot, rectangle, circle) – i.e. for displaying non-robot objects

Furthermore, it now supports a vertical display (good for field-relative views), and mirroring based on the alliance, making the view that much closer to reality.

Field2d

Camera Quality & Improvements

The camera viewing widget is far improved from last year, with additional performance improvements and the introduction of quality control settings.

By changing the FPS, compression, and resolution, you can dramatically reduce the bandwidth sent over the network, helping to keep your robot network under the 7Mbps radio limit without compromising user experience.

Note that this menu will be overhauled and improved in a later release, including moving the quality option to become a slider.

To Come

Many features are planned to be added, including:

  • Trajectory Display on Field2d
  • Switch tabs based on an NT value
  • Custom Theming
  • Lots of UI fixes
  • Overhauled configuration menu

Installation

QFRCDashboard uses GitHub Actions, and is fully supported on all platforms–Linux, Windows, and macOS.

See the latest release here: Releases · Q-FRC/Dashboard · GitHub

Windows builds have the additional option of an installer, allowing you to create desktop and start menu shortcuts for QFRCDashboard.

Please note that due to the nature of the rewrite, old save files use a completely different format and are not compatible with the new QFRCDashboard. Additionally, due to lack of demand relative to maintenance load, the graph and swerve widgets have been removed–for development purposes I highly recommend using AdvantageScope, which has these features built-in and is much nicer to use for that purpose.

For more specific installation instructions, see the wiki.

Feedback

When using QFRCDashboard, please bring feedback on potential improvements either to this thread or to the GitHub’s issues tab (direct link).

Documentation

Documentation is incomplete so far, but how-tos on installation & usage can be found on the wiki.

I appreciate everyone’s feedback and hope to see plenty of people use it during the season!

13 Likes

Thanks for the amazing work!
While competition is always welcome, and more options to choose from is nice, where do you see QFRCDashboard stand against its main alternative, Elastic?

This is so slick!! Those animations are so clean! Nice work!

1 Like

To be honest, I’ve never used Elastic. My only knowledge of it comes from the GIFs I saw of it from the threads. From what I can see, Elastic has a lot more work put into the looks & theming but I put a lot more effort into usability and “feel” of the application. I’ll mess around with Elastic within the next week and see what all the differences really are.

QFRCDashboard 2025.0.0-beta3 is out!

What’s Changed

Custom accents have been added! You can now add your own accents and import/export them. See the instructions for more details.

Additionally, basic onboarding instructions have been added that only appear when no tabs have been created.

What’s Fixed

Several notable UI inconsistencies have been resolved, notably:

  • Backgrounds & alignment of dialog buttons
  • Layout & arrangement of server settings & tab size dialogs
  • Overlaps between menu text & menu shortcuts
  • Issues with the tab bar on Linux
1 Like

QFRCDashboard 2025.0.0-beta4

What’s Changed

This release surrounds the introduction of QFRCLib, a single-file robot library that allows the user to switch tabs from robot code, as well as report errors to be shown on the dashboard. See the wiki for more.

TabAndErrors

What’s Fixed

Fixed a small oversight that would cause widgets to disappear under certain circumstances.

3 Likes

I think these are very useful additions. However, one question/concern I have is that, from what it looks like in the video, the error reporting has the same functionality as the WPILib alerts. Is there a reason a team should be using the QFRCLib alerts instead of the WPILib alerts?

Great work on this! Looking forward to seeing more progress as you continue developing it!

2 Likes

This is so nice! Keep up the amazing work! I love this as a light DS Dashboard!!

1 Like

I didn’t even know that existed, lol. I designed the QFRCLib alerts system around simple one-off errors and information only, while WPILib Alerts seem to be based around the idea of recurring errors that can be disabled and enabled at will.

I also don’t see any documentation regarding its behavior for a “maximum” number of errors, whereas I added such functionality specifically to prevent the case of crowding the dashboard witj a trillion errors.

Seems like both have their advantages; in the next release I’ll go about adding support for WPILib’s alerts but it is low-priority as I have two significantly more important changes coming along.

1 Like