connectivity-usb-can

Bridge USB device classes and CAN controllers in Zephyr RTOS.

59|13|Updated Feb 7, 2026
One-click install
npx skills add https://github.com/beriberikix/zephyr-agent-skills --skill connectivity-usb-can
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: connectivity-usb-can
Source: https://github.com/beriberikix/zephyr-agent-skills/tree/main/skills/connectivity-usb-can
Command: npx skills add https://github.com/beriberikix/zephyr-agent-skills --skill connectivity-usb-can

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill enables seamless USB and CAN connectivity within Zephyr RTOS, allowing developers to implement a direct USB-to-CAN bridge and diagnostic tooling for embedded projects.

Core Features & Use Cases

  • USB device stack configuration for CDC ACM, HID, and MSC to expose host interfaces and diagnostic channels.
  • CAN controller integration with high-throughput bridging, filtering, and packetization to couple USB data streams to CAN frames.
  • Use Case: Build a portable USB-to-CAN gateway for field diagnostics, logging CAN traffic, or prototyping hardware gateways.

Quick Start

Enable the USB device stack and CDC ACM in your prj.conf, then follow the patterns in references/usb_device_stack.md and references/usb_to_can.md to implement the bridge and validate with a host PC.

Frequently Asked Questions about connectivity-usb-can

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bridge USB and CAN communication on Zephyr RTOS?

You can bridge USB and CAN on Zephyr RTOS by configuring the USB device stack with CDC ACM and integrating a CAN controller, utilizing buffering strategies and gs_usb-like packetization to couple data streams.

What is the best way to build a USB-to-CAN gateway for field diagnostics?

Building a USB-to-CAN gateway for field diagnostics involves using Zephyr RTOS to expose a CDC ACM host interface and bridge it to CAN frames, allowing you to log CAN traffic or prototype diagnostic hardware.

Does this Zephyr USB-to-CAN bridge support HID and MSC device classes?

Yes, the Zephyr USB-to-CAN bridge supports HID and MSC device classes alongside CDC ACM, allowing you to expose host interfaces and diagnostic channels for embedded projects.

What do I need to set up a USB and CAN bridge in Zephyr?

To set up a USB and CAN bridge in Zephyr, you need a Zephyr-enabled project with USB device stack support and a CAN controller, enabling CDC ACM in your prj.conf before applying the bridging patterns.

How does gs_usb-like framing work for CAN packetization in Zephyr?

The gs_usb-like framing in Zephyr works by packetizing CAN controller data to couple it with USB data streams, ensuring high-throughput bridging and filtering between the USB host and the CAN bus.

Can I use this USB-to-CAN bridge for high-throughput logging on a development board?

Yes, you can use this USB-to-CAN bridge on development boards for high-throughput logging, as it implements robust buffering strategies and CAN controller filtering suitable for embedded gateway projects.