i2c I/O expansion for more outputs

cianyd

New Member
Hi, I am using an XBee project board and require 8 more outputs to drive opto isolators. Due to the fact that the XBee board has a fixed Picaxe socket, using a Picaxe with more outputs is not an option.

I have been looking at the range of MAX73xx series i2c I/O expanders from Maxim IC. The datasheet in the link below compares a bunch of them.

http://datasheets.maxim-ic.com/en/ds/MAX7320.pdf

The MAX7320 2-wire serial-interfaced peripheral features eight push-pull outputs with selectable power-up logic states.

The +5.5V tolerant RST-bar input clears the serial interface, terminating any I²C* communication to or from the MAX7320.

The MAX7320 uses two address inputs with four-level logic to allow 16 I²C slave addresses. The slave address also determines the power-up state level for the outputs in groups of four ports.

The MAX7320 supports hot insertion. The serial interface SDA, SCL, AD0, AD2, and active-low RST remain high impedance in power-down (V+ = 0V) with up to +6V asserted on them.
I only need outputs, so the MAX7320 looks like the right one. I understand that push/pull is better than open drain in most situations.

I'm quite new to this, so will this work? and what is the code to interface with a chip like this?

Thanks.
 

hippy

Technical Support
Staff member
You could always build a separate veroboard / stripboard unit with a 28X1/40X1 and jumper the connections over to the removed 18/18X. You're going to have to add an extra board anyway.
 

andrew_qld

Senior Member
It depends on how many inputs / outputs you need. For simplicity I have always found the Texas Instruments I/O expanders just work without any problems setting them up.

I have put a lot of stuff about I/O expanders on my website here http://andrew.meachen.net/ioexp.html.

Open drain/collector circuits in microcontrollers can usually sink more current than other circuits can source, so if you need to switch heaps of current then I'd go with open collector.
 
Top