RPi B+ and ES9018K2M DAC: can't get it to work!

Hi guys,

After reading Toni’s post, I bought the ES9018K2M DAC board from DIYINHK, together with the required 12v and 3.3v power supplies. However, I can’t get it to work though with a Raspberry Pi B+ and Volumio.

Problem: I get extremely distorted sound when trying to play back most files. Noise first appeared to be completely random, but after careful listening I now believe there is some relation to the noise pattern and the rhythm of the song being ‘played’. When playing back a 24bit 96 kHz file and cranking up the volume of my amp, I can hear the song faintly playing, overlayed with noise and cracks.

Obviously, that is not what I was hoping to get from the ES9018K2M DAC!

Here is what I have done so far to try to get the DAC to work:

  1. I need to use the Volumio 1.55 image, as the RPi firmware that comes with the previous versions does not work with the RPi B+ and I do not have an RPi A or B to use rpi-update. First step was to downgrade to kernel 3.12.35, so that I have ethernet connectivity on the RPi B+.

  2. After that, I followed the steps described here (es9018k2m-based-streaming-solution-t2087.html) i.e. connected the I2S pins to the DAC; modified /etc/modules; /etc/asound.conf and /etc/mpd.conf as described:


#snd_bcm2835 snd_soc_core snd_soc_bcm2708_i2s bcm2708_dmaengine snd_soc_pcm1794a snd_soc_rpi_dac


pcm.!default { type hw card 0 } ctl.!default { type hw card 0 }


[code]follow_outside_symlinks “yes”
follow_inside_symlinks “yes”
db_file “/var/lib/mpd/tag_cache”
sticker_file “/var/lib/mpd/sticker.sql”
log_file “/var/log/mpd/mpd.log”
pid_file “/var/run/mpd/pid”
music_directory “/var/lib/mpd/music”
playlist_directory “/var/lib/mpd/playlists”
state_file “/var/lib/mpd/state”
user “mpd”
bind_to_address “any”
port “6600”
zeroconf_enabled “yes”
zeroconf_name “volumio”
samplerate_converter “Fastest Sinc Interpolator”
volume_normalization “no”
audio_buffer_size “2048”
buffer_before_play “20%”
filesystem_charset “UTF-8”
id3v1_encoding “UTF-8”
gapless_mp3_playback “yes”
auto_update “no”
group “audio”
max_connections “20”

decoder {
plugin “ffmpeg”
enabled “yes”

input {
plugin “curl”

audio_output {

             type           "alsa"
             name           "Output"
             device         "hw:0,0"
             mixer_control  "Playback Digital"
             mixer_device   "hw:0"
             mixer_index    "0"
             dsd_usb        "yes"
             dop            "yes"


  1. The RPi-DAC I2S driver is used and sndrpirpidac is selected as audio output device in the mpd GUI. Resampling is disabled. Aplay -l shows:
  1. On paper, everything seems fine. I shortened the I2S jumper wires to 2-3cms (although user Toni described using 10cm jumper wires with no problems), but that did not have any effect.

  2. To rule out a bad soldering connection, I checked all the soldering points on the DAC board and they look as they should.

  3. The voltage outputs of the PSUs for the DAC are as specified.

  4. After reading https://volumio.org/forum/failed-open-audio-output-t1417.html, I measured the SMD resistors on the DAC board and they are up to spec (i.e. 20k)

  5. I tried to get the DAC to work in Runeaudio and get exactly the same noise problems.

  6. I rechecked (and rechecked again) that I connected the correct pins of the RPi to the DAC:


Right now I am really at a loss and do not know what else I can try to get the DAC to work. As a few users on these forums have reported to get the ES9018K2M DAC to work with an RPi B+ and Volumio, I really hope someone can chime in and point me in the right direction!

Thanks a lot in advance!

OK, I tried using a new image of Volumio 1.51 and kernel 13.12.35+ but it still doesn’t work :frowning:

Does anyone have any suggestions or should I give up on this DAC to work with the RPi and Volumio?

I have same problem with ES9018S DAC and Volumio/Rune distributions.
Only Archphile 0.99.2 work.
You mus edit i2s.conf as before.