I said... >>A0 | >>A1 |----- Device Address inputs datasheet gives value as X for 24C16 >>A2 | > > The 'x' doesn't mean 'leave them undefined', it means > 'available for definition by the user'. > > The slave address lines A0..2 must be connected to > valid logic levels (Vdd or Vss). And of course this is wrong. A large number of I2C eeproms mark pins 1,2,3 as A0,1,2 but these pins are not actually connected to anything. They are NOT used as address inputs to the device. In these cases, it is perfectly ok to leave the pins floating. Other chips, naturally, DO use these address inputs and nothing will work if they are not correctly encoded. The reasons for these differences revolve around backwards compatibility with the addressing used on older (smaller) devices, and do, in fact, make sense. (But make sure you read the data sheet carefully) ___Bob