LM75 sensor/On the bus/06. One address, 0x48
On the bus · 06 of 9

One address, 0x48

The TK42 answers at 0x48 and cannot be moved: the chip's three address pins are wired to ground in copper. Anything at another address shares the bus with it. A second TK42, or an ADS1115 left at its default, does not.

Seven bits, three of them soldered

Every device on an I2C bus has a seven-bit address, and every message starts with one. The device with that address answers; the rest ignore it. So two wires can carry a dozen devices, as long as no two share an address.

One address, 0x48
0x48
Also on the bus
TK42
0x48
The other
0x44
One bus
yes
The SHT31 answers at 0x44, the TK42 at 0x48. Different addresses share the same two wires without trouble; each ignores a request that is not its own.

Every LM75 starts its address with 1001. The last three bits come from its pins A2, A1 and A0: each tied to GND is a 0, each tied to VCC is a 1. The chip allows eight addresses, 0x48 to 0x4F, which is why the page this handbook replaces promised eight on one bus.

On the TK42 all three pins are wired to GND under the chip. The address is 0x48, and no pad, jumper or register changes it.

Who else is at 0x48

A second TK42, obviously. Also the ADS1115 analog converter when its address pad is left open, and other LM75-type sensors at their default. Two devices at one address both answer every message, and their replies collide on SDA: the bytes your board reads are a mix of the two.

The SHT31 at 0x44 and the TK31 EEPROM at 0x50 share the bus without trouble.

Two of them

Two TK42s need two buses. An ESP32 or an ESP32-S3 has two I2C controllers; the second is Wire1 in the Arduino core, on any two free pins. An Uno has one, so on an Uno the answer is a different sensor for the second spot.

When it does not work

I need two temperatures on one board.

Put the second TK42 on a second I2C bus. Every ESP32 and ESP32-S3 has two I2C controllers, and the Arduino core names the second one Wire1: Wire1.begin(sda, scl) on two free pins, then the same read on Wire1. Each bus needs its own pull-ups, and each TK42 brings a pair.

A scan shows 0x48, but the readings are nonsense.

Something else may be at 0x48 too, and a scan cannot tell two devices at one address apart. Unplug everything but the TK42 and read again. An ADS1115 ships at 0x48; its address pad moves it to 0x49.

Can I change the address by cutting tracks?

In principle, by lifting a leg of the chip, but the three pins are joined to ground right under the package, and the board offers no pad for it. A second bus is the practical answer.

Where this goes next

Why VCC has to match your board, and when to cut the jumper on the back.

VCC sets the bus →

Edit this page — content/books/lm75/one-address.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

LM75 Temperature Sensor

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum →