• 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

I will need to purchase an I2S to SPDIF board to interface my LG Soundsync Pi Pico to my DAC.
If I understand well, this project could fill that function (and much more) once I2S input support is implemented ?
 
SPDIF input is now fully functional and stable. There remains some work to do with the PIO divider servo to maximize acceptance of the clock by SPDIF devices but expect a beta soon! :)

1775973343221.png
 
All that is needed are either a couple of resistors and a capacitor or a TOSLINK RX module.
Ah so one of those that have been linked in the thread before as outputs would do?
 
Ah so one of those that have been linked in the thread before as outputs would do?
TOSLINK modules are available in input and output types. They’re unidirectional (LED vs. photodiode), so it is important to choose the correct part.
 
All that is needed are either a couple of resistors and a capacitor or a TOSLINK RX module.
I am mostly clueless about the specifics to correctly wire these inputs/outputs.
I tried to collect the information about that here in the thread. (from @Kingsnake and @Wesseling Audio Lab)
I asked AI and got something about creating a mid rail DC bias, but @Weeb Labs remarks made me try a (much) simpler approach.
Can someone please check and advise what might be wrong, please.
I will correct and we might have all the wiring info in one place. Or you might just do better ;)
What is the correct input resistor for SPDIF input?

EDIT: Updated pic from info below.
Still the circuits for coax spdif input are in question.
The buffer capacitors are supposed to be ceramic 100nF optionally with a bigger one in parallel and close to the toslink elements.


Wiring2.png
 
Last edited:
Not being willing to start soldering stuff, as I'm sure true for many

may I suggest, do whatever it takes to ensure an OTS plug-and-play solution be made available

including a specific easy to just-buy-and-use enclosure?
 
SPDIF input is now fully functional and stable. There remains some work to do with the PIO divider servo to maximize acceptance of the clock by SPDIF devices but expect a beta soon! :)

View attachment 524030
Hi Troy, Is the windows i2s release looking likely today. Can't wait to test.

Just added a toslink receiver to my little custom board too and rotary encode ready
 

Attachments

  • 20260412_103506.jpg
    20260412_103506.jpg
    176.7 KB · Views: 132
  • 20260412_103519.jpg
    20260412_103519.jpg
    223.7 KB · Views: 132
  • 20260412_103531.jpg
    20260412_103531.jpg
    164.9 KB · Views: 126
  • 20260412_103551.jpg
    20260412_103551.jpg
    311.8 KB · Views: 128
  • 20260412_103544.jpg
    20260412_103544.jpg
    257 KB · Views: 127
I am mostly clueless about the specifics to correctly wire these inputs/outputs.
I tried to collect the information about that here in the thread. (from @Kingsnake and @Wesseling Audio Lab)
I asked AI and got something about creating a mid rail DC bias, but @Weeb Labs remarks made me try a (much) simpler approach.
Can someone please check and advise what might be wrong, please.
I will correct and we might have all the wiring info in one place. Or you might just do better ;)
What is the correct input resistor for SPDIF input?

View attachment 524041
For toslink the resistor values are dependant on whether you use 3.3v or 5v.

68ohm is better for 3.3v. I used 5v and 220ohm resistor.

For the toslink receiver I did add two capacitors between vcc and gnd. Not tested yet though.

0.1 µF (100 nF)
handles high-frequency noise
fast cleanup
10 µF
handles low-frequency / supply dips
slow backup
 
Last edited:
For toslink the resistor values are dependant on whether you use 3.3v or 5v.

68ohm is better for 3.3v. I used 5v and 220ohm resistor.

For the toslink receiver I did add two capacitors between vcc and gnd. Not tested yet though.

0.1 µF (100 nF)
handles high-frequency noise
fast cleanup
10 µF
handles low-frequency / supply dips
slow backup
I found this, is it the correct way? Is it 100% needed or is it more like a "just in case" (I'm asking since it's not an easy thing finding single ones of those around here)?

1000022741.png
 
I found this, is it the correct way? Is it 100% needed or is it more like a "just in case" (I'm asking since it's not an easy thing finding single ones of those around here)?

View attachment 524147

For Receiver RX
VCC > 3.3 V or 5 V (check module variant; most accept 5 V internally regulated)
GND > system ground

Required decoupling (important)
100 nF ceramic capacitor
placed physically as close as possible to VCC/GND pins

Optionally:
4.7 µF–10 µF bulk capacitor nearby (good practice, not strictly required, I had one handy so used it, if I never I wouldn't have bothered)

Signal output
OUT > Pico GPIO (any digital-capable input pin)

That is it.

No series capacitor, no RC shaping, no biasing. Make sure sure to check data sheet pins as they vary between models (I fried a receiver)

-----------------------------------------------------------------------------------------------------------------
For Transmitter TX

VCC > 5 V (or 3.3 V depending on module variant; check datasheet carefully)

GND > system ground

Required series resistor (important) signal input
68 Ω (3.3 V operation)

Used when driving the TOSLINK TX directly from 3.3 V logic
Helps limit peak current and improve signal integrity into the LED driver stage

220 Ω (5 V operation)

Used when driving from 5 V supply
This is what I used in my setup provides correct LED drive current and prevents over-driving the transmitter diode

This resistor is in series with the TX data line / LED drive path (not to ground).

Decoupling same principle as RX (needed)

0.1 µF (100 nF)

Handles high-frequency switching noise
Fast local suppression at the module

Optionally:
10 µF

Handles low-frequency dips / supply instability acts as local energy buffer

Both placed across VCC and GND as close to the module as practical

I used CN23454 (TX) Tested working
I used CN23453 (RX) Awaiting update to test
 
Last edited:
Hi Troy, Is the windows i2s release looking likely today. Can't wait to test.

Just added a toslink receiver to my little custom board too and rotary encode ready
Yes. The Windows feature parity update is coming this evening. Once that has been pushed, I will be making slight refinements to the current Firmware v1.1.3-Beta4 and pushing it as a final non-beta release.

Then it will be time to prepare the v1.1.4 beta with SPDIF input, master volume control and interrupt notifications. :)
 
Last edited:
DSPi Console v1.1.3 for Windows is now available! This release brings the application up to feature parity with the macOS version.

Here are the major changes:
  • Output slot assignment: Individually assign any output slot to I2S or SPDIF at runtime
  • Master clock and pin assignment: Toggle I2S master clock output, choose the multiplier and assign clock pins as desired (all outputs must be in SPDIF mode to assign BCK pin)
  • Volume Leveller: Configurable upward compressor that maintains consistent volume levels when watching or listening to content with variable volume levels
  • Update Firmware: Reboot DSPi into bootloader mode in order to flash the firmware

1776046929149.png

1776046862450.png
1776046805510.png
1776046818262.png


As always, please don't hesitate to report any bugs that you encounter. Next stop: SPDIF input!
 
Will it be doable to integrate routing from spdif in to usb, to use the unit as bidirectional recording device?
 
Will it be doable to integrate routing from spdif in to usb, to use the unit as bidirectional recording device?
Bidirectional USB audio is possible but introduces significant complexity, so I'm afraid it will have to wait until some of the more essential functionality has been implemented.
 
Will it be doable to integrate routing from spdif in to usb, to use the unit as bidirectional recording device?
What USB Host were you planning to plug DSPi into? Can you expand on the "bidirectional recording"?
 
I was hoping to be able the device as a tiny spdif IO audio device for use in windows and android to do multitrack recording
 
I was hoping to be able the device as a tiny spdif IO audio device for use in windows and android to do multitrack recording
So USB plugged into Android as host, with the SPDIF connecting to Windows, how? And bidirectional recording as in either host can record from the other??
 
Back
Top Bottom