Windows CAN Utils provides a Windows-compatible equivalent of can-utils, offering command-line tools to interact with CAN devices via USB-to-CAN adapters.
Currently supported adapters include:
- CANable adapters (best tested with the DSD Tech SH-C30A)
- PCAN adapters
⚠️ Note: If this project interests you, check out our related project CyderVis for CAN data visualization.
- Download the latest
.msiinstaller from the Releases page. - Run the installer and follow the setup prompts.
- If using a PEAK-System adapter, install the optional
PCANBasic.dllruntime dependency (see PCAN-Basic Dependency).
Tip: Run the installer with administrator privileges to avoid driver or permission issues.
PEAK-System CAN adapters require the PCAN-Basic API runtime library.
Other adapters do not require this dependency.
To install:
- Download the latest PCAN-Basic package from PEAK-System.
- Accept the End User License Agreement (EULA).
- Installing or using
PCANBasic.dllimplies acceptance of the terms.
- Installing or using
- Extract
PCANBasic.dlland place it in:- The same directory as the Windows CAN Utils executables, or
- Any directory included in your system
PATH.
- Restart Windows CAN Utils processes to ensure the DLL is loaded.
Disclaimer: Windows CAN Utils is not affiliated with or endorsed by PEAK-System Technik GmbH. Ensure compliance with their license terms.
Opens a CAN connection to a USB-to-CAN adapter and exposes it via a Windows pipe.
The interface can be auto-detected or specified manually. Bitrate usually must be specified unless supported auto-detect exists.
Usage: canserver <driver> [--channel <channel> --bitrate <bitrate>]
Example: canserver gsusb --bitrate 1000000
Supported drivers:
gsusb→ CANable / candleLight adapters (gs_usb protocol)slcan→ Serial-line CAN adapterspcan→ PEAK PCAN-USB/PCI/LAN adapters (requires PCAN-Basic Dependency)
Displays real-time CAN traffic from an open CAN pipe.
Usage: candump <port>
Example: candump can0
Sends the given CAN frame to an open CAN pipe.
Usage: cansend <port> <ID#DATA>
Example: cansend COM5 055#00
Some Canable devices may not ship with the correct firmware.
We provide a flashing tool for devices using the STM32F072 microcontroller (e.g., the DSD Tech SH-C30A).
-
Our Tool: https://cyborg-dynamics-engineering.github.io/canable-flasher/
- Installs canable-fw v2.0, the latest candleLight firmware
- Works only with STM32F072-based devices
-
Alternate Tool: Canable Updater
- Wider device compatibility
- Exact firmware build is uncertain
-
Unplug the adapter from your PC.
-
Toggle the boot switch to
On(see picture).
-
Plug the adapter back in.
-
Open the Canable Flasher and flash the firmware.
- If the device does not appear, see Installing WinUSB Driver.
-
Wait for the flash to complete. (Ignore non-critical error messages.)
-
Set the boot switch back to
Off. -
Unplug and reconnect the adapter.
-
Test by starting a
can_serversession to verify success.
Canable devices on Windows use the WinUSB driver.
This may need to be installed manually, especially when in bootloader mode.
-
Open Device Manager
- Press Win+R, type
devmgmt.msc, and press Enter.
- Press Win+R, type
-
Locate the device
- If missing a driver, it will appear under Other devices.
-
Install WinUSB
- Right-click device → Update Driver
- Choose:
Browse my computer → Let me pick → Universal Serial Bus devices → WinUsb Device → Next
-
Verify installation
- The device should now appear under Universal Serial Bus devices.
Windows CAN Utils is dual-licensed under:
You may choose either license.
By submitting a contribution, you agree it will be dual-licensed under the same terms (Apache 2.0 and MIT), without additional restrictions.
cd win_can_utils
cargo install --path .
- Install cargo-wix:
cargo install cargo-wix
- Download WiX3 binaries from: https://github.com/wixtoolset/wix3/releases
- Extract (e.g.,
C:\Program Files\WiX Toolset v4.0\bin\) - Add the bin directory to your PATH environment variable
- Generate the MSI file:
cargo wix

