I'm looking to replace an ADC chip from an ADS1015 to a MAX11612. Currently I'm using an Adafruit ADS1015 breakout board, but I need an ADC that is truly bipolar and reads significantly faster (>10kSPS). I think a MAX11612 will do the trick. The AIN voltages will be +/- 7.5 volts (between 5 and 10, depending on what works best). The SDA, SCL, VDD and GND are all connected to a Raspberry Pi and I'm using the Pi's 5V rail as VDD and the Pi's ground as GND.

I'm concerned about the voltage on the SDA and SCL pins going from the ADC to the PI, which needs to be <3.3V.

FB1 are two ferrite beads (810-MMZ2012Y152BTD25). The circuit is largely inspired from the ADS1015 breakout board.

Here is the link to the MAX11612 datasheet

And here's the MAX11612 pinout

I've come up with the following circuit as a drop-in replacement for the Adafruit breakout board. Can anyone tell me if this will provide the protection that I need for the SDA and SCL pins and give me the voltage range on AIN0 that I need? AIN1 will be used as the signal ground reference and AIN0 is the signal input.

EDIT: Here's the schematic with a proposed level shifter. Is this the right thing to do?

• Have you searched out I2C level shifters? – Scott Seidman Aug 30 at 16:59
• Hi Scott. I've looked at them, but space in my project is at a premium. I figured with the ADS1015 breakout board (which is 3.3-5V compatible for the pi), the existing design should work. – Max Aug 30 at 17:01
• ti.com/product/PCA9306 – Scott Seidman Aug 30 at 17:11
• Thanks for the updated diagram. I don't see anything in it that would protect the Pi from seeing more than 3V. I2C uses open drain devices, so when the controlling FET is off, all the devices will see the 5V. Also, the bigger the pull-up resistor you use on SDA and SCK, the higher the rise time, and 10K is pretty big and you might need to slow down your bus. – Scott Seidman Aug 30 at 17:38
• With respect to how to use the level-shifter, I'd feel compelled to read up on it before answering, but I suspect it is that simple. – Scott Seidman Aug 30 at 17:40

According to schematics, the setup you have made is not okay $$\V_{REF1}\$$ cannot be higher than $$\V_{REF2}\$$.
below is the typical application. In your case,

$$\V_{REF1}\$$ = $$\3.3 V\$$ and $$\V_{REF2}\$$ = $$\5 V\$$

from datasheet:

To support translation, $$\V_{REF1}\$$ supports 1.2 V to $$\V_{REF2}\$$- 0.6 V. $$\V_{REF2}\$$must be between VREF1 + 0.6 V to 5.5 V.

1. As per datasheet, you can also swap $$\V_{REF1}\$$and $$\V_{REF2}\$$. Please use $$\V_{REF2}\$$ for RPi and $$\V_{REF1}\$$ for Max11612. This way, the design will be compliant to the datasheet and will be operating as per specification.
2. You have to provide pullup on both the sides. that is missing in the schematics.

Founder of I2C has an application note on this:.

• Thanks Umar. In fact I noticed some of those points later. The prev schematic was something quick I threw together. I'll update with what I think should be the final drawing. – Max Aug 31 at 1:47

With Scott's recommendation, I'm going to try adding the level shifter and see how that works out for me. Above schematic is with the added level shifter.

• Just take a peek at the data sheet and make sure that particular shifter will meet your speed requirements. I notice that adafruit sells a shifter on a break-out, if that helps. – Scott Seidman Aug 30 at 17:45
• Also, some times these chips demand that one of the Vrefs is at a higher voltage than the other. Check to make sure one particular side doesn't need to be the 5V side. – Scott Seidman Aug 30 at 17:47