ES9038Q2M Board

...mediocre dacs such as 9038.

Please, now. That is not objectively true about the chips, as I think you know. Using it exactly as ESS suggests may be a problem, is that what you tried?

Also, we would rather have you here in a friendly way. We are working on dacs, and trying to avoid the flaming, arguments, etc., that go on in many forums.

However, I tend to speak what I believe to technically true, and I am happy to be corrected if I am wrong. Our member, eziitis, thinks your regulators are great. My high end audio designer friend says your regulator design is a good one for audio, although he talked about known variations of the topology too. I will try it one of these days when I have time to compare regulators. I meant no insult to you by saying your regulators work by way of feedback, which I believe is technically correct. Nothing wrong with that. I accept they are probably excellent regulators for audio circuits.
 
Last edited:
That is not objectively true about the chips
yes its true. Maybe in the future, when you can well design you own DFs, modulators, DACs, you look at this your post and a smile will appear on your face :)

Also, we would rather have you here in a friendly way.
I can`t promise anything, i have almost no time for forums, all the time busy at work designing measuring equipment, and at home doing some "DIY" projects.
 
yes its true.

I don't think so. I know there are FPGA dacs that are some of the best in the world. However, some of the most highly rated dacs in german magazines are still chip dac designs. None in that class are mediocre, unless some new definition of mediocre is being used. They are among the best anyone knows how to make in this day and age. Maybe mediocre within the class of the top 1% of dac designs that exist today. Certainly not mediocre in terms of the overall market for dacs. Of course, I am not saying all 9038 dac designs are good. Many are junk. The best few are quite good, and nothing like most designers would know how to make.
 
Last edited:
I don't know if this is a good idea. But in the future it is necessary to make one large pcb, which will simply be superimposed behind the main one. And all mods will be on it at once (3x ADM, AVCC mod, Output stage). The main thing is to follow good wiring with the correct ground. This will be very useful for beginners who are not so well wielding a soldering iron, something to solder hinged installation.
 
pixel28,
It wasn't clear to me before how you were planning to mount the AVCC board to the dac board. The way you did it, the dac board ground plane probably would have sufficed without adding copper foil to make another low impedance ground plane laying flat against the dac board ground plane. The idea is more that if the AVCC board were to be mounted standing up, then copper foil idea would have been more useful. However, its still fine the way it is.
 
I don't know if this is a good idea. But in the future it is necessary to make one large pcb, which will simply be superimposed behind the main one...

Maybe not be such a good idea. It is good to try to think about where ground currents will be flowing for each subsystem relative to the others. The recommend output stage works well as an extension to the dac board ground plane. If folding over of a parallel board were to occur, then all ground currents would be forced though the hinge, and signal wires would have to run between boards somehow. If the dac board and the added board ground planes were folded very close together, there might be enough differences in ground potential away from the hinged area such that capacitive coupling between the parallel ground planes could have some unintended effects.
 
pixel28,
It wasn't clear to me before how you were planning to mount the AVCC board to the dac board. The way you did it, the dac board ground plane probably would have sufficed without adding copper foil to make another low impedance ground plane laying flat against the dac board ground plane. The idea is more that if the AVCC board were to be mounted standing up, then copper foil idea would have been more useful. However, its still fine the way it is.

Yes, I saw how you did it, and it looks really good. Only one point of contact with a common ground. But I didn’t manage to do that, because the metal body is interfering with me and there remains a small space for action. I do not know how I can put 2 more operational amplifiers to upgrade the output part and a huge film capacitor in the AVCC line ...
 
I do not know how I can put 2 more operational amplifiers to upgrade the output part and a huge film capacitor in the AVCC line ...

Well, there is the way I did it on my first dac. ES9038Q2M Board - Page 38 - diyAudio
It worked, but there was some heating of the opamps, presumably due to some RF getting into them. That didn't seem to be an issue with the 2nd modded dac where wires from the dac outputs were twisted together and run right next to the ground plane to get to the output stage board. I kind of assume the bit of capacitance and inductance added made a sufficient RF filter. Maybe there are other ways too. Don't know if RF heating affects SQ or not, never really tried to isolate out that as a single factor. I did notice that the Iancanada IV output stage boards exhibit the same opamp heating effect as my modded dac#1. Could be adding a few pf of capacitance across the dac +- outputs for each channel, and perhaps a bit to ground as well might reduce the heating, but never tried it to find out.

Regarding the big film cap, the LTC6655 data sheet calls for using film cap(s) at its output to prevent piezoelectric sensitivity to vibration that ceramic caps would have. Film and ceramic are the two choices. My first modded dac had ceramic there, don't know if it affected SQ or not. Never did a test to try and single that out as a factor. That was of course after I did some further modding of the AVCC circuitry. ES9038Q2M Board - Page 229 - diyAudio
 
Last edited:
Hi Mark,


Regarding programming the dac registers for sq improvement, DPLL setting to lowest (1) and hd compensation are as I understand, the way to go. What about Master Mode enable/disable and synchoronous/async or any other that you think will matter? Got arduino, just starting to learn to use it.


Regards.
Kay
 
Hi Kay,

Master mode means that the dac chip will output the I2S clocks (or the one clock for DSD), and the device sending the I2S (e.g. AK4137, RPi, XMOS, Amanero, etc.) must be configured act as I2S clock slave. If the dac chip is set to master mode, the dac has a MCLK divider just for use in that case. It can slow down the I2S clock speed to match what is needed for a file being played.

Synchronous mode means the dac clock will be configured to be the same clock as used for I2S master device, so no ASRC inside the dac should be needed. That is how dacs like Allo Katana work. They have two clocks, one for 44kHz family audio, and one for 48kHz family audio. All the I2S devices operate from the same clock at the same time, synchronously.

The default mode of the dac is asynchronous. That means the incoming I2S can be clocked at any frequency the dac accepts, and the dac will use internal ASRC to resample the I2S to use the dac clock. DPLL is a filter setting used by ASRC.

While we are talking about Arduino and I2C, we should mention protection of the Arduino and the dac chip from accidental damage. The dac chip I2C pins are rated as 5v tolerant, but only when the dac is powered up. An Arduino doesn't want its I2C pins going below ground or above Vcc. Everything should be okay so long as the dac and Arduino are both powered up before connecting I2C, and if I2C is disconnected before powering off one device but not the other.

Since sometimes one may want to reboot or replug one device or the other without disconnecting I2C first, there are at least a couple of way to prevent accidents. There are various I2C isolator chips that can be used. Sparkfun sells a tiny board with one type of chip (a very small chip perhaps otherwise to small to hand solder): SparkFun I2C DAC Breakout - MCP4725 - BOB-12918 - SparkFun Electronics ...which can be purchased at various places. (if using the Sparkfun board, the 1k pullup resistors might be removed since the dac board already has 4.7k pullups.)

What I have been using are Schottky diodes added to the Aduino(s). They will get biased on if SDA or SCL I2C voltages start to go higher than Arduino Vcc (nominally 3.3v or 5v, depending). The dac chips are protected somewhat by the I2C pullup resistors on the dac board, which tend to drain any voltage from Arduino when the dac is off. Also, I never enable the internal pullups in Arduino, which keeps them from being able to overvoltage the dac I2C pins when the dac is powered off. My Arduino program has the constant 'pullups' set to zero (off).
 
Last edited:
I'll try the mcp4725.

A 12-bit D/A? You mean for practice?

As for the Master mode, will it improve sq?

It may or may not. It means the I2S slave will have to send I2S data when the dac clocks says to. If the slave uses a jittery VCO to try to keep up with the dac clocks, it could make SQ worse. (However, I am planning to put my dac in master mode this morning so I can measure when the dac chip thinks the I2C clocks should be in time relative to MCLK.)

By the way, I tried to program lcd display using Arduino Uno chinese knock-off, still not able to.

Which LCD display, the optional one that is made to work with the dac board? If that one, it has an Amtel Mega 168P MCU on it. No telling how it is programmed. You might be able to use a $10 ebay logic analyzer to watch I2C data flowing between the dac board MCU and the display board MCU, but its hard to say if you will be able to decipher what you would need to send.

If you are talking about a different LCD display from somewhere, there are existing Arduino drivers for many common displays if you have a part number. For Arduino | For Arduino Project | Starter Kit | SainSmart – Tagged "Displays" – SainSmart.com

There is also this info: https://www.st.com/content/ccc/reso...df/jcr:content/translations/en.DM00287603.pdf
http://w8bh.net/avr/AvrTFT.pdf
 
Last edited:
I mean the sparkfun dac breakout board you mentioned for protection.

Looks like I may have pasted the wrong link. Sorry about that. It should be: SparkFun Level Translator Breakout - PCA9306 - BOB-11955 - SparkFun Electronics

Anyway, assuming you have a 5v Arduino, it would be connected to port 2 of the isolator (which is the side for the device operating at a higher voltage). Under the documents tab on the Sparkfun page there is a schematic for the board. The chip it uses is PCA9306: http://www.ti.com/lit/ds/symlink/pca9306.pdf
 
Last edited:
Hi Mark,


Am finding it hard to find the exact one you mentioned. Will this below work?


"This 4 Channel logic level converter is a small module that safely steps down 5V signals to 3.3V and steps up 3.3V to 5V. This level converter also works with 2.8V and 1.8V devices. Each level converter in this module has the capability of converting 4 pins on the high side to 4 pins on the low side. There is no specific Input or Output pin ,instead any pin can be used as input or output. This module can be used with normal serial, I2C, SPI, and any other digital signal. Does not work with an analog signal."
Logic Level Converter- 4 Channel : rhydoLABZ INDIA


Kay