2025-12-02 7:52 AM - last edited on 2025-12-02 8:01 AM by Saket_Om
I’m trying to build a UAC2.0 (USB Audio Class 2.0) device on STM32H7, supporting:
After reviewing many threads here, I still haven’t found a complete or working reference.
Here are some related ST Community posts with no clear resolution:
Across all of these, the same question remains unanswered:
Is there a working UAC2.0 reference for STM32H7?
Not to be confused with X-CUBE-AUDIO (last updated 2019). Reference: X-CUBE-AUDIO-KIT
The audio kit focuses heavily on LiveTune and doesn’t explain the folder structure or how to adapt it for UAC2.0 device work. Most forum replies simply say "look at X-CUBE-AUDIO," but there is no clear documentation on how to integrate it into an actual USB audio project.
I looked into:
Both use UAC2.0, but neither is fully functional. There are several issues (audio distortion, buffering, pointer handling, feedback endpoint logic, etc.) that prevent reliable playback, let alone adding recording.
I also evaluated STM32WBA-BLE-USBx Standalone, but porting it to H7 requires major rewrites and may not be compatible with the existing H7 USB stack.
I considered starting from the H7 USBD Audio Standalone UAC1.0 example and updating it manually to UAC2.0, bypassing USBX entirely, but I’m unsure whether this is practical or recommended.
I’m currently unable to move forward with actual development because I’m spending all my time debugging:
ring-buffer logic bugs
incorrect pointer handling
missing wrap-around
feedback endpoint issues
unexplained artifacts (e.g., a loud screech at 4–5 seconds)
Before I continue down another rabbit hole, I need a clear answer:
What is the correct, supported path to get UAC2.0 working on STM32H7?
Any guidance from ST experts would be greatly appreciated. @FBL @JonathanC