ES9038Q2M Board

this kind of: NEW ES9028 ES9028PRO DAC DSD decoder high quality assembled board for hifi audio | eBay

apparently the chip sources/sinks 16mA.
in i/v it had 560R FB, which caused clipping at 0dB, so after changing it to 250R, I got 4V p-p after i/v, what then is in the linear region for LME49720 i think.
obviously the stock LPF should be changed as well, with Fc about 50kHZ for DSD.
sound is improved of course, more relaxed without "shattering glass" tint.
what is puzzling, only AD797 gave clean spectrum, for all others 2nd harmonic present.

and I was wondering how then the TH mod ES9038q2m sounds now?
 
Last edited:
That looks like the dac board Mikett is working on in his other thread. Sometimes he mentions something about it here. The main thread for that is here: Moving from 9038Q2M to a 9028Pro board

However, I don't think you want 4v peak to peak out of the IV if it drives the output negative at all. If AVCC is 3.3v then Vref should be 1.65v. If IV swing is 3v peak to peak or a little less is won't ever get down to 0v at the output of the IV opamp. Once you get down close to zero volts the opamp internal output stage will be in the cross over region and distortion should increase. Maybe AD797 has less cross over distortion, don't know?
 
Last edited:
@terry22
Sorry for the very brief reply last night. You are very welcome for the instructions, of course!

I notice you did say you would need help, and that is understandable. Towards the end of the instructions the pictures get very hard to make out how some of the components are arranged, like where some caps or resistors are soldered to ground. Actually, it doesn't matter exactly where they are soldered to ground for our purposes here, but still, it is hard to see from the pictures how I did some of it. Anyway, I assume that may be an area where you need help or perhaps some clarification about what to do.

If I guessed wrong and there are other things that need clarification, that's fine too. I am here to help and can respond to questions whenever you have them.

NOTE: On a slightly different topic, I am trying to figure out how to make it seem more attractive or easier to lift the I2C pins and hack into control of the dac registers. Not sure what the reason is most people don't seem to want to go there. If it is the risks of pin lifting, that would be one reason. If it is learning Arduino programming, that would be another reason. Maybe understanding the data sheet could be reason.

I would like some feedback from people telling me the main reason they don't do that part of the modding. What is the main one or two reasons why not?
 
I have recently received my v1.07 board and played a little with it but a more serious attention to modding will be given in the following weeks. I have left an open conceptual discussion on the design of the output stage and intend to continue it, with practical implications, hopefully, as it still seems to be of interest. But for now I have only questions.
Of these three cheap XMOS boards 1, 2, 3 which one would be considered most appropriate for this DAC, assuming one wants to push things to the possible limit. 1 and 3 have the same pinout, I believe, with 2 having the SPDIF pin in a strange position. I am quite unsure if the Altera changes things for good (there is one review somewhere about power problems and heating issues). All have the F0-F3 outputs, none seems to support DSD512 or PCM>384K (or maybe I'm wrong?).
Next question concerns the AK4137 boars and is, I guess, for Markw4, as he seems to be the only one who had tried the two versions, and DRONE7 and has 3 sub-questions. A. Do we lose something besides the SPDIF and TOSLINK inputs and the more convenient XMOS board montage if we choose the cheap board? Even a small detail? B. In the description of the cheaper board there is this sentence: "When the input PCM signal is lower than 176.4K, it can output DSD64." Same thing in the datasheet. Yet we have two examples of successful 16/44,1 to DSD256. So I should take it as granted it will work, right? C. Does someone expect that the 49MHz crystal in the 768KHz version will have significantly worse characteristics than the 24,xMHz one?
Simple yes or no answers will suffice. Thanks!
 
Last edited:
Very hard to answer detailed questions about XMOS boards. In part it depends which driver they use. To get full features with DSD requires the specially licensed driver that I believe is keyed to the device's USB id numbers. There may also be Chinese clones of Amanero boards which I don't know which chips they use. For the best guaranteed features either go with the original Amanero brand, or the XMOS brand that offers licensed drivers. For diyinhk boards, there is an extra fee for the full feature driver.

However, it doesn't matter to me. I convert all content to upsampled DSD. The content I am starting out with is not native DSD to begin with.

Anyway the functional differences between boards that I am aware of include, 1) drivers that support native DSD, 2) clocks that support 768k but do not support 48k (you have to make a choice), and 3) whether or not a SPDIF output is available (regardless of the pin, which can always be patched).

So, I would say look at the ads for those things and make your choice for what you want.
 
Next question concerns the AK4137 boars and is, I guess, for Markw4, as he seems to be the only one who had tried the two versions, and DRONE7 and has 3 sub-questions. A. Do we lose something besides the SPDIF and TOSLINK inputs and the more convenient XMOS board montage if we choose the cheap board? Even a small detail? B. In the description of the cheaper board there is this sentence: "When the input PCM signal is lower than 176.4K, it can output DSD64." Same thing in the datasheet. Yet we have two examples of successful 16/44,1 to DSD256. So I should take it as granted it will work, right? C. Does someone expect that the 49MHz crystal in the 768KHz version will have significantly worse characteristics than the 24,xMHz one?
Simple yes or no answers will suffice. Thanks!

Regarding the AK4137 boards, the ones I have are the same except TOSLINK and SPDIF missing on the cheap one, and one other difference. The more expensive board has a way to set it for compatibility with XMOS or Amanero boards, but I don't know what that changes. It also has a menu to tell it if the clocks on the board are high or low frequency versions (the low version is for AKM dacs, I think. They are half of the usual clock frequencies). For most or all practical purposes, I think the difference is the SPDIF and TOSLINK. Not sure about differences in the abilities or limitations of either one to auto-detect incoming audio format without any manual selection required. In other words, I haven't tested them for all incoming audio formats, so I don't know. I suspect they both support whatever the AK4137 is capable of.

Regarding which incoming sample rates can be converted to what DSD sample rates, I think that has to with it only wanting to upsample, to some extent. So for example, the lowest DSD output sample rate cannot be used to play much higher sample rate PCM input. However, all that probably doesn't matter because if using a 100MHz clock with the dac, the 11.2MHz DSD sounds the best so it should be used for everything.

Also, the AK4137 filter choices sound most 'right' and the best if harmonic distortion compensation and DPLL bandwith settings in the dac registers have been optimized. Otherwise, the sound may seem a bit brighter than it should due to remaining harmonic distortion products at higher frequencies. (if the bass is weak, a slightly different symptom, that is most often a problem with AVCC.)


EDIT: Earlier I asked for feedback as to why very few people seem to go through with setting up an Arduino to access dac registers. Still would like to know what the main one or two reasons are for not going there? Does the pin lifting to access I2C signal seem too risky? Is Arduino programming considered too hard? Does the Arduino shield board look too complicated to build? Cost of parts? What? Thx! :)
 
Last edited:
this kind of: NEW ES9028 ES9028PRO DAC DSD decoder high quality assembled board for hifi audio | eBay

apparently the chip sources/sinks 16mA.
in i/v it had 560R FB, which caused clipping at 0dB, so after changing it to 250R, I got 4V p-p after i/v, what then is in the linear region for LME49720 i think.
obviously the stock LPF should be changed as well, with Fc about 50kHZ for DSD.
sound is improved of course, more relaxed without "shattering glass" tint.
what is puzzling, only AD797 gave clean spectrum, for all others 2nd harmonic present.

and I was wondering how then the TH mod ES9038q2m sounds now?

Look carefully at the open loop gain of LME49720 and what range they are specified for. . Some other op amps have their open loop gain specified as a function of rail voltage. There is a reason why the first portion of the IV is run higher. It is to optimise the noise performance. The second stage will take it back to line levels. In the first stage one needs to carefully choose the op amp to maintain low distortion at 0dB as you've discovered. Then for the Pro chips, the best op amps are running close to the edge. In my prior post, I will be running at 17V rails rather than 15 for these reasons and my choice sits with the OPA161x series. Their output stage appears to be more linear at the extremes of voltage swing. Can't see a 9038pro doing well, with similar op amps much less LME49720. They will have a hard time swinging the current as well. The 9028pro appears to be at the limit of commonly available popular op amps.
The 9038SQM is running at a fraction of the Pro chips current being a mobile oriented chip. Here the current is not a critical issue but still I would think the noise model holds as well.
 
Last edited:
Look carefully at...would think the noise model holds as well.

Somehow one just kind of senses that Mike must have been the mechanical engineer that he was, prior to retirement. Might have been something close, say maybe civil enginer, but just can't have been electrical. However, we wish him the best with his project. Please let us know how it keeps coming along, Mike. I'm already subscribed to his other thread, Moving from 9038Q2M to a 9028Pro board

By the way, I am not aware of a chip with the part number, ES9038SQM. Think there is an ES9038Q2M though.
 
Last edited:
NOTE: On a slightly different topic, I am trying to figure out how to make it seem more attractive or easier to lift the I2C pins and hack into control of the dac registers. Not sure what the reason is most people don't seem to want to go there. If it is the risks of pin lifting, that would be one reason. If it is learning Arduino programming, that would be another reason. Maybe understanding the data sheet could be reason.

I would like some feedback from people telling me the main reason they don't do that part of the modding. What is the main one or two reasons why not?

Hi Mark,
For me Arduino programming is not an issue.
It's more the pin lifting problem. it is a very small piece...
But i am very interested into hacking the chip :)
 
Hi,

If you plan to test few registers values , you can act as multimaster i2c , no pin lifting is required , once booted , the microcontroller is polling the ess chip on a regular basis, you can send I2c commands between polling commands . since I2C is based on open collector IOs there is no electrical risk.

I've been using it to dump all the ess9038 registers :)
 
Hi occip,

Thanks for the tip. I know I2C is supposed to work that way, assuming the dac microcontroller is coded properly, an unknown when I started. The other implication is that without pin lifting one can't set the dac registers in a way contrary to the way the dac microcontroller sets them, otherwise it will just set them right back where it wants them. However, I found that the registers I usually want to change such as DPLL bandwidth and harmonic compensation are not accessed by the dac microcontroller code, so no conflict there.

Since you say sharing the I2C bus works fine, I think we should try it that way this time. It sill involves attaching wires to the I2C bus which is likely easiest to do at the dac board I2C pullup resistors.

When I do an I2C mod on the dac I am modding now with through hole component boards, I will try it your way and take some pictures for any others who would like to see.

Or, maybe if you have pictures of yours you could post some info to help terry22? Otherwise, no problem I can do it when I get to that.
 
Last edited:
Regarding I2C connectivity as occip has described above, below are pics showing the I2C pullup resistors on the dac board where wires would be soldered on to connect to an Arduino (points outlined in red). Also, shown is a dac pinout diagram with associated pins outlined in red. The dac chip pinout diagram needs to be rotated 180 degrees to be seen from the same perspective as the dac board pic.
 

Attachments

  • I2C Pullups.jpg
    I2C Pullups.jpg
    186.9 KB · Views: 683
  • ! Pinout - I2C annotated.png
    ! Pinout - I2C annotated.png
    140.5 KB · Views: 669
A new ES9038Q2M dac board arrived today. See pic below.

More junk, unfortunately. Looks like maybe they have plans for display and user controls for some later version. Right now there is only a button to change inputs, no other controls not even for volume.

There are 7815 and 7915 linear regulators for the opamp, but the other stuff is powered through a maybe 5v (or maybe 8v or so?) switcher, that then supplies input power for some individual linear regulators. There is a 3.3v linear reg for both AVCC channels and VCCA. Only small SMD bypass caps at AVCC inputs, no electrolytics. Another 3.3 regulator for the other dac chip digital and the clock, and one more reg for the SPDIF and TOSLINK digital signal amps. There is also a bigger 3.3v (or maybe 5v) regulator for the MCU, which looks way oversized for its current job.

There is not ground plane under the opamp and the only ground return from that area is a long trace that connects to the ground plane for all the rest of the board back at the +-15v regulators. Guess they think the opamp will remove any common mode noise between the opamp and back to the dac outputs. Not likely very well with 100MHz clock and a 5532, given what I have observed so far about these Q2M dacs. Not like ESS says to do it either.

Anyway, looks like it would need all the same mods as the other boards, plus the addition of a volume control, and ability to select the dac filters. Junk! is what it is.
 

Attachments

  • NewDAC.jpg
    NewDAC.jpg
    75.2 KB · Views: 647
Hello Mark, I posted a thread earlier about building a DAC. You mentioned I should come over here and ask if you would kindly kindly provide a list of threads to read. ��

Hi Alex,

There is a long list I have of posts that I sometimes need to refer back to. However, the list is getting way too long and I haven't figured out how to trim it down yet. I will attach it below and see if I can find a few to recommend looking at first.

By the way, the first mods I did to my dac were with SMD parts and I have made some changes since then, but it's probably worth taking a look at. Right now we are working on some mods using through hole components for people who don't work with SMD, yet.

Basically, the dac boards we start with need a very, very good power supply for something called AVCC, it needs an output stage added built out of 3 dual opamps, it needs a new clock module, some clean external +-15v power, and ideally, an Arduino to control some of the dac registers. An external AK4137 is added, and I always strongly recommend modding a cheap LME49600 headphone amp for accurate listening tests, especially if one does not have a highly resolving power amp to use.

Some posts maybe to start with could include:
ES9038Q2M Board - Page 38 - diyAudio
ES9038Q2M Board - Page 229 - diyAudio

I should also mention that hi-res pics don't open a full resolution when you first click on them. To see close up details, clock on a pic to open it, then hover the mouse over the lower left corner. If there is a higher res view available, then a white X should appear in the corner. Clicking on the X expands to full size. You can also right click and choose to download if desired.
 

Attachments

  • DAC Thread Post List 2.txt
    7.3 KB · Views: 151
Last edited:
Me too.

Today, my rev. 1.07 Board has arrived. Nex week, I will testing the virgin board.

Great! Hopefully you came across the later posts with occip's comments and showing where to attach I2C bus without any pin lifting.

However, if people want to see how to do pin lifting I could probably make a video showing how in close up detail. Could also show what to do in case a pin breaks off completely, which I have never had happen, but I want to have a plan B ready just in case.
 
Hi Alex,
Very happy to help you and anyone who would like to get started modding a cheap junk dac into a really pretty good one. Maybe as good or better than any ES9038Q2M dac available anywhere at this time. We would like to keep what we know how to do up there in 1st or 2nd place or maybe tied for one of those, although we expect to very determined efforts for 1st place from Allo with their developing Katana dac.

Whenever someone new to this thread and what we are doing comes along, I try to make some effort to update them on where we are at, and what mods we have available to improve the basic cheap dac board. I like to encourage people to try all the mods in order to achieve the best possible sound quality. To make some of that easier we are working on perhaps easier-to-build output stage and AVCC power supply mod versions. As of today we are also going to try an easier I2C bus mod.

What is missing as far as bringing people up to speed is a well organized list of all the mods with pictures to show what they look like, and pointers to where more details about each one can be found.

As I was going through trying to make a list of all the material that would need to be included for a top level overview, it turned out there was more than I was expecting. At one time in the past it was possible to make articles and blogs in the forum, but now those appear to be deprecated legacy pages. So it appears it will be necessary to fit an intro into a few posts. Then perhaps we can point to those few posts later rather than giving people a long list that may be overwhelming and not very useful all at once.

Anyway, it occurs to me that there are some more things I should tell you about pretty soon so I will be thinking about how to write up some posts that will hopefully help now and in the future as useful starting material whenever new people come along with possible interest in joining along with us.

ASIDE: I also need to keep working on an AVCC board project more or less in parallel, but I don't think I am really holding up anyone there yet. If that becomes an issue for someone wanting to proceed with work on the AVCC board, please let me know, whoever it is.
 
Last edited:
Hi Mark, I've just taken delivery of one of these boards, V1.07.
Thanks for blazing the trail and documenting your mods on these boards, I've been following this thread for a while and intend to have ago myself.

I know nothing about arduino or I2C but that's way in the future for me and i'm sure i'll have picked up what i need to know by the time i'm ready for it by following along,

As for mod boards i would much rather use an smd solution myself, anything wrong with smd on perf board with copper foil tape?

Would using a dedicated PSU for all analogue supplies be worthwhile so that analogue gnd can return to this thus keeping analogue and digital gnd separate?

Thanks

Andy