I'm running IDE 1.6.5 with my ZERO. Is Wire library supposed to work? I have an I2C EEPROM chip that I'm trying to test with my ZERO. (in the past, I have exercised this I2C chip on UNO, teensy, etc., and I confirmed it's running on a 3.3v pyboard today and watched it with logic analyzer). But I get no response from the ZERO, sketch hangs in first I2C write(), and there is no activity on the logic analyzer. I'm using 3.3v/grnd and the SDA and SCL pins on the ZERO. Schematic suggests SDA and SCL have 4.7k pullups on the ZERO PCB, though I have also tried with my own external 4.7k pullups...
EDIT: Boldly, I just now added latest hourly build to IDE, that seemed to change things, so making progress .... but the data read from the I2C EEPROM (0xFF) is not matching the data written, and if I hook the analyzer jumpers to the circuit, the I2C stops ??
EDIT 2: OK, I added external 4.7k ohm pullups to SCL and SDA and I2C is working now! (so i guess the schematic is wrong -- there are no on-board pullups).
Conclusion: needed the latest core firmware and external pullups.
Edit: re-did tests with original ZERO IDE and external pullups, and sketch worked.
I had the same problem and confirmed that the current Zero schematic shows 4.7k resistors (R111, R112) but they are not actually present on my Arduino Zero board.
It makes sense to me to leave them off so users can select the appropriate pull up resistors along with the external I2C devices, but please note this one the schematic!
Actually it is noted on the schematics by the "DNP" under each of the resistors. The pads are physically present on the PCB so you could solder them in if you wanted.
To make sure if pullup resistors are connected on the board or not, the easy way would be to measure voltage between SDA & SCL pins & ground: should be 3.0V approx. If much lower then pull-ups are not connected.....
Can you please confirm that the Wire library works with Zero & IDE 1.6.7 / 1.6.8? There seems to be a lot of confusion around.
Can you please confirm that the Wire library works with Zero & IDE 1.6.7 / 1.6.8? There seems to be a lot of confusion around.
I'm using IDE 1.6.8 and the I2C works fine (with the Zero as master).
Actually it is noted on the schematics by the "DNP" under each of the resistors. The pads are physically present on the PCB so you could solder them in if you wanted.
It appears as though the pull-up resistor pads for the I2C are physically present on the Arduino Zero, but are absent on the Genuino Zero.
I'm using IDE 1.6.8 and the I2C works fine (with the Zero as master).
OK, thanks. So I can be sure I2C works with the Zero & newer IDE's, but how about the WIRE library? It does not seem to work with IDEs 1.6.7 & 8. This library is important as it allows quick & easy use of many old I2C devices laying around.... Any suggestions? I seem to come across a lot of contradictory/incomplete info on the matter of the WIRE Lib.
I have a Genuino Zero and I confirm the pull-up resistors are missing. I confirm that the WIRE library works faultlessly with Genuino Zero + IDE 1.6.7 + W7 O.S. As a matter of interest I have been unable to compile sketches including WIRE with Genuino Zero + IDE 1.6.7 + WXP O.S....
I must rectify my statement in the previous post. I confirm that sketches including WIRE with Genuino Zero + IDE 1.6.7 + WXP O.S. DO WORK with no problems. The difficulty was caused by a glitch in the loading of the WIRE library in the libraries directory.