CANnectivity: Zephyr-based USB To CAN Adapter Firmware
summary
Zephyr-based open-source USB-to-CAN firmware implements the GSUSB protocol, provides CAN FD support with hardware timestamps and remote bus termination, and runs on 75+ boards with minimal requirements (64 KB flash 60 KB RAM). Validation uses hardware-in-the-loop and native_sim tests driven by Twister and pyusb, exercises three CAN-FD channels, and includes DFU device firmware upgrade; the adapter enumerates on Linux, Windows, and macOS and passes the integrated test suite.
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
43mFeasibility and Architecture of a Dual-Board Embedded System: Yocto & Zephyr Integration
36mUSB Support in Zephyr OS
39mCAN Bus in Control, Automotive and Satellites
45mUSB Support in Zephyr OS
49mHopping on the CAN Bus
54mCantact: An Open Tool for Automative Exploitation
