ESS Sabre Reference DAC (8-channel)

Reset wouldn't go high with no jumper according to the schematic I found. There is a resistor to discharge the cap and there is no internal pullup.

How do you know people don't install the jumper if using a board of this type?

By the way, the arrangement is quite common for a reset pin to be active low. It makes it easy to hold the device in reset when power is turned on until the power supplies have had time to stabilize. All that is needed to make it work are a couple of resistors and a capacitor.
 
The other thing about hooking up an Arduino is to make sure you know how to prevent accidents if one device, the dac or the Arduino, is powered on when the other one is powered off. Good way to blowup parts if sufficient care is not taken. For example, I disable Arduino internal pullups and only use pullup resistors on the dac board. I also use Schottky diodes on the Arduino to prevent the dac board from damaging the Arduino. The diodes go from the I2C bus pins to the 3.3v power pin on a 3.3v Pro Trinket. That way the dac board can't pull the Arduino pins up high enough to cause damage.
 
If I read it correctly in ES9018 | Dimdim's Blog dimdim says his buffalo board came alive when he shorted the reset pin:

My eye fell on the section pertaining to the Reset pin. It stated that it was an active-low pin and that a system reset could be performed either by pulling the pin low or by a software command. The Buffalo III design called for this pin to be pulled low by default so I hadn’t paid any real attention to it. It turned out that I should have. I soldered a 2 pin header and put a jumper on it. The board immediately came alive and was detected by my I2C scanner. 😀 So, the Reset pin should be pulled up.

In my case the reset pin is low.

The info you found in my post is pertinent to the newer 9028/9038 chips. The 9018's reset pin behaves in the opposite way, i.e. you keep it low for proper operation of the chip.
 
Yesterday I managed to talk to the DAC over the I2C using the bus pirate.
Looks like the registers have their default values. The volume is 0 (which is not default) as far as I remember but this is probably ok as something sends the dac to mute.

What I have learned is that at least parts of the chip responsible for the I2C communication are alive. I am not sure where to go from here.
Reflow the chip?
 
Member
Joined 2007
Paid Member
@Gregje,
You will definitely want the 9018 datasheet to make use of I2C. Registers 0-7 are individual channel volume attenuation settings, which default to 0 (no attenuation). Registers 20-23 (which combine) are master volume. Most people simply use register 23, which is the ‘most significant bit’. Full output on register 23 is hex value 7f, which is default. Bottom line: the default state should produce full output.
 
What I have learned is that at least parts of the chip responsible for the I2C communication are alive. I am not sure where to go from here.
Reflow the chip?

You might look closely at all the solder joints with a good quality 10x magnifier under good lighting. You should be able to spot most problems with soldering that way. You can also try pushing a bit on pins with a tiny jewelers screwdriver or other small tool to verify they are tacked down with solder.

Also, have you checked that all input pins have the appropriate voltages and signals with a scope? If everything going in is correct for operation with default registers settings and nothing is coming out, then that would suggest an internal problem.
 
@Gregje,
You will definitely want the 9018 datasheet to make use of I2C. Registers 0-7 are individual channel volume attenuation settings, which default to 0 (no attenuation). Registers 20-23 (which combine) are master volume. Most people simply use register 23, which is the ‘most significant bit’. Full output on register 23 is hex value 7f, which is default. Bottom line: the default state should produce full output.

Hi, yes I checked individual channels volume settings. They were 0. I did not realise this was full volume (I indeed expected the volume setting default to full).
I will check regs 20-23. I do not remember the readings now.
I do have a doc which says what the default settings of the registers should be.


@Mark: I have already inspected he soldering under the magnifying glass. Looks all right to me.
 
Yes I know this page, it is very useful.

Btw when checking the registers I have noticed that the read only status register (27) has the third bit dsd-pcm set to one which is dsd. Not sure why this is the case. I am not feeding dad to the us b xmos. Shouldn't it be 0 i.e. pcm?
 
Last edited:
Does the XMOS have SPDIF out? If so, you might try configuring the dac for use with that as an input.

Also, did you say you already verified that all power supply voltages and other essential signals are present at all dac pins? The pins are kind of small and obviously one should not short them together, but unless you can somehow verify perhaps continuity from pins to other PCB nodes with the power off how could you be sure the chip has everything it needs to work properly? With a set of sharp multi-meter probes and some maybe some clip leads it should be possible to check. If necessary one could solder small solid wire test points to the board to help make it easier to have something to clip onto so as to make it easier to ring out all the connections.
 
Last edited:
Does the XMOS have SPDIF out? If so, you might try configuring the dac for use with that as an input.

Also, did you say you already verified that all power supply voltages and other essential signals are present at all dac pins? The pins are kind of small and obviously one should not short them together, but unless you can somehow verify perhaps continuity from pins to other PCB nodes with the power off how could you be sure the chip has everything it needs to work properly? With a set of sharp multi-meter probes and some maybe some clip leads it should be possible to check. If necessary one could solder small solid wire test points to the board to help make it easier to have something to clip onto so as to make it easier to ring out all the connections.

I checked voltages at the points which were easily accessible with probes visible with human eyes.
I like the suggestion of checking for continuity between pcb and the chip pins with power off. As you say that would require some diy mini/micro tools as well.
 
It works!

Thanks everybody, especially Mark who persistently reminded me to check soldering of the chip. As I mentioned before the chip was soldered in by a professional. I inspected the joints under the magnifying glass. They looked all right.
Today I used alligator clips with needles to check for connection between the pins and a corresponding paths on the pcb. All under the magnifying glass. There was no contact in DATA_CLK and DATA1 (ie no BCK and LRCK from I2S). Mark: you told me there was no input!!!

Resolderring this was a nerve wrecking exercise. Then I rechecked for contacts and more importantly shorted pins.

Anyway I am listening to Hilary Hahn NPR Tiny desk concert now with a big smile on my face.

Not only I can listen to my es9018 now by in the process I have learned how to talk to chips using I2C. This will be very useful when I use Arduino to control the es9018.

Sometimes I think I should just buy these things ready made instead of spending hours and days tinkering. But the satisfaction is worth it!

Again thanks everybody!