USB audio codec with S/PDIF output back to projects

A small audio codec was made with an S/PDIF output supporting 32. 44.1 and 48 kHz sampling rate. The reason for this design was that some computers did not have a digital audio output or they did not support multiple sampling rates but only 48 kHz. In practice the sampling rates of played music is automatically converted to supported sampling rates by the O/S of the PC, but this resulted in nasty little clicks when playing music. The PCM2903 USB audio codec from Texas Instruments does support common sampling rates (at least the necessary 44.1 kHz).

The electronical schematic. Only a regulator (5V to 3.3V) is added together with an S/PDIF driving circuit. The digital S/PDIF signal from the PCM2903 is boosted with some logical ports (7400 type) and fed to a (handmade) transformer. The transformer consists of two times 20 turns of wire around a small ferrite bead (approx. 3*3 mm ). an impedance matching circuit is located at the output (some resistors). Using a transformer electricallyisolates the computer from the audio system and thereby prevents leakage current (resulting in noise/hum or even broken inputs/ outputs. I always use transformers for S/PDIF signals, simply because they are very effective and simple to make.

The sound codec on a PCB. The ferrite bead with windings can be seen just to the right and above the PCM2903 chip. For who would like to make the PCB, here is the as-is file and the reflected file, for use with photolithography.

the whole design assembled. The S/PDIF driver is now located on top of the PCM2903 chip. Also an 'operational' LED is added, at the end of the grey wire on the upper part of the housing.

The circuit fits snugly inside the USB-disk housing and the S/PDIF signal is output from the jack connector.


Strangely and most annoyingly still some clicks remained. I found out that the crystal I used (from an old USB stick because it was very tiny) was not accurate enough. Replacing this crystal with a better one did the trick.

Presumably this was also the cause of the whole problem? Perhaps the oscillator from the sound card is not precise enough for the DAC I use, or the oscillator in the DAC is a little off? Who knows, it is solved for now.