I started streaming music using a Sonos Connect in 2012, and later added a Schiit Modi DAC to improve the sound. When I thought about further upgrading (Sonos cannot do hi-res), I was tempted to go for a Linn Majik DS, but instead discovered the Volumio project. So I sat down and spent some time to assemble the following bits and pieces. Definitely more fun than buying a finished product…
A ES9018K2M DAC PCB from DIYINHK (I replaced the original NE5532 with a OPA2134)
A 23 step stepped attenuator from Valab, 10k log
A homemade power supply, using a 2x15VAC 0.8A transformer (inside a plastic enclosure for insulation), and a DIY PCB supplying 2x 3.3V and +/-12V to the DAC, through low noise LDO’s
A 3$ Ebay DCDC converter to supply 5V to the Raspberry Pi
A Galaxy Maggiorato GX383 enclosure from HIFI2000
The sound? Great! I keep on discovering my music collection over and over again.
Thank you to the Volumio staff for this great project.
Best regards,
Toni
Source: WD Live Book 1TB + Digitus 983A NAS Adapter
Streamer: Volumio 1.51 + ES9018K2M
Speakers: Abacus APC24-23C AMT (active)
Subwoofer: KEF PSW2500
Hi Toni
First of all… awesome and neat project…! Have been itchy to replace my ES9023 DAC with ES9018K2M…
Question pls:
The DIYINHK ES9018K2M is connected to Raspi via I2S directly and no need to use USB XMOS daughterboard, is that correct?
Basically the connection is: RasPi >> 3-wires I2S >> ES9018K2M >> 10K attenuator >> Stereo RCA
Volumio 1.4, 1.5 and 1.51 needs to be tricked to play music through the ES9018K2M. If you select a generic DAC driver, you cannot use it for audio output directly using the GUI.
I did apply the following settings to make it work:
File: /etc/asound.conf
pcm.!default {
type hw card 0
}
ctl.!default {
type hw card 0
}
File: /etc/mpd.conf
audio_output {
type "alsa"
name "Output"
device "hw:0,0"
mixer_control "Playback Digital"
mixer_device "hw:0"
mixer_index "0"
dsd_usb "yes"
}
After that the I2S driver for the RPI-DAC can be used, and the audio output is set to sndrpirpidac.
Please note that the ES9018K2M (at least the DIYINHK PCB) needs +/-12V symmetrical voltage supply for the op amp output buffer (and 2x 3.3V for the DAC itself and the XTAL). You cannot simply replace a ES9023 DAC board, which runs off 5V I believe.
Awesome info for the file setting trick to make ES9018K2M works with Volumio… Tks a lot Toni
Understood with the power supply requirement. I already have an R-Core transformer with 16V-0-16V, 3 X 9V output. And have bought that DIYINHK ultralow noise 12V-0-12V and 2 X 3.3V regulator for the DAC. The other last transformer output I will just regulate with LT3080ET for RasPi 5V supply.
Tks again mate for the info.
Toni, really a great job
I saw the kit ES9018K2M a few days ago and I was thinking to upgrade from the 9023 audiophonics.
Two question:
1 - About DSD reproduction. Have you tried with DSD64 or DSD128 well as the usual frequencies 44 192 kHz ? Without resampling, of course.
2 - How much is the DIYINHK PCB power consumption?
Leopoldo
toni, very nice job. And thanks for posting the tweaks to get the K2M to work with the Pi’s I2S - been looking for that to try the Pi’s I2S for comparison to the USB out of an Alix.
Ever considered trying the K2M’s built-in 32-bit volume control via the Hifiduino implementation on the same K2M? Great marriage of Arduino and hifi that gives you full control of all the filter and volume options on the ESS chip. Plus a display and remote control.
Would be interesting to compare sound quality via the ESS as against the Valab.
sorry for the delay. I was away on business for a couple of days.
1 - About DSD reproduction. Have you tried with DSD64 or DSD128 well as the usual frequencies 44 192 kHz ? Without resampling, of course
FLAC 96kHz/24bit and 192kHz/24 bit works. DSD files are being displayed in the library, but play back over I2S seems not to be supported with 1.51. The time isn’t advancing, Volumio will always show 0:00. Please note that I only tried a single DSD file (“07 - David Elias - Acoustic Trio - Rodeo On A Ridge (DSD64).dsf”) which is available for free download.
2 - How much is the DIYINHK PCB power consumption?
I’m afraid, I never measured. I am generating the 2x 3.3V through dedicated LDO that are supplied from the 12V rail. I calculated both heatsinks to work up to 300mA current on each 3.3V output (Pd=(12V-3.3V)*0.3A), because that’s what DIYINHK says on their website (one channel >300mA, the other >100mA - I doubt the “>” sign). In reality the current consumption has to be considerably less, because the heatsinks don’t heat up at all.
Ever considered trying the K2M’s built-in 32-bit volume control via the Hifiduino implementation on the same K2M? Great marriage of Arduino and hifi that gives you full control of all the filter and volume options on the ESS chip. Plus a display and remote control.
Thank you for bringing it to my attention. Looks interesting. Right now I’m pursuing a different project (a Volumio box with integrated Class D amp and ES9023), but when I feel like doing a bit of software, I’ll try to implement the I2C volume control in the Raspberry itself. No additional hardware, except 3 wires for bit-banged I2C.
the enclosure is the Galaxy Maggiorato GX383 model from HIFI2000. It did cost me 115 EUR including shipping and CNC customization of the rear panel. Not exactly cheap, but a very well made enclosure, and good looking, too.
Hi, I followed the instruction on page 1, but got the message below in MPD.log. Volumio starts up fine, files are just not playing. Any clues?
…
ALSA lib pcm_hw.c:1667_snd_pcm_hw_open) Invalid value for card
Mar 20 19:16 : alsa_output: Failed to open “Output” [alsa]: Failed to open ALSA device “hw:0,0”: No such file or directory
Mar 20 19:16 : output: Failed to open audio output
Mar 20 19:16 : player: problems opening audio device while playing “USB/01-Hotel California.flac”
…
How interesting! I am considering almost the same. My ideal setup:
NAS → GB LAN → Banana Pro → I2S (music) / I2C (volume) → ESS9018K2M DAC (Dyihnk or …?) → Hypex nCore → speakers.
The first issue is that there is still no official Volumio support for the Banana Pro yet.
Do you have any reference for the sound quality? ES9018? AK4399? Linn Majik DS(i)?
I would be interested to build one of these. I am currently experimenting with AK4399 with very satisfactory results, but I need an XMOS USB–>I2S board to make it work and I would like to use I2S directly. Now stepping up from single AK4399 to dual.