From zephyr-skills
Configures USB device stack (CDC ACM, HID, MSC) and CAN controllers in Zephyr RTOS for USB-to-CAN adapters, buffering, and hardware diagnostics. Useful for USB interfaces, CAN bus, or diagnostic tools.
npx claudepluginhub beriberikix/zephyr-agent-skills --plugin zephyr-moduleThis skill uses the workspace's default tool permissions.
Build versatile hardware interfaces using Zephyr's modular USB device stack and robust CAN controller support.
Implements Modbus RTU (serial), Modbus TCP (Ethernet/Wi-Fi), and CANopen protocols on Zephyr RTOS for factory automation controllers, industrial sensors, and medical equipment interfaces.
Delivers complete compilable firmware and peripheral drivers (I²C/SPI/UART/ADC/DMA) for ARM Cortex-M MCUs (Teensy, STM32, nRF52, SAMD) with architecture and concurrency guidance.
Build a device driver or protocol handler — I2C sensors, BLE services, MQTT clients, SPI peripherals with interrupt-driven I/O and clean HAL abstraction. Use when asked to "write a driver", "I2C device", "BLE service", "MQTT client", or "sensor integration".
Share bugs, ideas, or general feedback.
Build versatile hardware interfaces using Zephyr's modular USB device stack and robust CAN controller support.
Configure and enable standard USB classes for host communication.
CONFIG_USB_DEVICE_STACK, usb_enable(), CDC ACM, HID.Implement high-performance bridge patterns for CAN bus diagnostics and adapters.
can_send(), k_msgq, binary packetization, CAN filtering.# prj.conf
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_CDC_ACM=y
#include <zephyr/usb/usb_device.h>
void main(void) {
usb_enable(NULL);
}
gs_usb for robust data transfer over the USB-to-CAN bridge.k_msgq, k_fifo) to safely move data between high-priority CAN interrupts and the USB processing thread.usb_device_stack.md: Configuring USB classes and descriptors.usb_to_can.md: Adapter patterns and buffering strategies.can_filter_lint.py: CAN filter table consistency checker.can_filters_template.csv: Sample filter definitions.