QFRCDashboard: 2024/25
QFRCDashboard (mirror) is a reliable, high-performance, low-footprint, fully FOSS dashboard software as an alternative to Shuffleboard or Elastic.
The initial thread contains lots of information on the initial beta of QFRCDashboard. However, since then, many major updates have been released, far too many to count. Here are a few of the key updates:
- True theming support & better overall look & feel
- Drag & Drop
- New Widgets
- Graphs
- FMSInfo
- Command Activation
- Swerve
- Switch tabs based on an NT key
- Dramatic performance & QoL improvements
- Field2d fixes
- More performant overall
- CameraView performance & reconnection behavior
- StringChooser reconnect behavior; forces previous choice onto the robot upon redeploy/reboot
- No updating of items not in view
- Significant reduction in crashes
- Various internal refactors fixed crashes and improved usability
- Tested Windows (setup, portable) & macOS (.app) builds
Key Features
Here is a quick refresher on the key features that separate QFRCDashboard from other alternatives.
Performance
QFRCDashboard is incredibly performant. It’s been designed from day one to have the smallest possible CPU, RAM, and network footprints.
- Written in the high-performance language, C++
- Painting of widgets is done on a deferred, nonrestrictive basis
- NT updates are done as-needed, not periodically
Widgets
QFRCDashboard contains numerous additional widgets alongside the most useful found in Shuffleboard. Some have extra features too.
- Enum widget: change color based on a string value
- Bool/enum widgets have customizable shape options
- Swerve view
- Field2d has customizable robot size
- Powerful, customizable graphs w/ CSV export & multi-value support
UI/UX
QFRCDashboard was never designed with UI eye-candy in mind, but steps have been taken to ensure it is as functional as possible while being non-intrusive. The user experience is designed to be simple without compromising on powerful features.
Planned Updates
QFRCDashboard is in a 100% serviceable and usable state; as a driver I ran with QFRCDashboard for all of our events last year.
However, it would be downright blasphemous to claim it’s complete or perfect. Here are some updates that are planned in the near future
- QML Rewrite
- This will take a long while, but will dramatically improve the smoothness, look & feel of the application
- Documentation on usage
- Improved UX
- Documentation on creating custom widgets
Note that due to the nature of a QML rewrite, this will take priority and the latter two features inherently rely on this being completed first.
Unfortunately, this will take a long time, as I have a significantly less niche project (mirror) in the works.
Regardless, I can promise you that QFRCDashboard’s rewrite will be complete by the time Week 1 rolls around. Check out OpenFitnessPal in the meantime, and know that QFRCDashboard is perfectly usable in its current state.
I’m super glad to continue development of QFRCDashboard for the coming years, and I would be remiss to not give a massive thanks to the incredible people at Team 6032 for taking me in with open arms and a willingness to help with my development efforts of QFRCDashboard and other FRC-related projects, including a scouting app (mirror) and a Phoenix 6-like API for MCs, swerve, etc (mirror). More on those two will come in separate posts down the line; stay tuned.
P.S. due to some odd git log-smashing shenanigans the commit history is janked up. I’ll do my best to get that fixed soon.