Initial Alpha Release of FRC CAN Viewer

I’ve been doing a lot of messing around with the CAN bus lately, and wanted an easy way to decode all bus traffic using the standard FRC CAN format. So I wrote a simple UI app to do it using many of the popular USB to CAN devices on the market, and wanted to publish it for people to use. Its currently a .NET Core Windows UI App, with support planned in the future for Linux and the Raspberry Pi.

Just run the exe, and it will find the first USB to CAN device connected and display all traffic read from the device.

I plan on developing this more in the future, and making it more reliable, as there are some issues in the low level driver for USB disconnects and reconnects currently.

Note this is not currently affiliated with WPILib, and is only a personal side project for me.


Any reason you didn’t make this a shuffleboard plugin instead? (ie cross plat from the get go) Still thanks for sharing…

A shuffleboard plugin wouldn’t be cross platform anyway, as this requires USB hardware which has to be interfaced to at the native level.

Plus I very much dislike Java and have no interest in writing more then I have to, especially in it’s UI frameworks. C# is a much better language for me and doing this, and will be easier to get working cross platform as well.

Fair enough - I’m not enjoying my Java experience either. Need to have official .NET support :slight_smile:

This is AWESOME! Thanks for sharing.

Fun fact: This works with the latest SPARK MAX firmware (v1.5.0 and newer). So if anyone is curious about what the CAN bus is doing, just plug into a SPARK MAX and run this program (just don’t try to run this AND our client at the same time).


How are you making a. NET Core Windows UI program cross platform when the UI portion of. NET Core is not cross platform?

It’s using Avalonia. Windows Forms and WPF are Windows only, but Avalonia works cross platform. It’s new and still has some smaller issues, but its come a long way.

1 Like