Uncategorized

eeprom i2cdetect

Asked 
Active yesterday
Viewed 37 times
1

I have interfaces Atmel 24C04 EEPROM to raspberry PI 3b+ and used i2cdetect to verify if the interfacing is done properly. I am new to this area and trying to learn by doing some hands on.

After interfacing i2cdetect is showing two address 0x51 and 0x52 😦 As far as I know there should be only one address assigned to each device.

I have interfaced only one EEPROM and there is no other i2c device interfaced with the board. Please helpenter image description here

 New contributor
  • 1
    I have the same experience from time to time. Sometimes even three addresses show up but only one device is connected. Some of the following tricks might help: (1) Shorten the connecting wires, if possible to less than 30 cm. (2) Remove (desolder) the I2C EEPROM on board 4k7 pullup resistor (because Rpi SCL/SDA already have 1k7, which if strong enough. (3) Try another module. Modules do differ in input/pullup impedance (capacitance matters!) – tlfong01 yesterday
  • And if you are using Rpi4B Raspbian 10 buster release July 10, you can try to set I2C speed down to even as slow as 10kHz, to see if situation improves. This I2C speed setting works only for Rpi4 buster, NOT for Rpi3B+ stretch (because of a Rpi design bug, as I have heard). – tlfong01 yesterday
  • 2
    Please don’t use pictures of text. Instead paste the text direct into the question. – Ingo yesterday
  • My experience was with Rpi3B+ stretch. Now I am experimenting with Rpi4B Rapsbian 10 buster jul10 release, using 32kByte EEPROM: (1) AliExpress LC Tech AT24C256 I2C EEPROM Module – US$0.7 fr.aliexpress.com/item/32811471056.html (2) Hobbytronics AT24C256 I2C EEPROM Module (24LC256) hobbytronics.co.uk/arduino-external-eeprom. The module has 3 address jumpers to select 8 I2C addresses, from 0x50 to 0x57. I found that i2cdetect -y 1 detects ONLY ONE ADDRESS, from 0x50 to 0x57, depends on my jumper setting. – tlfong01 27 secs ago   Edit

0

The 4K EEPROM only uses the A2 and A1 device address bits with the third bit being a memory page address bit. The two device address bits must compare to their corresponding hard-wired input pins. The A0 pin is no connect.

Have you connected A0 to ground?

Does the device operate properly?

It sounds like you are seeing normal behaviour of the paging bit (P0). P0 will be 0 to address page 0, 1 to address page 1. It is probably an artefact of the i2cdetect command itself.

 

  • Yes the A0 is connected to ground but the result is same even if it is not connected to anything. And I have also tried write/read from the device and it works fine with both the addresses. – user11875340 yesterday
  • That sounds like normal behaviour (as far as a brief look at the datasheet suggests). It uses the different addresses for the different pages. – joan yesterday

Your Answer

 user11875340 is a new contributor. Be nice, and check out our Code of Conduct.

community wiki

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: