VCC sets the bus
The two 10 kΩ pull-ups end at VCC, so SDA and SCL rest at whatever VCC is. That makes VCC your board's logic supply: 5V on an Uno, 3V3 on an ESP32, an ESP32-S3 or a Pico. The copper jumper on the back connects the pull-ups, ships joined, and is cut only when the bus already has pull-ups of its own.
Where the pull-ups end
Devices on an I2C bus only ever pull SDA and SCL low. Something has to bring them back up, and on the TK42 that is two 10 kΩ resistors, one on each line, up to VCC. With nobody pulling, both lines rest at VCC.
So VCC is not only the chip's supply. It is the voltage your board's SDA and SCL pins see most of the time, and it has to be the voltage those pins run at: 5V on an Uno, 3V3 on an ESP32, an ESP32-S3 or a Pico.
The chip itself runs on anything from 2.8 to 5.5 V by NXP's sheet, and counts a line as high from 70 % of VCC. It is not what breaks. 5V on VCC beside a 3.3 V board puts 5 V on two of that board's pins, and it may seem to work for a while.
The jumper on the back
The two pull-ups do not go straight to VCC. They meet at one pad on the back, marked I2C PULL UP, and a strip of copper about half a millimetre wide joins it to a second pad on VCC. It ships joined, so the pull-ups work out of the box. Cut the strip and both come off together.
Every I2C bus needs pull-ups somewhere, and one pair would do for the whole bus. Blocks bring their own so that each works alone. Adding blocks puts their pull-ups in parallel, which makes the lines rise faster, not slower. The cost is current: whoever pulls a line low sinks all of it, and I2C only promises 3 mA. At 5 V that is about six of these boards.
So: one to five blocks, leave it joined. Cut it when the bus already has strong pull-ups on another board. Never cut it when the TK42 is the only thing on the bus that has any. A blob of solder across the two pads joins them again.
When it does not work
For the chip, yes: NXP rates the LM75B from 2.8 to 5.5 V. The problem is your board. The pull-ups hold SDA and SCL at VCC, so 5V on VCC beside a 3.3 V board puts 5 V on two of its pins. Match VCC to the board.
Nothing else on the bus had pull-ups, so SDA and SCL float. Bridge the two pads again with a blob of solder, or add a 4.7 kΩ to 10 kΩ resistor from each line to VCC somewhere on the bus.
Score across the thin copper strip between the two pads, two or three times, with a sharp craft knife, then check with a multimeter's continuity setting that the pads no longer beep. Do not dig into the board around it.
Not with two or three. Each adds a pair of 10 kΩ in parallel, so two make 5 kΩ and three about 3.3 kΩ, and the current a device must sink stays under the 3 mA I2C allows. Around six boards on 5 V is where cutting some starts to matter.
Four wires and a sketch that prints the temperature twice a second.
The first reading →Edit this page — content/books/lm75/vcc-sets-the-bus.mdx
Questions about this product
See what other owners have asked, and read their solutions.
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.