MCP9808 Temperature Sensor
High-accuracy I2C digital temperature sensor
I2C address:
0x18(A0=0) or0x19(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.
Registers
Section titled “Registers”| Register | Address | Description |
|---|---|---|
CONFIG | 0x01 | Alert thresholds, hysteresis, shutdown |
T_UPPER | 0x02 | Upper alert limit |
T_LOWER | 0x03 | Lower alert limit |
T_CRIT | 0x04 | Critical alert limit |
T_AMBIENT | 0x05 | Current temperature (read-only) |
MANUF_ID | 0x06 | Manufacturer ID (0x0054) |
DEVICE_ID | 0x07 | Device ID + revision |
RESOLUTION | 0x08 | Conversion resolution (0–3) |
Temperature Format
Section titled “Temperature Format”Temperature is returned as a 13-bit signed value in register 0x05:
°C = sign × (upper nibble × 16 + lower byte / 16)Resolution options:
| Setting | Resolution | Conversion time |
|---|---|---|
0 | +0.5 °C | 30 ms |
1 | +0.25 °C | 65 ms |
2 | +0.125 °C | 130 ms |
3 | +0.0625 °C | 250 ms |
Simulation Controls
Section titled “Simulation Controls”| Control | Range | Description |
|---|---|---|
| Temperature slider | −65 to +150 °C | Sets 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.
Limitations
Section titled “Limitations”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.