Reading EEPROM Data
with the iPort/AI FAQ (Frequently Asked Questions)

Reading EEPROM data with the iPort/AI (#MIIC-202)

Before you can read or write data to a memory device, you must first write to the EEPROM's internal address register. When you are writing to the EEPROM, the first data byte you send is loaded into the EEPROM's internal address register. This internal address register is subsequently used as a memory pointer to access data. You must write to the address register even when you intend to read from the EEPROM. This is demonstrated in the iPort/AI commands below.

The iPort/AI (#MIIC-202) commands are as follows:


Each command is terminated with a carriage return.

What these commands do:

1. Open the iPort/AI link. The iPort/AI will respond with "/OCC".
2. Set the destination slave address. Here I am using 0xA0, but you must use your EEPROM I2C Bus slave address. The iPort/AI will respond with an "*".
3. Load the EEPROM address register. Here I am loading the register so I can access location 0x05. The iPort/AI will respond with "/MTC".
4. Read the data. If all goes well, the iPort will respond with "/MRC~xx" where xx is the data from the EEPROM.

Before you try to connect the iPort/AI to your EEPROM, you should check out the pull-up resistor voltage. The pull-ups inside the iPort/AI are 1.8K to 5V. If your EEPROM is 3.3V, use the iPort/AI slider switch to turn off its pull-ups. Your system should then provide its own 3.3V pull-ups.

Can't find the answer to your question here? Then e-mail your question to us at

I2C is just a mouse click away TM