USB to S/PDIF Converter

Device retired early 2017

This was a good project for what it was worth – providing a S/PDIF stream from USB.  Indeed it was at least equal to the revered Berkeley Alpha USB in sound quality when compared side-by side.  However, I subsequently decided that there is really no place for S/PDIF in a modern hi-fi system, so it was relegated to the junkpile (along with the Berkeley).


Asynchronous USB audio in.  S/PDIF audio out.  This is a basic implementation of a Luckit WaveIO card.

A little background

It’s a long and boring story, so I’ll skip it.  Suffice to say, I needed something to replace a very unfriendly Pioneer N-50 Network Audio Player and decided on a Lenovo Tiny PC with JRiver Media Centre installed, a W4S DAC-2 (add. 2020: this W4S PoS was thrown on the tip long ago) and something like a Berkeley Alpha USB in between, but not at a crazy price.

The build

Most people who buy a WaveIO card stick it in a chassis together with a DAC as a USB receiver and run I²S cables to the DAC board.  I’m not that clever (yet), so this just slots in like of any one of those other audiophile rip-off USB-to-S/PDIF devices out there and would connect to any DAC with an ordinary S/PDIF coaxial input.

The WaveIO card could take 5V from the USB cable, but there was a risk of insufficient current from the Lenovo PC’s USB and I wanted to do it cleanly and had no interest in silly battery packs.  A decent power supply is all that’s needed.

This resin-encapsulated 30VA transformer is of course much bigger than necessary, but it’s of high quality and was a good price at RS:

No doubt the WaveIO has decent PSRR, but there’s no harm going to a little extra trouble for the PSU.  Having built many projects with ESP P05 dual rail regulated power supplies and seen the very clean DC output on my scope, I figured on partly populating one to provide a single 5V rail.  With a little guidance from Mr Rod and a front-end modification (now present on his ESP build page) it retains full wave bridge rectification when attached across the paralleled 9V transformer windings, has ceramic bypass caps, a regulator ADJ terminal high-frequency filter cap and short circuit protection diodes:

Vin-Vout across the LM317AT regulator was estimated at around 6.7V and if the waveIO does draw 500mA, then the package would need to dissipate around 3½W, so I stuck that heatsink on it (no washer – just thermal compound).  Each of the two big electrolytics is over-sized at 3,300μF and R1 (the big rail resistor forming a pi filter with them) is 2Ω/2W (for 500mA).

That unloaded voltage test looked fine, but it was suggested that the WaveIO really does need to draw some current, so I loaded it up to 500mA with a resistor only to to find that the heatsink was too small, so I put this together from left-over parts and a strip of copper to fit within the low profile chassis space:

Much better.  That copper is fantastic (heats up very quickly).  A solid enough 5Vdc and the heatsink (including the copper) only climbed by around 20°C.  1V across the 2Ω rail resistor confirmed 500mA.  All good.  😀

Front panel drilled for three red 3mm “Power”, “Host Active” and “Streaming” LEDs.  There are PCB take-offs for bit rate too, but I couldn’t be bothered with those since the DAC can display that info:

Araldite holds them into their 5mm countersunk holes.

Wires for the “Power” LED connect under the power supply PCB with a 390R series resistor.  The other two LEDs are connected to the WaveIO card headers with series (8mA) current-limiting resistors:

To protect the WaveIO from any stray EMI picked up by the long LED leads, the LED cathodes are grounded straight back to the power supply instead of to the WaveIO itself.  Thin Teflon coax was used.  The shields are floating at the WaveIO end, but are connected to ground via the LED cathodes.  No ground loops. 🙂

180Ω series resistors from the LED headers (note GND header pins not used):

Rear panel prepared for the BNC and USB sockets.  Step drill used for BNC and square drill for USB: 😆

Special care was needed to ensure no ground loops at all.  Isolation between the WaveIO PCB and the chassis is by plastic stand-offs since one of the through-plated corner holes (H4) is common to the PCB ground planes.  A plastic bodied right angle PCB mount BNC connector could have been used for the digital output, but the PCB wasn’t really designed to accept such a connector and it would be too difficult to align it with a hole in the back panel anyway, so I recycled this Canare isolating panel mount 75Ω BNC receptacle from the junk box (beware the 50Ω versions often used by silly people!) :

And ran short wires down to the PCB:

Edit: What initially seemed like an error there with backwards wires between the pulse transformer and the BNC socket is OK since the S/PDIF standard doesn’t care about polarity – the waveform is completely symmetric.  It works fine, so I didn’t “correct” it.

The card does of course have I²S outputs and my particular DAC has an I²S input via an HDMI socket, but only ninnies try to run I²S out of a chassis!

No silly “upgraded” USB cables here either!  I just use an HP certified USB2 cable that came with a printer and it’s perfectly fine.  Here’s the plastic USB panel mount Type B receptacle which ensures isolation from the chassis:

USB input

Had to cut the cable down and solder new crimps to it and also file the square hole out a bit to ensure that the metal shell couldn’t possibly touch the chassis:

A ferrite bead on the short heavy gauge DC wires for power supply decoupling and RFI suppression:

And just for fun, I banged out this copper shield from scrap to partition off the WaveIO card.  It probably does nothing, but I like it:

If it works, maybe it shields the card from the mains lines and the PSU.

Now, seeing as I am fussy, I decided to stick this little heatsink on the XMOS chip.  If it draws 380mA this ought to complement the heat dissipation provided by the PCB tracks.


With all that finished, I powered it up and the on-board green LED came on which was a good sign, so I measured the voltage across the PSU’s 2Ω resistor and it read 0.64V, so it supplies 320mA at idle already (including the front panel red Power LED at 8mA).  That seemed feasible, so I took it to my brother’s place and he inserted it in his DEQX system.  He already had the Thesycon drivers installed on his PC, so it was a simple plug-in.  Well it worked and the front panel LEDS did what they were supposed to.  And the music sounded fine.

So where’s it going?

Here’s the Pioneer N-50 (to be relegated to the junk pile):

The Tiny PC will fit nicely right there under the edge of the plasma for a short VGA cable.  The converter and DAC will replace the N-50.

Tip:  To obviate the need to turn the plasma on every time and/or having to use a keyboard or mouse, Windows 8.1 can be configured to power up and sign you on automatically.

That thing has 8 Gig of ram, a small SSD (no HDD required since the music is stored across the network somewhere else).  Super quick and super quiet.  The bottom plate can get a bit warm, so I used those stick-on rubber feet rather than standing it on-end.  Very much cooler and the fan stays practically silent.

Aside:  Considering the typical 30-35dB background noise of a very quiet home music room, I wonder why there is a market for those expensive “silent” passively cooled “audiophile” HTPCs.  No I don’t. 😈 I cannot hear the Lenovo’s fan from where I sit, so it’s silent enough.

DAC2 and WaveIO

More to come…

OK after a few weeks of listening and thoroughly enjoying the sound, I remain convinced that this converter is sonically indistinguishable from the Berkeley Alpha USB.  The image and positioning of performers and instruments is superb and the bass is really something compared to the Pioneer.

And just in case that wasn’t exciting enough, here’s another – briefly showing the BubbleUPnP controller:

Addendum (April 2016):

After a couple of years using this set-up, the only flaky aspects of it seem to be the Lenovo PC and JRiver Media Center.  The Lenovo is certainly not engineered to say HP’s standards and is supposedly a “business computer”.  “Funny business” maybe.  For example the mere plugging in of a monitor by legacy VGA (to free up the DisplayPort for something else) causes it to completely lose the DisplayPort capability – permanently!  One must reset the BIOS to get it back.  Ridiculous!  And MC seems to have become progressively unstable bloatware.  “Fixes” left right and centre cause bugs to appear all over the place.  The WaveIO card is superb and the support is fantastic.  Regular driver updates and all.

Leave a Reply

Your email address will not be published. Required fields are marked *