ES9038Q2M Board

Regarding Dimdim's comment, it is true that only one MCU can control the I2C bus at one time. Depending on what registers you want to change, the MCU may never look at them after they are changed so settings may stick until the next power-cycle. If the MCU is disconnected from the I2C bus while the dac is running, it just keeps trying until it can talk to the dac chip again. Once reconnected it just continues as though nothing happened. For that reason I added a small relay to my Arduino to seize control of the I2C bus from the MCU, and then return control to it after I changed any settings I wanted try. The relay board can be seen in some of the pics attached to one of the posts I linked to.
 
Hi potstip,

Yes, that is correct. There is also a bit in register 13 that is used to enable/disable harmonic compensation as configured by registers 22 thru 25.

Conceptually, there is a 16-bit signed integer for H2 and likewise for H3. Since we can only write 8-bits at once over I2C bus, the 16-bit integers must be divided into a high order byte and a low order byte, then written to two different 8-bit register addresses. The MSB of the high order byte is the sign bit in 2's compliment form.

Also, there is some Arduino code for setting H2 and H3 in the I2C test program I share from my dropbox.
 
Last edited:
Thanks i download it but i want to fine tune them to achive lowest distortion performance. How we can test such a small value effects on H2 and H3 and overall distortion performance?
I have olivine 2 sound card much better then EMU-404 but it is still not enough;
OLIVINE-2 ADC - ALTOR AUDIO

I saw some folks add opamp to increase distortion i guess to see H2/H3 compensation effect but is it really works?
 
Last edited:
The effect works pretty well for the purpose of correcting component mismatches in an output stage.

It is correct that a notch filter can be used with a sound card to show low level harmonic distortion. Possibly, a low distortion make-up gain amplifier could be needed for after the notch filter.

Regarding the H2/H3 compensation, John Westlake said he didn't like the sound of the DSP processing for that. Said he prefers not to use it. OTOH, I used to to see how small of a change in distortion was audible when playing music. The IMD produced by such a nonlinearity can be audible with some practice even at pretty low levels. Of course, YMMV.
 
Last edited:
Hi Daniel,
That clock isn't an audio clock. Its specified like clocks used in some kinds of communication systems where jitter below 12kHz (offset from the carrier) doesn't matter. Many people believe it does matter for audio.

For audio clocks, the data sheet should hopefully show phase noise measurements at least down to 10Hz or 1Hz. Perfectionists may measure down to .1Hz. Compare the numbers for any clocks you might be interested in. That said, IIRC, NDK SDA series clocks are good low cost audio clocks that are not fully specified that way in their data sheet. There is an NDK (non-SDA series) 80Mhz clock some people use for dacs. They are available from diyinhk.

Also, ES9038Q2M doesn't have to use a 100Mhz clock. That's just to get the maximum range of playback sample rates.
 
Last edited:
Somewhere, can't find it again, I read that someone put a 133 MHz oscillator togheter with a es9038. I Think there was a problem but change to 125Mhz solved it.
And I think, could be wrong, that he did hear a upgrade in SQ from 100Mhz.
Could that be correct? Can a faster oscillator like 125Mhz make the SQ better?

BR// Daniel
 
Thanks i download it but i want to fine tune them to achive lowest distortion performance. How we can test such a small value effects on H2 and H3 and overall distortion performance?
I have olivine 2 sound card much better then EMU-404 but it is still not enough;
OLIVINE-2 ADC - ALTOR AUDIO

Site was redesigned a little bit few days ago, now correct link is:
OLIVINE-2 ADC


To make H2/H3 THD compensation for ES9038Pro, I used (except another ADC) Olivine-2 with the notch filter and gain 10 amplifier (OPA1611), it works.
 
@Daniel,
Don't know about trying a higher frequency clock, never tried it. However, it makes sense that if the chip is specified to run with a 100MHz clock, could be some or most of them could be operated at a little bit higher frequency.

Other than that, how clocks affect dac sound depends a lot on the particular dac chip design. Some people believe the ESS chips sound best run with lower frequency clock but in fully synchronous mode, with DPLL = 0. If it were playing DSD256 or DSD512 then I might prefer that too.

Also, clocks sound better to me when the voltage regulation, bypassing, and PCB layout are all done well. Figuring out what that means may take some experimentation. When I say good voltage regulation, some may immediately think of LT3042/LT3045 datasheet designs. I don't necessarily mean that though. I still get by with LT1763 loaded with a resistor.
 
So far as know, there are no DSD256 A/D converters. Some people convert 16/44 PCM CD audio to DSD256 (or higher). Software to do that is made by multiple vendors, with HQ Player probably being the most talked about.

Hardware conversion to DSD is possible as well. There are a few threads in this digital section of the forum which discuss that.