Hacking DAB board's I2S digital output for USB streaming

  • Print

SYNC DATA 96KhzThe MonkeyBoard DAB Radio Development has a hidden digital I2S port.  When connected to an I2S to USB converter board, the audio will be converted into digital form for the host computer to process.  This will eliminate any analogue conversion loss and ground loop noise.

Note: This hack requires soldering on your DAB board and when not carried out properly, it will damage your DAB board, miniStreamer or computer.  We also found out that the miniStreamer is a bit fussy on the timing it plugs into the PC and requires a lot of time to make it work, if you are not willing to spend time messing, please avoid this hack.

Introduction

The MonkeyBoard DAB Radio Development board has 4 pins that send out 32bit I2S signal in Master mode.  They are listed as below:

PIN Number  Pin Description 
Pin 22     I2S_SBCLK
Pin 25 I2S_SSCLK
Pin 28 I2S_SDATAO
Pin 29 I2S_SSYNC

The naming convention of these pins is a bit different from WIKIPEDIA I2S definition, in summary

I2S_SBCLK = Bit Clock
I2S_SSCLK = Master Clock (typical 256 x LRCLK)
I2S_SDATAO = Data
I2S_SSYNC = LRCLK

 

What is required?

 

  • DAB Radio Development board
  • miniStreamer
  • 8 core ribbon cable about 6-7cm
  • Virtual Audio Cable (optional if your system already has a mixer that can mix / redirect audio in to other audio out device)

 

How to hack?

miniStreamer

First, follow the miniStreamer’s user manual setting it in slave mode by jumping the master/slave jumper.  When the miniStreamer is connected to the PC’s USB port, it will automatically be detected as a “USB Audio Device” in the device manager.

miniStreamerDeviceManager

 

Once miniStreamer has been detected, double click the "Speaker Icon" at the bottom right of Window's task bar, and set miniStreamer's recording propery to Line as seen below.

 

miniStreamer Recording property


Please do not proceed after this point if the miniStreamer is not detected.  Contact the miniStreamer’s manufacturer for support.

Prepare the ribbon cable is this configuration, GSGSGSG where G is GROUND and S is I2S signal.  We found out that the following configuration works with minimal cable twist:

GROUND
I2S_SSYNC
GROUND
I2S_SDATAO
GROUND
I2S_SBCLK
GROUND

Depending on your skill, solder the cable as short as possible to both boards as shown below

I2S connection diagram


GROUND---------> Pin 7 of miniStreamer connector
I2S_SSYNC--------> LRCLKOUT+LRCLKIN
GROUND----------> Pin 7 of miniStreamer connector
I2S_SDATAO------> DATA Recording
GROUND----------> Pin 7 of miniStreamer connector
I2S_SBCLK---------> SCLKOUT+SCLKIN
GROUND----------> Pin 7 of miniStreamer connector

The finished hack should look like the following image.

DAB to miniStreamer wiring

 

Testing the Installation

If you have a mixer in your PC that can already divert audio in to other audio out device, just skip the Virtual Audio Cable software installation.  Set your mixer to get input from “miniStreamer Line” with 48K 24bit stereo sampling rate (NOTE: do not use SPDIF for I2S), and then select your audio out device, run DAB demo software and tune to a station.

Install Virtual Audio Cable following the instructions from the website.  Once installed, run Audio Repeater (MME), select Wave in “miniSTREAMER” and Wave out “YOUR AUDIO OUT DEVICE”, sample rate 48000, Bits per sample 24, and Channel config “Stereo”, then click Start button.  Select a radio channel from DAB demo software and listen.

 

Audio-Repeater

 

 

DAB PRO2 I2S connection to PCM5102 DAC

 

DAB PRO2 SCLK--------> NOT CONNECTED
DAB PRO2 BCK--------> PCM5102 BCK
DAB PRO2 DATA--------> PCM5102 DATA
DAB PRO2 SYNC--------> PCM5102 LRCK
DAB PRO2 GND--------> PCM5102 GND
DAB PRO2 VCC--------> PCM5102 VCC