Skip to main content
Associate
July 1, 2025
Solved

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

  • July 1, 2025
  • 2 replies
  • 1722 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.

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

Pavel A.
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?

FBLBest answer
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.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL
TripleAAAAuthor
Associate
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.
Andrew Neil
Super User
July 1, 2025
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.