← All parts
LM75B Digital Temp Sensor
LM75B
Texas Instrumentssensor environment
The LM75B is a digital temperature sensor with an I2C interface, providing 9-bit accuracy over a wide temperature range.
In stock
Specifications
8- Operating Voltage
- 3 V to 5.5 V
- Supply Current
- 280 μA (typical) (shutdown: 4 μA)
- Interface
- I2C
- Resolution
- 9 bits
- Range
- -55°C to 125°C
- Accuracy
- ±3°C (−55°C to 125°C) (±2°C −25°C to 100°C)
- Temperature Range
- -55°C to 125°C
- Package
- SOIC (8), VSSOP (8)
Pinout
8| Pin | Name | Functions | Notes |
|---|---|---|---|
| 1 | SDA | I2C | I2C serial bi-directional data line |
| 2 | SCL | I2C | I2C clock input |
| 3 | O.S. | GPIO | Open drain output for over-temperature shutdown |
| 4 | GND | GND | Ground |
| 5 | A2 | GPIO | User-set I2C address input (ground for low, +VS for high) |
| 6 | A1 | GPIO | User-set I2C address input (ground for low, +VS for high) |
| 7 | A0 | GPIO | User-set I2C address input (ground for low, +VS for high) |
| 8 | +VS | POWER | Positive supply voltage input |
Interactive pinout
Highlight:
LM75B
Click a pin to copy its name · tap a tag above to spotlight a bus.
Starter code
Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.
Arduino (C++)
arduino
// LM75B I2C temperature sensor — community starter example
// No library needed: read the 11-bit temperature register (0x00).
#include <Wire.h>
const byte ADDR = 0x48; // A2..A0 -> GND
float readTempC() {
Wire.beginTransmission(ADDR);
Wire.write(0x00);
Wire.endTransmission();
Wire.requestFrom(ADDR, (byte)2);
int raw = (Wire.read() << 8) | Wire.read();
return (raw >> 5) * 0.125; // 11-bit, 0.125 C/LSB
}
void setup() {
Serial.begin(115200);
Wire.begin();
}
void loop() {
Serial.print(readTempC()); Serial.println(" C");
delay(1000);
}MicroPython
python
# LM75B (ESP32) — community starter example
from machine import Pin, I2C
import time
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
ADDR = 0x48
while True:
d = i2c.readfrom_mem(ADDR, 0x00, 2)
raw = (d[0] << 8) | d[1]
print((raw >> 5) * 0.125, "C")
time.sleep(1)Wiring
| Pin | Arduino Uno R3 | ESP32 DevKitC (WROOM-32) | Notes |
|---|---|---|---|
| VCC | +5V | 3V3 | 2.8-5.5 V |
| GND | GND | GND | |
| SCL | A5/SCL | GPIO22 | I2C clock |
| SDA | A4/SDA | GPIO21 | I2C data |
| A0/A1/A2 | - | - | Address select -> 0x48-0x4F |
| O.S. | - | - | Over-temp interrupt output (optional) |
Typical uses
- Digital temperature with over-temp alarm
- Thermal protection / fan control