Skip to main content
Visitor II
July 1, 2025
Solved

Getting TinyUSB UAC2.0 Multi-Channel Audio Working on STM32H7S78-DK High-Speed Port

  • July 1, 2025
  • 2 replies
  • 1719 views

Hey everyone,

I’m working on a USB audio project using TinyUSB on my STM32H7S78-DK Discovery board, and I’ve hit a wall with UAC2.0 on the High-Speed port. I’m hoping someone here has experience with this setup and can point me in the right direction!

What I’ve Achieved So Far
Board: STM32H7S78-DK (three USB-C ports)

Programmer

Full-Speed (USB FS)

High-Speed (USB HS)

TinyUSB ported successfully to the board

CDC example works perfectly on the Full-Speed port

Attempted UAC2.0 on Full-Speed port, but Windows rejects it

Windows insists on at least a High-Speed device for USB Audio Class 2.0

What I’m Trying to Do
I want to stream multi-channel audio (UAC2.0) over the High-Speed USB-C port. Unfortunately, I can’t get TinyUSB’s UAC2.0 example to enumerate or work on HS. The descriptors seem correct, but Windows doesn’t recognize the device as a valid UAC2.0 HS audio interface.

What I’ve Checked
Clock configuration – HS PHY clock is enabled, and I’ve verified 480 MHz operation.

Pin mapping – USB1 HS D+/D– pins mapped correctly to the C-connector.

Descriptors – I’m using the TinyUSB UAC2.0 sample descriptors with multiple streaming channels.

Device speed – USB Analyzer shows enumeration on FS rather than HS when plugging into the HS port.

Questions for the Community
Has anyone got TinyUSB UAC2.0 running on an STM32H7 HS port?

Are there any special tweaks to the CubeMX/HAL setup for HS PHY on this board?

Descriptor pitfalls or common mistakes that prevent HS enumeration?

Recommended debugging tools or steps for USB HS on STM32?

Any guidance, code snippets, or pointers to example projects would be hugely appreciated! Thanks in advance for your help.

    This topic has been closed for replies.
    Best answer by FBL

    Hi @TripleAAA 

    ST doesn't support TinyUSB as native stack. However, it is implemented in this X-CUBE-AUDIO-KIT as third party tool.

    2 replies

    Super User
    July 1, 2025

    Can you ask on Microsoft forum or Stack Overflow to confirm that Windows requires high speed for UAC 2.0?

    FBLAnswer
    Technical Moderator
    July 1, 2025

    Hi @TripleAAA 

    ST doesn't support TinyUSB as native stack. However, it is implemented in this X-CUBE-AUDIO-KIT as third party tool.

    TripleAAAAuthor
    Visitor II
    July 1, 2025
    Yes, that's correct — I specifically chose this development board so I could make use of that functionality. When using LiveTune, I’ve been able to get UAC2.0 working, but only with two channels (stereo in and out).
    However, I'm struggling to figure out how to move forward from there. I've checked the documentation thoroughly, but I can't seem to get beyond the basic setup. It's possible I'm overlooking something.