• 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

DANGER

I tested mute operation with 2 Adafruit PCM5102's
Connections were GPIO 0(pin1) to MU on both DACS. Active low
When 1 activated "Begin Test" there was an extremely loud noise, potentially hearing and speaker damaging. Really bad and loud - unaffected by volume setting.
I also got this error (0x03)

Is the mute function working for anyone?

Something on my end? Firmware? Not sure
 
Thank you so much for this. I know this might be going a little bit far – but Is there any chance you could share your designs? :)

The biggest question is: Can aluminum alloy cases made in China be shipped to overseas countries at a low cost?
 
Looks great, can we see the internals?
PCB.jpg

The insides are really simple, just five optical transceivers and the corresponding decoupling capacitors installed.
 
Seriously, y'all with these crazy level DIY skillz,

JUST TAKE MY MONEY please!

Tindie or Etsy, post different I/O configurations "just add your Pico" boxes will sell I promise
 

The biggest question is: Can aluminum alloy cases made in China be shipped to overseas countries at a low cost?
For something like your small case it's not bad. For something larger and heavier it can get significant. It can take some digging through their different sites to find the right one for what you want - the cases are at a different site to the PCBs.
https://jlcmc.com/campaign/aluminum-enclosures
If you could share your designs at their https://oshwlab.com/ site it would be easier for people not familiar with their processes to check costs, and to avoid mistakes when ordering.
 

The biggest question is: Can aluminum alloy cases made in China be shipped to overseas countries at a low cost?
You can get a quotation fast and for free from jlcmc. Last time I checked, shipping wasn't super cheap but was reasonable, and they offer different options. My take is that if you need something custom (CMC) it can be worth if where you live there isn't such service or it is expensive. If you only need a regular box, I don't think it is worth.
 
Hey guys, I’m convinced that our host, Troy (Weeb Labs), has already thought about this sort of thing... so yes, "zergxia's" work is really nice, but maybe waiting a few days or months wouldn't hurt, right? It's up to you.

Personally, the design looks interesting, of course, but my goal with the dspi project is to replicate a "miniDSP nanodigi" setup—just with more optical inputs. I don't know if Troy has thought of everything, so I went ahead and developed a PCB that suits my own needs. However, I have no intention of sharing details about it—out of courtesy, and also because I'm waiting for the next firmware/console iterations.

I’m not short on hardware myself (Nanodigi, Flex8, etc.), which is sufficient for my current needs, so I’m in no rush. How about you?

The main question for me is Troy's return on investment... If he's relying solely on donations, please give generously; I don't feel he's getting enough "coffees" for the exceptional work he's providing us.

Then again, there's a good chance he plans to release actual hardware solutions linked to this project. So, in that case: patience!
 
I think quite a lot of users would be interested if Weeb Labs releases some DSPi kits in the future.
I’m with you on that.
If folks aren't in a rush, they can wait a bit longer. Buying the kit when it's available is also a nice way to give back for all the dedication and heart he's poured into this.
 
As the next step of my home sound system, after testing some PCM5122 combinations (see my earlier post) I decided to make a cost-not-much-object board using a TAD5242. Note that I'm running this balanced since all of my system is balanced. Unbalanced you won't get these results with the chip. Anyway, in addition to the TAD chip I swapped the analog regulator for a not-cheap lower noise regulator. The per-board cost qty 10 at JLCPCB is about $12 before shipping and tariffs (sigh) which almost double the cost.

Results using my QA403 tester below. I've contrasted with my last PCM5122 board, which was pretty good for the chip->

1782909887646.jpeg
1782909968713.png
1782909991549.png
1782910009691.png
1782910043340.png
 
Hey guys, I’m convinced that our host, Troy (Weeb Labs), has already thought about this sort of thing... so yes, "zergxia's" work is really nice, but maybe waiting a few days or months wouldn't hurt, right? It's up to you.

Personally, the design looks interesting, of course, but my goal with the dspi project is to replicate a "miniDSP nanodigi" setup—just with more optical inputs. I don't know if Troy has thought of everything, so I went ahead and developed a PCB that suits my own needs. However, I have no intention of sharing details about it—out of courtesy, and also because I'm waiting for the next firmware/console iterations.

I’m not short on hardware myself (Nanodigi, Flex8, etc.), which is sufficient for my current needs, so I’m in no rush. How about you?

The main question for me is Troy's return on investment... If he's relying solely on donations, please give generously; I don't feel he's getting enough "coffees" for the exceptional work he's providing us.

Then again, there's a good chance he plans to release actual hardware solutions linked to this project. So, in that case: patience!
I do have plans for an "official" plug-and-play device but there are a few core milestones that I need to reach with the firmware before designing it. We are about to have multichannel and slave mode support (spoiler!), followed by external interfaces (I2C, UART, mappable GPIO controls).

Once those major functions are in place, that will determine the shape of the official board and future additions such as ADAT will simply make use of the existing hardware. There are major advantages to a custom board, beyond just the convenience of built-in connectors. We can make use of an RP2350B with much more GPIO and replace the 12MHz XO with a much nicer 24.576MHz VCXO that will enable much cleaner (from an engineering, not audibility perspective) SPDIF and I2S outputs from SPDIF inputs.

Regarding funding, I am relying entirely upon donations and covering things out of pocket where possible. This was never intended to be a for-profit project and I certainly didn't expect to be upending the budget DSP industry! I think keeping the firmware/software fully open source and selling dedicated devices for those who value convenience is a reasonable compromise. :)

DANGER

I tested mute operation with 2 Adafruit PCM5102's
Connections were GPIO 0(pin1) to MU on both DACS. Active low
When 1 activated "Begin Test" there was an extremely loud noise, potentially hearing and speaker damaging. Really bad and loud - unaffected by volume setting.
I also got this error (0x03)

Is the mute function working for anyone?

Something on my end? Firmware? Not sure
I believe this might be a known bug on GPIO 0 and 1 due to contention. Those pins will either be properly freed or made unavailable in the next beta. If you move the External Mute Control to a higher pin like GPIO 4, that should sort it out.
 
I do have plans for an "official" plug-and-play device but there are a few core milestones that I need to reach with the firmware before designing it. We are about to have multichannel and slave mode support (spoiler!), followed by external interfaces (I2C, UART, mappable GPIO controls).

Once those major functions are in place, that will determine the shape of the official board and future additions such as ADAT will simply make use of the existing hardware. There are major advantages to a custom board, beyond just the convenience of built-in connectors. We can make use of an RP2350B with much more GPIO and replace the 12MHz XO with a much nicer 24.576MHz VCXO that will enable much cleaner (from an engineering, not audibility perspective) SPDIF and I2S outputs from SPDIF inputs.

Regarding funding, I am relying entirely upon donations and covering things out of pocket where possible. This was never intended to be a for-profit project and I certainly didn't expect to be upending the budget DSP industry! I think keeping the firmware/software fully open source and selling dedicated devices for those who value convenience is a reasonable compromise. :)


I believe this might be a known bug on GPIO 0 and 1 due to contention. Those pins will either be properly freed or made unavailable in the next beta. If you move the External Mute Control to a higher pin like GPIO 4, that should sort it out.
I am extremely interested in ADAT and slave modes
 
Hi all!

I must say the speed of development of this project is simply astonishing! I supported the project at the very beginning and I had strong plans to be fully involved, but small kids, work and life just don't let me "play"...
Now the kids are off to kindergarten I could have some time free.

One question, how hard would it be to implement some sort of volume control and possibly input switching with an IR remote? I would like to set up 2.1 system with 2 inputs, but it will be in my living room, so far away from hands reach. I can not code to save my life but i can follow a schematic connect thing and other stuff.
I believe this could be interesting addition to this amazing little but powerful project.

Any way, great work @Weeb Labs and others!

Thank you
 
Is this your own design or you bought it assembled?
It's my design. I had it built at JLCPCB. I haven't seen any commercial simple I2S boards that use better chips than the PCM5102 variety and I wanted to see if there was a hobbyist friendly chip. These TI lines of chips all include the analog output amps, which especially for a balanced output design, saves lots of circuitry. The TAD5242 is both balanced and a really simple application circuit - and JLCPCB had inventory.

Here's my 6-channel balanced TAD5242 DSPi system ->
1782980034872.jpeg


Mark
 
Last edited:
I believe this might be a known bug on GPIO 0 and 1 due to contention. Those pins will either be properly freed or made unavailable in the next beta. If you move the External Mute Control to a higher pin like GPIO 4, that should sort it out.
I've been testing the mute function on GPIO11. There's still an issue. When Making any changes to hold and release timers and then pressing "save to flash" there's loud noise/distortion at (it appears) full volume. It mostly happens when making changes when music is playing and then saving to flash.. Pause music first or close and open console and mute function operates properly. Actually any changes made while console is up the problem can occur. The noise is loud and I have a analogue preamp inline with power amp to reduce the volume during testing...

Solution - I just set all External Mute Parameters with amp off and music off. Close and open the console and mute operates without any issues from that point on

The mute feature is fantastic. Just need the one issue sorted out..:)

Pico and DSPi with all the current features along with I2S DACS - AMAZING!
 
Last edited:
I've been testing the mute function on GPIO11. There's still an issue. When Making any changes to hold and release timers and then pressing "save to flash" there's loud noise/distortion at (it appears) full volume. It mostly happens when making changes when music is playing and then saving to flash.. Pause music first or close and open console and mute function operates properly. Actually any changes made while console is up the problem can occur. The noise is loud and I have a analogue preamp inline with power amp to reduce the volume during testing...

Solution - I just set all External Mute Parameters with amp off and music off. Close and open the console and mute operates without any issues from that point on

The mute feature is fantastic. Just need the one issue sorted out..:)

Pico and DSPi with all the current features along with I2S DACS - AMAZING!
This is a very helpful report. I will do some testing tonight. Thank you!
 
I've been testing the mute function on GPIO11. There's still an issue. When Making any changes to hold and release timers and then pressing "save to flash" there's loud noise/distortion at (it appears) full volume. It mostly happens when making changes when music is playing and then saving to flash.. Pause music first or close and open console and mute function operates properly. Actually any changes made while console is up the problem can occur. The noise is loud and I have a analogue preamp inline with power amp to reduce the volume during testing...

Solution - I just set all External Mute Parameters with amp off and music off. Close and open the console and mute operates without any issues from that point on

The mute feature is fantastic. Just need the one issue sorted out..:)

Pico and DSPi with all the current features along with I2S DACS - AMAZING!
I have found and squashed the bug. The issue was that when changing External Mute Control settings, it was first muting correctly but then being reinitialized in order to apply the new setting. That released and reclaimed the pin in the unmuted state just before the flash blackout that it was supposed to be suppressing. Oops. :facepalm:
 
No Problem, thanks for correcting the issue. I'm glad that you are in command of this project!
 
Last edited:
You are very welcome!

This weekend is being spent implementing some rather meaty new functionality. As it stands, both UART and I2C control interfaces are now in place and fully functional.

1783215982007.png
1783215993325.png


Extensive testing is complete and the new interfaces have already been committed to the v1.1.5 branch.

Next is a major new feature that has been in the pipeline for a very long term: Control Surfaces! This enables a variety of components such as potentiometers, rotary encoders, push buttons, switches, LEDs and displays to be connected to GPIOs and configured within DSPi Console to control or indicate the state of any system parameter.

I also expect to implement I2S slave mode, TDM8 and ADAT output this weekend. :)
 
Back
Top Bottom