This is how I'm wiring everything. The digital pins are connected to a 74HC238 to show me some output from what I'm saving. I only drew a few leds... there's more. That part seems to work, though. The graphic:

And the code for the memory driver is:
public byte[] ReadBytes(ushort address, int length) { byte[] data = new byte[length]; using (I2CDevice eeprom = new I2CDevice(new I2CDevice.Configuration(0x50, 400))) //0x50 is 1010 000, 400 is 400khz { // Create a new Transaction I2CDevice.I2CTransaction[] transaction = new I2CDevice.I2CTransaction[]{ I2CDevice.CreateWriteTransaction(new byte[] { (byte)((address >> 8) & 0x7F), (byte)(address & 0xFF) }), I2CDevice.CreateReadTransaction(data) }; int bytesTransfered = eeprom.Execute(transaction, 1500); if (bytesTransfered == length + 2) return data; else return null; } } public void WriteBytes(ushort address, byte[] data) { using (I2CDevice eeprom = new I2CDevice(new I2CDevice.Configuration(0x50, 400))) //0x50 is 1010 000, 400 is 400khz { // Create a new Transaction I2CDevice.I2CTransaction[] transaction = new I2CDevice.I2CTransaction[]{ I2CDevice.CreateWriteTransaction(new byte[] { (byte)((address >> 8) & 0x7F), (byte)(address & 0xFF) }), I2CDevice.CreateWriteTransaction(data)}; // Execute the WriteBytes transaction, check if it was succesfull. int bytesTransfered = eeprom.Execute(transaction, 1500); } } }
The program does:
byte[] sequence = new byte[]{ 2, 1, 2, 3, 2, 1, 0, 3, 1, 2, 0 }; byte[] data = new byte[11]; board.Memory.WriteBytes(100, sequence); data = board.Memory.ReadBytes(100, 11);
And then loops flashing the leds.
Thanks in advance to any kind soul who can take a look and give me some advice. I have tried 2 different EEPROM chips (same type) to the same result. Many resistor/voltage combinations. Even reversing the SDA and SCL (that didn't help

Thanks again,
J
(formatting tips are also appreciated... other people's posts look way better than mine!!)