HifiBerry and Rpi DAC Pinout

Does anyone have the pinout of the integrated I2S driver ?

I see that the i2s becomes available on the non populated header next to the excisting header.

A softwaremodification makes it available, but i guess that in volumio this is done by enabling the i2s driver.

I would also be interested in the pin configuration because I have another I2S DAC lying around that I would like to try.

You must see what DAC you have. Most standard DAC have 4 signals: BCLK, LRCK, DATA, MCLK.
Raspberry Pi have only 3 signals, and don’t have MCLK which is very big trouble to generate external. I try to made UNIDAC interface board, but this is not easy task.
Some of new DAC like PCM 5102A have advantage because have internal PLL and generate MCLK from BCLK.


OK, understood. I have the I2S DAC from www.diyinhk.com


Only If you have this DAC: “384kHz/32Bit PCM5102A DAC, I2S input, Ultra Low Noise Regulator” from diyinhk.com you can use I2S directly from Raspberry Pi. On this PCB you must shortcut MCLK pin to GND. This enable internal MCLK generation.
If you have any other from this site, unfortunately you must use another MCLK generator.
In our firm we do hard work for version which should have this interface but for now it’s not so simple :frowning:
Picture show our PCB with MCLK generator. But not yet ready for production.

This is indeed the DAC I have! So this means that I have to connect DATA, BCK and LRCK to the P5 header. Can you tell me which pins I should connect these to?


Ok, on this “384kHz/32Bit PCM5102A DAC, I2S input, Ultra Low Noise Regulator” DAC show on this picture:

you have to connect:

+5V - PIN 1 on Raspberry P5
MCLK - Shortcut to GND
LRCK - PIN 4 on Raspberry P5
BCK - PIN 3 on Raspberry P5
DATA - PIN 6 on Raspberry P5
GND - PIN 8 on Raspberry P5

This should work.

Great! Thanks! I will try this.

Here is the P5 I2S pinout.

  • I guess, only on version B (A does not have P5)
  • the power rails (5V and 3.3V you should not use, do not feed 3.3V into!)
  • some DACs works with SCK = BCK (there is not SCK, just the three I2S signals out from BCM chip)

the RPi DAC ( tjaekel.com/T-DAC/raspi.html ) WORKS on Volumio. :sunglasses:

Many thanks for the pinout to enable “384kHz/32Bit PCM5102A DAC, I2S input, Ultra Low Noise Regulator”
This worked for me!!

as far as i understand on the ess9023 diyhnk board you have option to install a oscillator.
if i track down the pcb trace from the pad of the osc i see that connect on the mck line… so… i’m thinking… if i solder on the board the oscillator
(cystek hd957) i can use it on the i2s interface ?

Hi uzylka - glad to hear confirmed that someone got this DAC to work! Did you have to make any changes to the etc/modules file as mentioned elsewhere?

Would appreciate a quick outline of how you got it going as I have ordered one of these DACs.

Thanks in advance.

UPDATE: worked fine with 1.1 once the /etc/modules file was updated as elsewhere on this site. Powered it via an external PS so as to not stress the Pi - although it only draws 48ma.

What would be the pin setup on a BBB?

I have attached the “384kHz/32Bit PCM5102A DAC, I2S input, Ultra Low Noise Regulator” to the Pi using the connections as stated in this thread (connected MCLK to ground on the DAC).

I also changed my /etc/modules to:

and rebooted.

Volumio is now playing music.
However, I cannot play anything higher that 16 bits. When playing 24 bits music, Volumio and mpc state everything is fine (the web GUI shows that the file is playing, so is mpc), but I don’t hear music. 16 bit music (ripped CDs) is playing fine. I have tried FLAC and WAV files.

Any clues?

I figured out what was wrong: the three I2S wires I used to connect the Pi to the DAC were too long (12 cm). I have shortened them to 3 cm, now everything works fine, up until at least 24/192. I have some test tracks of 24/384 from 2l.no/hires, but they intermittently stop and start. In top I see that mpd is using 95% CPU when playing those files, so I guess this is just a bit too much for the little Pi :slight_smile:
24/192 files play with mpd at 16% by the way.