Elektrine lite

← Feed

@ktims@nonexistent.ca

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.