Skip to content

1. Debugging tool & Hardware interface

Nathan zhou edited this page Jan 27, 2026 · 7 revisions

When creating your software, it is necessary to have a CAN analyzer to look into the traffic. Here are some of the options.

Most of the scripts in this repository are based on python-CAN. To use these scripts, your hardware interface must be supported.

REV Hardware Client + REV Hub

REV Hardware Client 2 removed CAN debugger. Also any REV devices running 26 firmware can't connect to RHC 1.

image image

REV Hardware Client do have a built in CAN Data function which could let you see CAN frame. This is feasible to most FRC Team because of the wide spread of REV product within the community. Pretty much all REV CAN enabled devices (PH, PDH, Servo Hub, Spark) support this function. To use this analyzing function you need to attach USB to your REV device. However you don't need to power the device via 12V as USB is sufficient.

REV device is limited with REV Hardware Client. You can't use python-CAN with it.

image

To use this tool, you'll need to modify python script's adapter setting.

bus = can.Bus(interface='canalystii', channel=0, device=0, bitrate=1000000) #setting if using canalystii zadig is needed. 
bus = can.Bus(interface='gs_usb', channel=0, bitrate=1000000) # setting if using Canable, zadig is needed. 
bus = can.Bus(interface='slcan', channel='COM99', bitrate=1000000) # setting if using slcan, replace COM99 with your slcan Serial port like \dev\ttyACM0 or COM12
bus = can.interface.Bus(bustype='socketcan', channel='can0') # setting if using linux socketcan driver, your CAN adapter talks to linux.

If you are using linux socketcan driver, multiple script can use the same CAN adapter at the same time!

The CANable 2.0 is a small low-cost open source USB to CAN adapter. To use Cangaroo, you need candleLight firmware. To use python-CAN, you needs to setup the right driver using Zadig. Alternatively, you could flash slcan firmware and use slcan mode. However, performance might be degraded.

To flash CANAble firmware, use https://canable.io/updater/

CANalyst-II

image

CANalyst-II provide higher performance than CANAble and the driver is much more reliable. To use this adapter with python-CAN, driver needs to be applied using Zadig. Availability of this adaptor in North America is limited.

esp32-slcan (to be tested)

There are several project on Github that could turn a ESP32 to a slcan adapter. Need to dig further into this.

Clone this wiki locally