-- John Longworth December 2017 -- Reads data from EEPROM -- Uses I2C module local id, sda, scl, device = 0, 3, 4, 0x50 i2c.setup(id, sda, scl, i2c.SLOW) -- Initialise I2C function ReadEE(memloc, length) -- Read data from EEPROM addrh=bit.rshift(memloc, 8) addrl=bit.band(memloc,0xff) print(adrh, adrl, length) i2c.start(id) i2c.address(id, device, i2c.TRANSMITTER) i2c.write(id, addrh) i2c.write(id, addrl) i2c.stop(id) i2c.start(id) i2c.address(id, device, i2c.RECEIVER) c = i2c.read(id, length) i2c.stop(id) return c end print(ReadEE(0,286)) -- Read 286 bytes of data -- 24C256 wiring -- A1,A2,NC,WP,Gnd connect to Gnd -- Vcc connect to 3.3v -- SDA & SCL connect to 3.3v through a 10k resistor -- SDA connect to pin 3 GPIO0 -- SCL connect to pin 4 GPIO2 -- Memory range 0000h - 7FFFh