# AndyMark CAN Interface Utility

[Link to Downloads Page](/frc-electronics/andymark-can-interface-utility/andymark-can-utility-installer.md)

{% stepper %}
{% step %}

### Run the server

The first step to using the AndyMark CAN Utility is to run a server that is included with the AndyMark WPILib Vendor Library. By initializing any AndyMark CAN devices in a WPILib robot project, the server will be running when your computer is connected to the RoboRIO and that robot code is running.
{% endstep %}

{% step %}

### Connect to the RoboRIO

Enter the team number of the RoboRIO in the team number box.

Click the "ConnectToRio" button to connect to the server running on the RoboRIO. Any AndyMark CAN devices will then appear in the table.
{% endstep %}

{% step %}

### Interact with devices

To interact with devices, click on the device in the table. It will highlight the row of the device. By double clicking on the device's CAN ID or device name, entering the number or name you want, then hitting enter (CAN IDs are limited to 0-63. Device name can include any character, but is limited to 7 characters)

By clicking the buttons with a device selected, you can interact further with the devices.

* "Identify Device" will cause the device to blink its LEDs so you can find the device.
* "Restart Device" will send a signal to the device telling it to restart
* "Start Reprogram" will prompt the user to select a firmware file and initiate the reprogram process

![](/files/8bdf571a867810d47ee07aea7122dd172cf7ba2b)

<details>

<summary>Note on reprogramming</summary>

If you are using device firmware less than 2.2.1 and the WPILib AndyMark vendor dep less than 2026.1.0, updating the firmware using the CAN utility will spike CAN utilization to around 80%. Because of this, reprogramming can take a long time if there are other CAN devices on the bus. Best practice is to update device firmware and AndyMark Vendordep. If you are updating device firmware less than 2.2.1, you should pull breakers for all other devices or just make sure the device you wish to update is the only one on the CAN bus to avoid a very long update process. Once the update is complete and the device is on version 2.2.1 or newer, this will not be necessary

Firmware update progress will be printed into the Driver Station's console

Ensure that you are choosing firmware for the correct device. Uploading firmware for the wrong device will likely render your CAN device inoperable

</details>
{% endstep %}

{% step %}

### Server Setup

The RoboRIO code status message and "Server Setup" tab (4.) is an experimental feature to install the server on the RoboRIO without a WPILib project with the AndyMark VendorDep installed.

If you must use this, make sure some robot code is running on the RobRIO. Then, click "Set Up Server on RIO" button under the "Server Setup" button. This is destructive to Robot Code and the RIO will not run any Robot Code until "Restore Robot Code" is clicked. This will cause the RIO to be able to run Robot Code again and then will reboot.

If there is a failure during this process, you may have to reupload robot code before clicking "Restore Robot Code". You may also have to reformat the RoboRIO
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.andymark.com/frc-electronics/andymark-can-interface-utility.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
