Page 1 of 2

[HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 19 Jan 2018, 06:02
by rern
[HowTo] Generic I²S ES9018K2M DAC Board
Tested on RPi3 RuneAudio 0.3 and 0.4b

Image

- ⁓10$ on ebay
- Support up to DSD128
- Output: RCA and 3.5mm headphone
- Power supply: DC 9-25V via 5.5x2.1mm jack (or AC 7V-0-7V to 18V-0-18V - center tapped transformer via green terminal)
- Input: I²S
Image
#1 < RPi #40 (BCM #21) - DATA
#2 < RPi #12 (BCM #18) - BCK (bit clock)
#3 < RPi #35 (BCM #19) - LRCK (left-right clock)
#4 -
#5 < RPi #39 ...................... - GND ground

Image

Setup

Hardware
- Connect I²S wires
- Connect power supply
Image Image

Software
(edited: update as janui advice)
for 0.3
Code: Select all
wget -qN --show-progress https://github.com/rern/RuneAudio/raw/master/DAC_I2S_ES9018K2M/rpi-dac.dtbo -P /boot

sed -i '/"HiFiBerry DAC (I&#178;S)"/ i\
$redis->hSet(\x27acards_details\x27, \x27snd_rpi_rpi_dac\x27, \x27{"sysname":"snd_rpi_rpi_dac","extlabel":"I-Sabre DAC (I&#178;S)","hwplatformid":"08","type":"i2s"}\x27);
' /srv/http/db/redis_acards_details
redis-cli del acards
php /srv/http/db/redis_acards_details

sed -i '$ a\
dtoverlay=rpi-dac
' /boot/config.txt

/var/www/command/rune_shutdown
reboot


for 0.4b
Menu > Settings
    -I²S kernel modules = RPI DAC
    [Apply Settings]
Reboot

for 0.3 and 0.4b
Menu > MPD
    - Audio output interface = I-Sabre DAC (I²S)
    - (optional - if not use headphone) Volume control = Disabled (better quality)
    - (no need - for USB only) DSD support = DSD (native)
    [Save and Apply]

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 19 Jan 2018, 09:57
by janui
Hi rern,
Good how to! I recently tried this setup with an almost identical DAC board. I found that AirPlay would not work, and the sound quality was far less than I expected.
I also found a forum which had published tests on this (or very similar) board with recommended improvements. See here: http://www.diyaudio.com/forums/digital- ... ac-11.html
Most important improvements:
    - Use a very good quality DC supply with an output of 11V to 13.2V (13.2V is the absolute maximum, unless you replace capacitors on the board). 500mA is enough, a switching supply is not recommended, a transformer based regulated supply is best.
    - Replace the OPamp with a TI OPA2134PA. The OPamp is the 8-pin chip which you can see on the board in the socket, replacement is easy, no soldering.
This improves the sound quality significantly, but if you have a recent kernel you can also use the rpi-dac overlay driver. Check that the overlay is available with the command:
Code: Select all
ls -l /boot/overlays/rpi-dac.dtbo
My ears tell me that this also improves the sound (I have no measurement information to back this up), but more important, AirPlay will then work. No modifications to /srv/http/db/redis_acards_details are required.
So in /boot/config.txt
Code: Select all
dtoverlay=rpi-dac
And the hifiberry-dac should be disabled
Code: Select all
#dtoverlay=hifiberry-dac
After modification it is an excellent DAC for the price.
janui

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 20 Jan 2018, 07:54
by rern
Hi janui,

Thanks for the improvement tips.
I’ve updated my post as of your advice.
But in DSD playback, RPI DAC (I-Sabre DAC) setting output a static noise. It still needs bit depth fixed to 24 or 32, the same as for HifiBerry DAC.

rern

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 20 Jan 2018, 12:19
by hondagx35
Hi rern,

- DSD support = enabled

This setting is only for USB-DACs!

AFAIK, there is no standard for DSD over I2S and also no drivers for Raspberry Pi available see here.

- Support DSD64 DSD128

Please ask the manufacturer for a driver and connection scheme.

Frank

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 21 Jan 2018, 04:23
by rern
rern wrote:...
But in DSD playback, RPI DAC (I-Sabre DAC) setting output a static noise. It still needs bit depth fixed to 24 or 32, the same as for HifiBerry DAC.
...

After retrying with a virgin RuneAudio 0.4b, there's no need to have bit depth fixed anymore. It just works as janui advice.

Update: /boot/rpi-dac.dtbo from 0.4b can be used in 0.3 as well without a kernel update.

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 21 Jan 2018, 11:34
by hondagx35
Hi rern,

After retrying with a virgin RuneAudio 0.4b, there's no need to have bit depth fixed anymore.

With DSD option set in MPD config?

It just works as janui advice.

But it is and can be native DSD playback.

Frank

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 21 Jan 2018, 18:50
by janui
Hi rern & hondagx35,
Please ask the manufacturer for a driver and connection scheme.
The manufacturer is ESS, they are very secretive. DAC chip specifications are not published and are only made available to 'partner' companies who sign a non-disclosure agreement. There is a driver for this chip (and the other chip family members, the ES9028 and ES9038), but again it is not available for general distribution or use.
But.... If you know how to build an overlay driver and patch the Linux kernel with a device driver there are driver sources published on the net. The driver name is 'i-sabre-k2m' and if you search for this with 'Arch Linux' you will find it.
janui

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 21 Jan 2018, 19:04
by hondagx35
Hi janui,

The manufacturer is ESS, they are very secretive. DAC chip specifications are not published and are only made available to 'partner' companies who sign a non-disclosure agreement. There is a driver for this chip (and the other chip family members, the ES9028 and ES9038), but again it is not available for general distribution or use.

I know all this and it is the reason why you never will see Rune shipped with driver.

⁓10$ on ebay

You get what you pay for!
So again:
Ask the manufacturer (DAC board not the chip) for a driver!

Frank

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 21 Jan 2018, 20:56
by janui
Hi hondagx35,
You get what you pay for!
Quite, and in this case for a hobbyist who is prepared to do a couple of modifications very good value for money.

But wait a minute, just to put this into context... The ES9028 chip is also available in a very similar DAC board, this is +/-$20 on e-bay. The ES9038 is also there for +/-$35. Now, with these prices I would be concerned about drivers and support. The price/quality balance changes quickly.

In fact, any ESS Sabre based DAC board for more than $15 is a bit of a rip off: no specs, no support, no drivers.
It’s all available, but the chip manufacturer chooses not to publish the information or provide support. This is not just the case for cheap e-bay Chinese boards, it’s also valid for the supposedly 'respectable' and 'responsible' suppliers.

Please do as Frank suggests, “Ask the manufacturer (DAC board not the chip) for a driver!”, or you could also just choose not to buy the products.

janui

P.S. When the ESS Sabre chips are included in USB DAC's they are generally well implemented (the manufacturer does get the specs); the message above is primarily for I2S DAC boards.

Re: [HowTo] Generic I²S ES9018K2M DAC Board

PostPosted: 04 Aug 2018, 12:31
by MidnightExpress
I come across found this page "https://github.com/SatoruKawase/I-Sabre-K2M" that provides files/instructions to build ES90xxK2M overlay driver for RPI.

DietPi and Volumio seem to have successful builds. Would someone from Rune try to build one?

Arthur