I woke up this morning to so many notifications!
Wow, this looks like an amazing amount of effort!
I'm particularly curious though about the limitations of the Pico:
1. it seems to only support USB 1.1, is this what limits your sampling rate or is it the performance of the processor itself?
2. would it be at all possible to add a USB output: the idea being you could plug a DAC or other UAC audio device into it?
3. how hard would it be to extend this into an actual DAC/AMP? (is the pico capable of this? or would you have to connect a seperate chip to it?)
(Thankfully I've bought DACs with inbuilt PEQ functionality, so my questions here are purely out of curiosity)
Thank you!
1. The supported sample rates are 44.1KHz and 48KHz. While high sample rates such as 96KHz are possible, that would effectively halve the number of DSP cycles available without any audible benefit and require additional provisions. If somebody is interested in implementing it via pull requests in the firmware and desktop applications, I would be happy to accept.
2. Adding a USB output is not possible, I'm afraid. This would require creating a nested host with its own UAC drivers and RP2040/RP2350 does not have a USB controller. Handling the required timings for isochronous endpoints in software would be impossible.
3. Take a look at the
Waveshare Pico Audio. It is a hat-style DAC board that readily mounts to the Pico or Pico 2. Not remarkably performant but I have considered drafting my own hat-stlye board with dual TAD5212s. These are high performance (SINAD 104dB), inexpensive DACs capable of delivering >60mW into 16 Ohm headphones.
96kHz support
- More output channels to use it for active XO
- And for a serious Room Correnction FIR filters are essential

I saw here that the platform supports 96kHz, please clarify why you offer 48kHz only.
I'm afraid the RP2040/2350 is not particularly well suited to FIR filtering, with only about 2,000 taps available at 288MHz and 48KHz. Increasing the sample rate would halve the available DSP instructions but wouldn't provide any audible benefit.
More output channels are absolutely on the horizon. When the subwoofer output becomes switchable, this should free the cycles required on core 1 to enable an additional four channels (SPDIF or I2S). This will only happen once I am satisfied with the robustness of the current feature set, though.
Would love someone to make a post on how to add the Digital/Sub outputs.
There are simple diagrams and instructions on the firmware repository. The SPDIF and subwoofer outputs require just a couple of capacitors and resistor.
I will be putting in quite a few hours of development this weekend. At the very least, I want to get board identification and dynamic band/channel allocation implemented.