Due to the impacts of the coronavirus outbreak, we are experiencing longer than normal lead times on certain products. We encourage back-ordering out-of-stock items to receive them as soon as possible.
Track My Order
Frequently Asked Questions
International Shipping Info
Mon-Fri, 9am to 12pm and
1pm to 5pm U.S. Mountain Time:
Chat With Us
January 3, 2010
about 10 years ago
Yes, I'm getting readings off it right now, at address 72 now that I have A0 connected to ground.
My Arduino code is essentially:
byte res = Wire.requestFrom(72,2);
if (res == 2)
??byte msb = Wire.receive(); /* Whole degrees /
??byte lsb = Wire.receive(); / Fractional degrees /
??/ Do stuff, in my case Serial.print() */
I don't bother to write to it first; it seems to respond to a slave read all by itself.
futzle: I contend that connecting A0 to GND (72) or V+ (73) are the only reliable options.
I'm not even convinced of this any more. With A0 wired straight to V+, my TMP102 was responding happily on address 72. Then switched to 73 spontaneously after a few hours.
I'm going to stop fighting it, and wire A0 straight to ground. If I need another temperature sensor on my household I2C bus I'll have to look for a different brand.
tz: So, if I leave the A0 pin unconnected, it acts like it is grounded, i.e the address is 1001000?
I'd say that the absence of an answer in the spec means "then don't do that".
I lost a couple of hours today trying to talk to the TMP102. Figuring that with A0 in line with SDA on the breakout, I'd save having to cut the stripboard between the two pins. The datasheet puts that configuration at address 74. But respond it didn't. Only by accident did I find that it was listening on address 73 all along, as it is supposed to when connected to V+. I contend that connecting A0 to GND (72) or V+ (73) are the only reliable options.
No public wish lists :(