Skip to content

MCP9808 Temperature Sensor

High-accuracy I2C digital temperature sensor

MCP9808 temperature sensor module

I2C address: 0x18 (A0=0) or 0x19 (A0=1)

The MCP9808 is a high-accuracy digital temperature sensor from Microchip that communicates over I2C. It offers ±0.5 °C typical accuracy over 0–125 °C and supports programmable alert thresholds (T_UPPER, T_LOWER, T_CRIT) with an interrupt output.

RegisterAddressDescription
CONFIG0x01Alert thresholds, hysteresis, shutdown
T_UPPER0x02Upper alert limit
T_LOWER0x03Lower alert limit
T_CRIT0x04Critical alert limit
T_AMBIENT0x05Current temperature (read-only)
MANUF_ID0x06Manufacturer ID (0x0054)
DEVICE_ID0x07Device ID + revision
RESOLUTION0x08Conversion resolution (0–3)

Temperature is returned as a 13-bit signed value in register 0x05:

°C = sign × (upper nibble × 16 + lower byte / 16)

Resolution options:

SettingResolutionConversion time
0+0.5 °C30 ms
1+0.25 °C65 ms
2+0.125 °C130 ms
3+0.0625 °C250 ms
ControlRangeDescription
Temperature slider−65 to +150 °CSets the ambient temperature seen by the sensor

The simulator models a thermal lag (τ ≈ 1 s) between the ambient temperature you set and the temperature the sensor reports, matching the thermal mass of a real PCB-mounted sensor.

Gaussian noise matching the datasheet accuracy (σ ≈ 0.0625 °C at highest resolution) is added to each reading.

Readings outside the rated −40 °C to +125 °C range produce elevated Gaussian noise (σ grows with overshoot) rather than clamping — matching real silicon behaviour where accuracy is simply undefined past the spec.