LM75 sensor/On the bus/07. VCC sets the bus
On the bus · 07 of 9

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.

VCC sets the bus
Your board
VCC to
I2C PULL UP jumper
Bus rests at
5.0 V
Your pins run at
3.3 V
Verdict
move VCC
5 V on VCC, and the pull-ups hold SDA and SCL at 5 V whenever nothing pulls them low, which is most of the time. That is 5 V on two pins of a 3.3 V board, above what they are rated for. It may seem to work for a while. Move VCC to 3V3.

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

Is 5 V on VCC safe for the chip?

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.

I cut the jumper and now nothing answers.

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.

How do I cut it without damaging the board?

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.

Does a second I2C block overload the bus?

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.

Where this goes next

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

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 →