CANnectivity: Zephyr-based USB To CAN Adapter Firmware
summary
A Zephyr-based USB-to-CAN firmware implements the GSUSB protocol and adds CAN FD, remote-controlled termination, hardware timestamps and DFU updates, targeting any board with a USB device controller + CAN. It needs ~64 KB flash and ~60 KB RAM, supports Linux, Windows and macOS, and builds as a module for reuse. Testing uses Twister with pytest/pyusb and native_sim to run hardware-in-loop and simulated runs (three CAN‑FD channels) and a live demo shows three passing test suites. Zephyr-based USB-to-CAN firmware GSUSB protocol
AI-written summary · about
chapters (27)
- 0:00CANnectivity project intro
- 1:47USB to CAN adapters needed
- 3:11Limitations of existing solutions
- 5:44CANnectivity firmware goals
- 7:08Zephyr RTOS for this project
- 8:12Early protocol challenges
- 10:24Choosing GSUSB protocol
- 11:29CANnectivity firmware features
- 15:45CANnectivity hardware needs
- 17:34Zephyr board config
- 18:59Advanced board config
- 20:47Firmware config with Kconfig
- 21:49USB vendor and product codes
- 22:32GSUSB class details
- 24:18Build and flash firmware
- 25:45Custom test hardware
- 27:14Firmware architecture
- 29:00Dual USB device stack
- 31:09Reusing GSUSB class
- 31:56Device firmware upgrade
- 33:00Testing strategies
- 36:58Hardware-in-the-loop testing
- 38:23Native simulation testing
- 39:48Live testing demo
- 42:24Release roadmap
- 43:55Resources and documentation
- 44:22Q&A
related talks
52mCANnectivity: Zephyr-based USB To CAN Adapter Firmware
37mZephyr: A Game Changer for the Automotive Industry
36mUSB Support in Zephyr OS
45mUSB Support in Zephyr OS
39mCAN Bus in Control, Automotive and Satellites
42mCanspy: A Platform for Auditing Can Devices
38mWriting Your Own Gadget with Zephyr OS
54mCantact: An Open Tool for Automative Exploitation
