Post #2624032
2026-05-07 04:03 UTC
USB Audio Class 2.0 has been a bit of a white whale 🐳 for me since sometime around 2018. Pretty much necessary for custom USB-based high performance audio hardware.
Today I finally got my own implementation playing smoothly for the first time 🥳 . Still some way to go, but the class implementation itself is solid, I think.
A brief history:
~2018: Hardware based on XMOS, software based on their reference implementation. Smooth playback, but limited flexibility and complicated, non-portable code, and these chips are $$$.
~2022: Try to cost optimize, select LPC5526. Using the reference NXP implementation works, but audio glitches out every once in a while and I never figured it out.
~2024: Imagining a clean-slate implementation, maybe based on CH32V307, but never got beyond a skeleton of code.
~now: Embedded Rust, using the LPC55 hardware I had previously designed, with the usb-device framework and fully custom usbd_uac2 class implementation.
I intend to polish this up and release it, probably along with a reference design.
Replies (0)
No replies.