Skip to content
cccskills
FreePublished on GitHub

connectivity-usb-can

USB and CAN connectivity for Zephyr RTOS. Covers USB device stack configuration (CDC ACM, HID, MSC), CAN controller integration, and professional USB-to-CAN adapter patterns including buffering and protocol packetization. Trigger when adding USB interfaces, implementing CAN bus communication, or building hardware diagnostic tools.

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (6)

  • SKILL.md2.6 KB
  • assets/can_filters_template.csv80 B
  • references/usb_device_stack.md1.8 KB
  • references/usb_to_can.md2.4 KB
  • scripts/can_filter_lint.py2.3 KB
  • skill-meta.yaml526 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Zephyr Connectivity: USB & CAN

Build versatile hardware interfaces using Zephyr's modular USB device stack and robust CAN controller support.

Core Workflows

1. USB Device Stack

Configure and enable standard USB classes for host communication.

  • Reference: usb_device_stack.md
  • Key Tools: CONFIG_USB_DEVICE_STACK, usb_enable(), CDC ACM, HID.

2. USB-to-CAN Integration

Implement high-performance bridge patterns for CAN bus diagnostics and adapters.

  • Reference: usb_to_can.md
  • Key Tools: can_send(), k_msgq, binary packetization, CAN filtering.

Quick Start (USB CDC ACM)

# prj.conf
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_CDC_ACM=y
#include <zephyr/usb/usb_device.h>

void main(void) {
    usb_enable(NULL);
}

Professional Patterns (Adapter Design)

  • Binary Protocols: Use established protocols like gs_usb for robust data transfer over the USB-to-CAN bridge.
  • Hardware Filtering: Rely on the CAN controller's hardware filters to minimize CPU overhead from irrelevant bus traffic.
  • Thread Safety: Use Zephyr's kernel IPCs (k_msgq, k_fifo) to safely move data between high-priority CAN interrupts and the USB processing thread.

Automation Tools

Examples & Templates

Validation Checklist

  • USB enumeration succeeds and the host sees the expected class interface.
  • CAN frames can be transmitted and received on a known-good test bus.
  • Bridge buffering prevents frame loss under burst traffic conditions.
  • Protocol framing between USB endpoint and CAN payload is decoded consistently on both sides.

Resources

  • References:
    • usb_device_stack.md: Configuring USB classes and descriptors.
    • usb_to_can.md: Adapter patterns and buffering strategies.
  • Scripts:
    • can_filter_lint.py: CAN filter table consistency checker.
  • Assets:
    • can_filters_template.csv: Sample filter definitions.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Custom board bringup for Zephyr RTOS using Hardware Model v2 (HWMv2). Covers directory structure, board.yml metadata, core configuration files (Kconfig, defconfig, CMake), and revision management. Trigger when creating new board definitions or porting Zephyr to custom hardware.

The English summary is being prepared. Showing the original description.

beriberikix/zephyr-agent-skills71Updated May 19, 2026

Build system management for Zephyr RTOS. Covers West workspace initialization, manifest management, Sysbuild multi-image builds, Kconfig symbols, and CMake integration. Trigger when setting up workspaces, configuring builds, or troubleshooting build-time errors.

The English summary is being prepared. Showing the original description.

beriberikix/zephyr-agent-skills71Updated May 19, 2026

Bluetooth Low Energy (BLE) integration for Zephyr RTOS. Covers GATT Services/Characteristics, GAP advertising, connection parameters, power optimization strategies, and the professional Send-When-Idle design pattern. Trigger when adding BLE connectivity, optimizing battery life for wireless devices, or implementing custom GATT profiles.

The English summary is being prepared. Showing the original description.

beriberikix/zephyr-agent-skills71Updated May 19, 2026

IP networking fundamentals for Zephyr RTOS. Covers IoT protocol selection (LwM2M, CoAP, MQTT), IP stack configuration and trimming (IPv4/IPv6, UDP/TCP), and professional SDK integration as Zephyr modules using West manifests. Trigger when building cloud-connected applications, optimizing network memory usage, or integrating external cloud SDKs.

The English summary is being prepared. Showing the original description.

beriberikix/zephyr-agent-skills71Updated May 19, 2026

Devicetree management for Zephyr RTOS. Covers syntax, bindings, overlays, Hardware Model v2 (HWMv2), and advanced node/property deletion patterns. Trigger when defining hardware topology, creating overlays, or mapping pins and peripherals.

The English summary is being prepared. Showing the original description.

beriberikix/zephyr-agent-skills71Updated May 19, 2026

Hardware interfacing and peripheral management for Zephyr RTOS. Covers the sensor subsystem (channels, triggers, fetch/get), pin control (Pinctrl) and multiplexing, GPIO management using Devicetree specs, and SoC-level hardware configurations. Trigger when adding new hardware components, configuring pinmux, or developing sensor-based applications.

The English summary is being prepared. Showing the original description.

beriberikix/zephyr-agent-skills71Updated May 19, 2026

See all skills by beriberikix

Report a problem with this skill