I2C EEPROM on uPy/ESP8266?
Re: I2C EEPROM on uPy/ESP8266?
Do you have a logic analyzer with which you could look at the signals and compare them?
Re: I2C EEPROM on uPy/ESP8266?
Are you connecting directly to an EEPROM IC, or is it on a module board with a few resistors? I2C needs pull-ups. Don't suppose you have a Saleae Logic (or clone) logic analyser?
Re: I2C EEPROM on uPy/ESP8266?
Sorry, don't have a logic analyser. I am connecting directly to an eeprom chip via 4.7k resistors. Have tried other values, other frequencies and two different eeproms which both work with Arduino.
Re: I2C EEPROM on uPy/ESP8266?
Have you wired pullups resistors on SDA and SCL lines?
Re: I2C EEPROM on uPy/ESP8266?
I recommend grabbing a Saleae Logic. Very handy little logic analyser. I use mine all the time. If $109 is a bit much to swallow, $9 for a clone that works with the same software. If you can afford it, however, support the team by buying a legit board.
Re: I2C EEPROM on uPy/ESP8266?
I think you got this wrong. You shouldn't be connecting *through* the resistors. The resistors should be pulling up the lines (conencting them to vcc).mikruth wrote:Sorry, don't have a logic analyser. I am connecting directly to an eeprom chip via 4.7k resistors. Have tried other values, other frequencies and two different eeproms which both work with Arduino.
Re: I2C EEPROM on uPy/ESP8266?
Like this, where Rp are your 4.7k pull-up resistors.
Re: I2C EEPROM on uPy/ESP8266?
The picture is OK, but please connect the resistors to 3.3V, the Vcc of the ESP8266.
Re: I2C EEPROM on uPy/ESP8266?
Yes, I am connecting with pull-up resistors. After more tests I find if I write the eeprom with Arduino and only read it with ESP the values are all xff however, if I then read the eeprom with Arduino, all the memory has been changed to xff.
Re: I2C EEPROM on uPy/ESP8266?
Sorry didn't make that very clear. I wrote random values to eeprom with Arduino and the values read back were OK. After trying to read them on the ESP all I got was xff at each memory location. When read again on the Arduino all addresses returned xff.