• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Introducing DSPi | A powerful, user friendly and open source DSP for less than a cup of coffee

Latency is discussed earlier in the thread.

"so it has to be a soundcard...?" I have the same question and for now using it in the most basic USB form.

Can the board be powered with separate PSU then have all future peripheral inputs and outputs functioning along with data only lines from USB?
 
Latency is discussed earlier in the thread.

"so it has to be a soundcard...?" I have the same question and for now using it in the most basic USB form.

Can the board be powered with separate PSU then have all future peripheral inputs and outputs functioning along with data only lines from USB?
In theory this could, one day, be used without USB with a 1.8 - 5.5 V input delivered to the correct pin on the Pico (even potentially a lithium battery input). But as of today, using the current 1.10 firmware, there is no option for audio input other than USB.

Weeb is aware of this and working on further enhancements, like alternative non-USB inputs. But please note that this is complicated because a Pico is a low power digital device so managing different clock domains with a digital input is non-trivial and this requires quite a bit of development. To be determined if there are input boards which implement PLLs, ASRCs, etc. to allow for higher sample rate inputs or mixing of multiple digital inputs (which implies multiple clock domains). If you intend to use this as a SPDIF-to-SPDIF parametric EQ, I would not buy anything until support for that comes online and we all know what components will be needed.
 
So if I have a good audio interface and a good software eq I don't need this? I thought the clever thing was to use it standalone?
Most people including me will use this to introduce a sub out with crossover and delay setting without going down the AVR route or buying an expensive DSP. I like to take the lows off my main speakers.
 
I don't think most people will be using it like that but thanks....I think this will become a great product.
 
I got this wrong too, I used a google search and a generic pin layout instead of using the data sheet, I presumed they would all be the same. The LED was barley visible after correcting the pins, I was getting no output. tried 3.3v and 5v when corrected but I think I fried the LED.
Under hardware I forgot to include the frying the transmitter due to incorrect connection. It's part of the user error case. :rolleyes:
 
Would it be feasible to:
  1. Disable USB as an audio source entirely (retain it only for configuration and control),
  2. Implement S/PDIF inputs via external receiver IC outputting I²S
  3. Add source switching between multiple S/PDIF inputs,
  4. Run the DSPI and S/PDIF output clocked from the selected input’s recovered clock?
In other words, operate DSPi as a standalone digital processor with USB used purely for parameter control, while audio input is exclusively from S/PDIF.
If the system is clocked from the selected S/PDIF input and USB audio is not active, would this eliminate the need for ASRC, since only a single clock domain would exist at any given time?
This is entirely possible. At the moment, I am working on 24-bit SPDIF output and squashing various minor bugs. Once that is in place, SPDIF input is next.

We may be able to mix SPDIF with USB but it is too early to be certain. :)
 
Spent today playing around with the Pico 2 and decided to recycle the rear panel from an old CCC DAC that had been doing absolutely nothing.

I repurposed the connections like this:
  • Old coax S/PDIF RCA is now the sub out
  • TOSLINK is now the stereo out
  • USB Type-B 2.0 is now the PC input
It actually worked out really tidy and looks factory once it is all bolted together.


1.jpg


4.jpg


For the sub output I used:
  • 1 kΩ resistor in series
  • 100 nF capacitor to ground
Signal goes through the 1 kΩ to the RCA centre pin, and the 100 nF cap is from centre to ground at the socket.

I tested it on two subs:
  • BK XXLS400
  • DALI SUB E-12 F
The XXLS400 was not happy at all. The output was super quiet. When I tried turning up the gain on the sub it would give a small thump and basically reset itself. I tried reducing the pre-gain as well but it made no difference, it just did not like something about the signal coming from this setup.

I am guessing the 100 nF cap and the input stage on the BK just did not get along. With the 1 kΩ and 100 nF on the output, I had effectively altered the signal slightly, and it seems the BK did not like it. It felt like either the low end was being reduced more than expected or the input was seeing something it did not like when the level increased, so it tripped protection.

Swapped it over to the DALI and it was perfect straight away. Proper level, no thumps, no resets, behaved exactly how it should.

So same wiring, same 1 kΩ and 100 nF, completely different reaction depending on the sub. Interesting how sensitive some input stages can be.

If anyone has recommendations on a better way to implement the sub output, I am all ears.

Overall though, I am happy. The Pico 2 works, the recycled panel looks good, and with the DALI it is spot on.

Thanks Weeblabs.


5.jpg


3.jpg
 
Spent today playing around with the Pico 2 and decided to recycle the rear panel from an old CCC DAC that had been doing absolutely nothing.

I repurposed the connections like this:
  • Old coax S/PDIF RCA is now the sub out
  • TOSLINK is now the stereo out
  • USB Type-B 2.0 is now the PC input
It actually worked out really tidy and looks factory once it is all bolted together.


View attachment 512943

View attachment 512944

For the sub output I used:
  • 1 kΩ resistor in series
  • 100 nF capacitor to ground
Signal goes through the 1 kΩ to the RCA centre pin, and the 100 nF cap is from centre to ground at the socket.

I tested it on two subs:
  • BK XXLS400
  • DALI SUB E-12 F
The XXLS400 was not happy at all. The output was super quiet. When I tried turning up the gain on the sub it would give a small thump and basically reset itself. I tried reducing the pre-gain as well but it made no difference, it just did not like something about the signal coming from this setup.

I am guessing the 100 nF cap and the input stage on the BK just did not get along. With the 1 kΩ and 100 nF on the output, I had effectively altered the signal slightly, and it seems the BK did not like it. It felt like either the low end was being reduced more than expected or the input was seeing something it did not like when the level increased, so it tripped protection.

Swapped it over to the DALI and it was perfect straight away. Proper level, no thumps, no resets, behaved exactly how it should.

So same wiring, same 1 kΩ and 100 nF, completely different reaction depending on the sub. Interesting how sensitive some input stages can be.

If anyone has recommendations on a better way to implement the sub output, I am all ears.

Overall though, I am happy. The Pico 2 works, the recycled panel looks good, and with the DALI it is spot on.

Thanks Weeblabs.


View attachment 512947

View attachment 512946
Do you have a series capacitor on PDM output? That sounds like one of your subwoofers is not AC coupled and is being fed the DC offset from the PDM output.
 
Do you have a series capacitor on PDM output? That sounds like one of your subwoofers is not AC coupled and is being fed the DC offset from the PDM output.
Exactly like this. I xxl400 lives on my bedroom system and is crossed over using an sr6008 avr via LFE. Never had any issues. I also removed the pdm output from the diy board and placed it on a loose RCA and was getting the same issue.
 

Attachments

  • Screenshot_20260222_191058_Chrome.jpg
    Screenshot_20260222_191058_Chrome.jpg
    34.1 KB · Views: 97
Last edited:
Exactly like this. I xxl400 lives on my bedroom system and is crossed over using an sr6008 avr via LFE. Never had any issues. I also removed the pdm output from the diy board and placed it on a loose RCA and was getting the same issue.
Ah, that is indeed the problem. Most but not all amplifiers are AC coupled. You need to place a 22uF capacitor in series with the tip pin of the RCA jack.

Feeding the PDM with DC offset into a subwoofer that isn't AC coupled would produce exactly the type of protection triggering that you have observed.
 
This is highly experimental but we now have functional 24-bit USB input and 24-bit SPDIF output. I will be capturing some measurements shortly to verify performance.

1771798019347.png


This is handled exclusively by DMA and PIO, so there is no additional CPU overhead.
 
Loopback measurements look quite satisfactory. There remain a few minor issues to address, at which point I will be pushing a new release.
View attachment 513054
Nice. Can you test with some low frequency filters to confirm it doesn’t kill the noise floor?


edit: I suppose if all the DSP is done in the 64-bit float FPUs, then it will ace this test.
 
Last edited:
This is entirely possible. At the moment, I am working on 24-bit SPDIF output and squashing various minor bugs. Once that is in place, SPDIF input is next.

We may be able to mix SPDIF with USB but it is too early to be certain. :)
Can you really recover the clock from SPDIF on the Pico? This would require a digital PLL, wouldn't it?

Why would one want to mix SPDIF in and USB, i.e. what is the use case for that? How would you go about it? Lock to SPDIF and use the recovered clock as the master for the USB input?
 
Can you really recover the clock from SPDIF on the Pico? This would require a digital PLL, wouldn't it?

Why would one want to mix SPDIF in and USB, i.e. what is the use case for that? How would you go about it? Lock to SPDIF and use the recovered clock as the master for the USB input?
At least I am curious how to connect "infinite" amout of Picos to a Mac using up-to 8ch over USB (at 24bits) - I was considering to output duplicates of one SPDIF out channel from one Pico to all Picos exactly as world-clock for an aggregate audio device - IF that is beneficial for Picos as aggregate output device?

Then each Pico can receive unique audio stream from Mac over USB. This would enable scalability to 8, 14, 20, 30... channels to cover any multi-speaker scenario with active crossovers - basically ultimate external DSP to implement crossovers and EQ without the risks that a computer forgets the EQ or mismaps the channels exactly when you did not expect that to happen...

Not sure this is feasible. And not sure SPDIF clock sync is even needed.
 
Back
Top Bottom