ferrocan

Open firmware for USB to CAN adapters

ferrocan is gs_usb firmware in Rust for STM32-based adapters. It speaks the protocol of candleLight and Linux's gs_usb driver, so SocketCAN works with it out of the box.

Flash an adapter Source on GitHub

Adapters

AdapterChipCANImage
DSD TECH SH-C30A, SH-C30GSTM32F072 (bxCAN)Classic CANsh-c30
DSD TECH SH-C31ASTM32G431 (FDCAN)CAN FDsh-c31

What it does

Installing it

In Chrome or Edge, flash it from this site: plug the adapter in, pick it, and the flasher restarts it in its bootloader, saves the firmware it had, writes ferrocan, checks it and starts it.

Elsewhere, use dfu-util and the images of a release; the repository's scripts/flash.sh does the same steps.

Checking an image

Each release lists the SHA-256 of every file, and its images carry signed build provenance from GitHub Actions:

gh attestation verify ferrocan-0.1.0-sh-c30.bin -R ferrocan/ferrocan

The images are reproducible: scripts/release.sh, with the toolchain and dependencies the repository pins, builds the same bytes on any machine.