Skip to content
Development
Skill

/tinyusb-integration

Use when integrating, porting, configuring, or debugging TinyUSB device, host, CDC, MSC, HID, MIDI, vendor class, descriptors, DCD, or USB enumeration issues

From plugin
aix-skills
3976 skills

Claude Code

$ npx -y skills add easyzoom/aix-skills --skill tinyusb-integration --agent claude-code

SKILL.md

tinyusb-integration.SKILL.md
name: tinyusb-integration
description: Use when integrating, porting, configuring, or debugging TinyUSB device, host, CDC, MSC, HID, MIDI, vendor class, descriptors, DCD, or USB enumeration issues

TinyUSB Integration

Overview

Use this skill to integrate TinyUSB by separating board support, USB controller driver, descriptors, class drivers, interrupts, clocks, and endpoint buffers. USB bugs are often descriptor or controller-state problems before application logic.

When To Use

Use this skill when:

  • The user wants to add or debug TinyUSB on an MCU.
  • The issue involves USB enumeration, CDC serial, MSC, HID, MIDI, vendor class, device/host mode, descriptors, endpoints, DCD/HCD, or TinyUSB tasks.
  • The target needs a new MCU/board port or custom USB class configuration.

Do not use this skill when board power, USB D+/D- wiring, or clock source is unverified. Use `hardware-interface-debug` first.

First Questions

Ask for:

  • MCU/board, USB controller, device/host mode, and TinyUSB version.
  • USB class: CDC, MSC, HID, MIDI, vendor, composite, or host stack.
  • RTOS/bare-metal runtime and where `tud_task`/host task runs.
  • USB clock source, VBUS detect, pull-up control, and interrupt routing.
  • Descriptors and `tusb_config.h`.
  • Host OS symptoms: no enumeration, code 10, repeated reset, missing COM port, wrong VID/PID, or transfer failure.

Integration Checklist

1. Prove hardware prerequisites. USB clock, D+/D- wiring, VBUS, pull-up, ESD/protection, and connector orientation must be correct.

1. Configure `tusb_config.h`. Enable only needed roles/classes and set endpoint buffer sizes within RAM limits.

1. Verify descriptors. Device, configuration, interface, endpoint, string, VID/PID, class/subclass/protocol, and composite descriptors must agree.

1. Run TinyUSB task regularly. In bare metal or RTOS, ensure device/host task and interrupt handling are scheduled correctly.

1. Check class-specific behavior. CDC needs line coding/control; MSC needs safe block device hooks; HID needs report descriptors and polling interval.

1. Capture host evidence. Use OS device manager, `lsusb`, USB logs, or protocol analyzer when enumeration fails.

Common Failures

  • USB clock is not exactly valid for the controller.
  • Descriptors report endpoint sizes or counts inconsistent with class config.
  • `tud_task` is not called regularly.
  • Composite descriptors have wrong interface association.
  • CDC appears but no data flows because callbacks are not handled.
  • MSC exposes a block device without safe read/write/sync policy.

Verification

Before claiming TinyUSB works:

  • State MCU, role, class, TinyUSB version, USB clock, and task/interrupt model.
  • Confirm host enumeration with VID/PID and class.
  • Confirm one class-specific transfer: CDC echo, HID report, MSC read/write, or vendor transfer.
  • Confirm descriptor consistency and endpoint allocation.
  • For MSC or firmware update classes, state data-loss safeguards.

Example

User:

TinyUSB CDC 插上电脑没有串口。

Agent:

1. Asks for MCU, TinyUSB config, descriptors, USB clock, interrupt setup, and host OS logs. 1. Checks enumeration and descriptor consistency before CDC callbacks. 1. Verifies `tud_task` schedule and a CDC echo transfer.

Read more
@easyzoom
Ships withaix-skills

AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.

Stars on GitHub

Momentum

stars in total
39
Star history of easyzoom/aix-skills on GitHub, a chart by star-history.com

Other skills on aix-skills.

8051-mcu-debug

8051-mcu-debug

Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…

@easyzoom@easyzoomInstall Skill
avem-integration

avem-integration

Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers,…

@easyzoom@easyzoomInstall Skill
ble-gatt-integration

ble-gatt-integration

Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications,…

@easyzoom@easyzoomInstall Skill
bootloader-debug

bootloader-debug

Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image…

@easyzoom@easyzoomInstall Skill
canbus-integration

canbus-integration

Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing,…

@easyzoom@easyzoomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about tinyusb-integration.

Which coding agents can use tinyusb-integration?
tinyusb-integration installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.