I have tried two different Qwiic EEPROMs (item COM-18355) with two different RedBoard Qwiics (item DEV-15123) with two different Qwiic cables. In all cases, the Example1_BasicReadWrite sketch prints “Mem size in bytes: 0” and “I read (should be 200): 255”. When I use either EEPROM with an Adafruit QT Py M0 (SAMD21), the correct values (i.e. 65536 and 200) are printed. The Qwiic EEPROM Hookup Guide shows the Qwiic EEPROM being used with a RedBoard Qwiic, so that combination of hardware should be supported. Do you know what the problem might be?
Do the EEPROM boards show up when you do a I2C scan?
Are you connecting one at a time or both?
When I run the I2C scanner, I get “I2C device found at address 0x50”, which is correct. Only one EEPROM is connected to the RedBoard.
I don’t have one handy to test with unfortunately so I can’t confirm operation but it should work fine on a Redboard Qwiic. (Arduino Uno clone)
Double check that the I2C address in the example code you’re using matches what your board is set to and see if that gets things going.
Double check that the I2C address in the example code you’re using matches what your board is set to and see if that gets things going.
The board and the example code are both set to address 0x50.
I ran the example sketch on an Arduino Uno R2 with a SparkFun BOB-08745 level converter (10 k pull-ups) between the Arduino and the EEPROM. As with the RedBoard Qwiic, the memory size is detected as 0 and the write of 200 does not work (i.e. the Arduino acts as if the write didn’t happen). I then cut the pull-up jumpers on the EEPROM, thinking that the I2C pull-up might be too strong, but there was no change in behavior.
Could a SparkFun Technical Support Representative give me some help, please? This problem should be easy to duplicate.
I am running into the same issue.
Line 67 in the code seems interesting: “yes you can read and write bytes, but you shouldn’t!”
I would suggest that you post an issue on the github and we can look into the code and figure out if we need to fix it:
Hope this helps.
Version 3.2.9 of the SparkFun EEPROM Arduino library fixed the problem.