CANivore Setup#

Supported Systems#

Currently, the following systems are supported for CANivore development:

  • NI roboRIO

  • Windows 10/11 x86-64

  • Linux x86-64 (desktop)

    • Ubuntu 22.04 or newer

    • Debian Bullseye or newer

  • Linux ARM32 and ARM64 (Raspberry Pi, NVIDIA Jetson)

    • Ubuntu 20.04 or newer

    • Debian Bullseye or newer


Custom bit rates and CAN 2.0 are not supported at this time. The parameters passed into SocketCAN are not applied by the firmware.



Phoenix Tuner X requires a 2023 roboRIO image or newer to configure the CANivore.

No additional steps are required. The roboRIO comes with the canivore-usb kernel module pre-installed.

Linux (non-FRC)#

On non-FRC Linux systems, the canivore-usb kernel module must be installed to add SocketCAN support for the CANivore. The kernel module is distributed through our APT repository. Begin with adding the repository to your APT sources.

sudo curl -s --compressed -o /usr/share/keyrings/ctr-pubkey.gpg ""
sudo curl -s --compressed -o /etc/apt/sources.list.d/ctr<year>.list "<year>.list"


<year> should be replaced with the year of Phoenix Pro software for which you have purchased licenses.

After adding the sources, the kernel module can be installed and updated using the following:

sudo apt update
sudo apt install canivore-usb


To get a robot application up and running quickly, check out our non-FRC Linux example.

Viewing Attached CANivores#

Attached CANivores can be viewed in Phoenix Tuner X by selecting the CANivores page from the left-hand sidebar. You can specify the target system in the Target IP or Team # text box.

Showing where the CANivores page is in the left-hand sidebar


The Phoenix Diagnostic Server must be running on the target system to use the CANivores page.


If you are connecting to CANivores on your local Windows machine, you can enable the CANivore USB toggle and set the target IP to localhost. This runs a diagnostic server within Tuner X so you do not need to run a robot project to communicate with CANivores.

Field Upgrading CANivores#

A CANivore can be field updated using Phoenix Tuner X.

Click or tap on the listed CANivore card:

CANivore root page

The CANivore can then be field upgraded via the dropdown or by manually selected a file:

Showcases the CANivore popup and the field upgrade functionality

Phoenix Tuner X also allows the user to batch field upgrade CANivores from the list of CANivores in the same manner as batch field upgrading devices.

Renaming CANivores#

CANivores can be given custom names for use within a robot program. This can be configured through Phoenix Tuner X on the specified device card.

Setting CANivore name