• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

ESS ES9081 DIY DAC

themrcul

New Member
Joined
May 18, 2026
Messages
3
Likes
5
Hi gents,
I am building a set of speakers and desire to use digital crossovers, with direct amp connections to each driver, necessitating a 4+ channel DAC.
Failing to find a DAC that is available, with decent specs, and without needing to spend thousands, I researched and decided upon designing and building a PCB for the ES9081, as the datasheet seemed approachable (I have done a few PCBs before, albeit not for high-end audio).

I have an old MiniDSP USBStreamer lying around, so I wanted to interface the I2S outputs from the USBStreamer to the ES9081 DAC, and send control/config messages to it via an ESP32 via I2C.

I had mostly finished before I stumbled on @MCH's thread where he designed and build a PCB for the predecessor to this DAC, the ES9080.
He has designed his PCB in a very similar way to the one I have, but I have a few differences, in that I am attempting to electrically isolate the ESP23 and USBStreamer from the DAC, to minimise any kind of electrical noise those boards might introduce to the sensitive ES9081.

To facilitate that, I am isolating the USBStreamer via 2x ISO7740FDWRs and the ESP32 via a ISO1541DR.
I am isolating the USBStreamer and the ESP32 from each other as well, via keep-out zones on the PCB.
And since the USBStreamer does not provide it's own 3.3V via the J1/J2 pins, I am giving the 2x ISO7740FDWRs their own linear regulator so that it is also isolated to it's own ground plane area.

Lastly, the other main difference between our boards is that I am not putting RCA connectors on the board. As I am connecting this DAC inside my own amp chassis I am simply exposing a pad at the end of each channel output for me to solder the audio lines to connect to the amp inputs with.

Before sending to JLCPCB to fabricate it, I just wanted to ask if anyone is ok to have a look at my board design and tell me if they see anything very bad/fixable about it before I send it off to fab?

It will be a 4 layer board to minimise the distance between the top later and the first ground layer. I've tried to follow all other best practices that I know of, such as vias for every ground connection, uninterrupted ground plane (except in the exact areas that ESS recommend to put ground cuts into), and keeping the ground sense lines directly underneath the channel signal lines wherever possible.

But if anyone sees anything they think looks like a very bad idea, I would love to know before I send it off to be fabricated.

Thanks to anyone who can have a look at it for me.

(Red = first layer, yellow = first ground, pink = second ground, green = bottom layer)
 

Attachments

  • ESS ES9081 USBStreamer DAC Fourth Layer.png
    ESS ES9081 USBStreamer DAC Fourth Layer.png
    209.1 KB · Views: 145
  • ESS ES9081 USBStreamer DAC Second Layer.png
    ESS ES9081 USBStreamer DAC Second Layer.png
    192 KB · Views: 112
  • ESS ES9081 USBStreamer DAC Third Layer.png
    ESS ES9081 USBStreamer DAC Third Layer.png
    207.1 KB · Views: 111
  • ESS ES9081 USBStreamer DAC Top Layer Closeup.png
    ESS ES9081 USBStreamer DAC Top Layer Closeup.png
    398.6 KB · Views: 122
  • ESS ES9081 USBStreamer DAC Top Layer.png
    ESS ES9081 USBStreamer DAC Top Layer.png
    213.2 KB · Views: 113
Hey, looks great, thank you for posting and for informing about the new version. The performace specs look great and still at the same price than the 9080 was at launch. Looking forward to see how it performs.

Unfortunately i cannot provide a lot of help because it has been a while and i forgot most of the requirements etc, but i do have a couple of general comments. My apologies :
- I think people in ASR are not much into looking at PCB layouts. You might get more answers in dedicated forums or subreddits. But being this a niche type of device, maybe the best place might be diyaudio.... In any case, for any meaningful review, i think it is best to upload the gerber files.
- the one thing that called my attention (i did not look in detail) was one of the i2c lines crossing between the pads of the isolator footprint. It even looks like it goes not right in the center but closer to one of the pads. Is it within JLCPCB specs? if i remember correctly 4 layers constrains are different to 2 layers, and i believe there should be space enough, but if you haven't i recommend you to double check.
- It cannot be seen in your pictures, but i recommend you to double check if the solder mask makes it between all the pins of the IC. The distance between those pins is very small and you need to get your settings right to avoid pins without mask between them. It happened to me and it was a pain to solder the IC without bridges....

One thing that I found difficult at the time was having the capacitors too close to the main IC. Today that is no problem, but back then i was not very experienced soldering and it was a pain in the neck. Just wanted to let you know to take into account if you plan to hand solder.

How are the programming instructions vs the old 9080? i hope they are more clear because as you can read in my thread, i struggled a bit with that. But well, i am not a good reference i guess.

good luck and keep us posted!
 
Hi MCH, thanks so much for your reply.
I rerouted the I2C line just in case, and I will check the solder mask as well.
As far as I know, the DAC is pin-compatible with the previous gen,. Hopefully that means it is also code-compatible!
I also have the caps quite close to the chip, I have done another PCB with caps a similar distance and I managed to do it, so hopefully it will be the same this time around.

I have made some trim ups and fixes to the board tonight, but haven't finished. So I will finish another night and look at getting the board fabed.
I'll post here if I make any meaningful progress.

Thanks again MCH, your post has encouraged me towards the next step.
 
  • Like
Reactions: MCH
Hello,

I'm around a similar idea, even if not enough time to progress as whished. I'm working slowly on a USB to i2s Bridge based on Esp32-P4, to get TDM 8 channels 16 or 32 bits, 48k or 96k. I would then like to connect this bridge to an ES9081.

Did you progressed on your project ? Do you intent to share the PCB files ? If yes, which software are you using (KiCAD, Eagle, other) ?

Best regards,

JM
 
Hi JM, thanks for asking.
I have been making slow progress on my project, yes.
The boards arrived and I soldered the components on. I have never used solder paste/heat pad before, and I think I applied too much paste around that one pin for channel 1/2 input for the DAC, as the i2s channel 1/2 input to the dac produces no audio - thankfully input channel 3/4, 5/6 and 7/8 work, and using i2c commands I can route the different input channels to different outputs of the DAC, so that is good.

I have it producing audio, and I can configure it's operation using i2c commands. The current stage I am up to is writing a small firmware for an ESP32 S3 (Zero) that connects to the DAC via i2c to configure it. I am part way there - I have gotten it to reroute inputs to different outputs, configured it to use 24bit (the USBStreamer can't do 32bit and the DAC is set to 32bit by default), it can change the filter shapes and volume up/down ramp speeds too, among other things.
So far, it is working well.
I have not used or experimented with TDM inputs, but I have read the datasheet and can see that it is possible.

About the PCB and design itself, I have tidied up my PCB for if I were to do a second build, but haven't fabricated this version, and as such it is untested..
I designed it in KiCad. If I can work out a way to share it I can try to upload it. I am at work now so I can't yet, but I can try later if that helps?
It is designed around a (now out of production) MiniDSP USBStreamer to connect to it, but if you take that connection out and route the necessary pins to your ESP32 that might work well, as long as the ESP32 can guarantee the correct timings expected by the DAC?

Otherwise I am really happy with the audio quality output of the DAC - I haven't done any measurements, nor have I experimented with differential outputs (which I would like to at some point, to get an extra +3dB in SnR and dynamic range), everything is single-ended at the moment.

The point I'm up to with my firmware is getting volume controls to work for all channels in the way I want. Hopefully I can work that out soon.

I wish you the best with your project and if I can upload the files for you to play with I'll try.
Best,
-themrcul
 
Thanks a lot for the update!

If willing to share the files, I'm very interested .I think that you can Zip the KiCad folder and attach it to a post. Or upload the files in GitHub, or through sone shared drive. Many options.

For the soldering, did you used a stencil ? Especially for the ES9081 soldering ?

Congratulations for pushing the project up to that point!
 
Back
Top Bottom