ISL76682
AUTOMOTIVE AMBIENT LIGHT SENSOR · AID AI DATASHEET™ v2.0
AEC-Q100 I²C/SMBus INTERACTIVE ACTIVE
ISL76682
Automotive Low Power, High Sensitivity, Light-to-Digital Sensor with I²C Interface
6-Ld ODFN 2.0×2.1×0.7mm AEC-Q100 Qualified −40°C to +105°C 2.25V–3.3V Supply 55µA Typical IDD 16-bit ADC I²C / SMBus 50/60Hz Rejection
The ISL76682 is a low-power, high-sensitivity integrating ALS sensor with human-eye spectral response, 4 programmable lux ranges (1k–64k lux), dual I²C addresses, and AEC-Q100 automotive qualification. Designed for dashboard dimming, auto-dimming mirrors, and industrial light sensing. Supports internal and external ADC timing with integrated 50/60Hz flicker rejection.
Block Diagram
Fig 1 · Internal Block Diagram
Typical Circuit
Fig 14 · Typical Application Circuit
55µA
Typ Supply Current
16bit
ADC Resolution
64klux
Max Lux Range
±10%
Cross-Source Variation
Key Features Overview
FeatureSpecification
Supply Voltage2.25V – 3.3V
I²C Rail Voltage1.7V – 3.6V
Operating Current55µA typ, 65µA max
Shutdown Current0.01µA typ, 0.5µA max
ADC TypeIntegrating, 4/8/12/16-bit selectable
Internal OSC650–800kHz (725kHz typ @ 500kΩ)
16-bit Integration Time~90ms (REXT=500kΩ)
I²C SpeedUp to 400kHz (Fast Mode)
Lux Ranges1k / 4k / 16k / 64k lux
I²C Addresses0x44 (A0=GND), 0x45 (A0=VDD)
Package6-Ld ODFN 2.0×2.1×0.7mm
Operating Temp−40°C to +105°C
AEC-Q100 GradeGrade 1
ESD (HBM)±2kV (AEC-Q100-002)
Internal Architecture

The ISL76682 integrates the following functional blocks:

  • Photodiode Array — spectrally matched to human-eye response (ALS) or near-IR (IR sensing)
  • Light Data Processing — mode-controlled current path with GAIN/Range scaling
  • Integrating ADC — converts photocurrent over programmable integration window; supports internal or external timing
  • IREF + fOSC — REXT sets both the internal reference current and oscillator frequency; factory trimmed for 725kHz at 500kΩ
  • 2¹⁶ Counter — counts oscillator cycles during integration; configurable to 4/8/12/16-bit depth
  • Command Register — 8-bit control for enable, mode, light type, resolution, and range
  • Data Register — 16-bit read-only result register (DATAMSB:DATALSB)
  • I²C/SMBus Interface — fast-mode I²C up to 400kHz; dual-address via A0 pin

See the Pinout & Package tab for full pin descriptions. See the Block Diagram (Fig 1) above for the complete signal flow.

Pin Assignment Diagram
ISL76682 6-LD ODFN · TOP VIEW
2.0mm × 2.1mm × 0.7mm
Pin Descriptions
PinNameTypeDescription
1 VDD PWR Positive supply. Range: 2.25V to 3.3V. Decouple with 0.01µF ceramic capacitor placed as close as possible to this pin.
2 GND GND Ground reference. Connect to system ground plane.
3 REXT REXT External resistor pin. Connect a precision resistor (nominal 500kΩ, ±1%) from this pin to GND. Sets both fOSC and IREF. Do not leave floating. VREF ≈ 0.52V at pin.
4 A0 I/O I²C address selection. Tie firmly to GND → address 0x44. Tie firmly to VDD → address 0x45. Never leave floating — floating A0 causes undefined address behavior.
5 SCL I²C I²C clock input. Requires external pull-up resistor (typically 10kΩ) to the I²C supply rail (1.7V to 3.6V). Supports Fast Mode (up to 400kHz).
6 SDA I²C I²C data, open-drain bidirectional. Requires external pull-up resistor (typically 10kΩ) to the I²C supply rail. SDA current sinking: 4–5mA.
EP Exp. Pad Exposed pad on bottom of package. Electrically connect to GND or leave completely isolated. Do not leave unintentionally connected to any signal.
Package Dimensions — 6-Ld ODFN
DimensionMin (mm)Nom (mm)Max (mm)
Package Length (D)1.902.002.10
Package Width (E)2.002.102.20
Package Height (A)0.600.700.80
Exposed Pad (D2)0.70
Lead Pitch (e)0.65
Lead Width (b)0.250.300.35
Ordering & Identification
Part NumberPackageCarrierTemp Range
ISL76682AROZ-T76-Ld ODFNTape & Reel (3k)−40 to +105°C
ISL76682EVAL1ZEvaluation Board
Thermal Characteristics
ParameterSymbolValueUnit
Junction-to-Ambient (high-k board)θJA88°C/W
Max Junction TempTJ+105°C
Reflow Note: Convection reflow only. Do not use direct IR heating. Maximum reflow temperature: +260°C. See ISL76682 product page for MSL rating and handling per IPC/JEDEC J-STD-020.
Absolute Maximum Ratings
ParameterSymbolMaxUnitNote
VDD to GNDVDD3.6VSustained operation above 3.3V not recommended
I²C Pin Voltage (SCL, SDA)VI2C3.6VRelative to GND
I²C Pin CurrentII2C<10mA
REXT, A0 Pin VoltageVREXT,A0VDDV
ESD (HBM, AEC-Q100-002)ESD_HBM±2kVAll pins
ESD (CDM, AEC-Q100-011)ESD_CDM±750VAll pins
Latch-Up (JESD78E Cl.2 Lv.A)ILU±100mA
Storage TemperatureTSTG−40 to +105°C
⚠ Stresses beyond absolute maximum ratings may cause permanent damage. These are stress ratings only; functional operation is not implied at these conditions.
Electrical Specifications — VDD=3V, TA=+25°C, REXT=500kΩ 1%, 16-bit ADC unless noted
ParameterSymbolConditionMinTypMaxUnit
Power Supply RangeVDD2.253.3V
Supply Current (active)IDDContinuous sensing5565µA
Supply Current (shutdown)IDD1SW or auto power-down0.010.5µA
I²C Supply VoltageVI2C1.73.6V
Internal Oscillator FrequencyfOSCREXT=500kΩ650725800kHz
ADC Integration Time (16-bit)tINTREXT=500kΩ, 16-bit~90ms
I²C Clock RateFI2CFast Mode400kHz
Dark Output CountDATA_0E=0 lux, Range 1, 16-bit5Counts
Full Scale ADC CodeDATA_FS16-bit65535Counts
Cross-Source Variation (ALS)ΔDATA/DATAFluor/Incand/Sun±10%
ALS Count @ 300 lux Fluor, Range 1DATA_ALS1550nm cal, 16-bit150002000025000Counts
ALS Count @ 300 lux Fluor, Range 2DATA_ALS25000Counts
ALS Count @ 300 lux Fluor, Range 3DATA_ALS31250Counts
ALS Count @ 300 lux Fluor, Range 4DATA_ALS4312Counts
IR Count @ 210 lux Sun, Range 1DATA_IR1850nm cal, 16-bit150002000025000Counts
REXT Pin VoltageVREFREXT=500kΩ0.52V
SCL/SDA Input Low VoltageVIL0.55V
SCL/SDA Input High VoltageVIH1.25V
SDA Output Current (sinking)ISDA45mA
Range / Full-Scale Reference Table — REXT = 500kΩ, 16-bit ADC
CMD Bits [1:0]kRange NameALS FSRLSB ResolutionMin Detectable LuxTyp Count @ 300 lux
0 01Range 11,000 lux0.015 lux/ct0.015~20,000
0 12Range 24,000 lux0.061 lux/ct0.061~5,000
1 03Range 316,000 lux0.244 lux/ct0.244~1,250
1 14Range 464,000 lux0.977 lux/ct0.977~312
Note: IR sensing FSR differs from ALS — see Renesas ISL76682 Datasheet Rev 1.00, Table 8. For sunlight (up to ~100,000 lux), use Range 4 with auto-ranging logic (see Application Guide).
Typical Performance Curves — VDD=3V, REXT=500kΩ, TA=+25°C unless noted

All curves digitized from Renesas ISL76682 Datasheet Rev 1.00 (R33DS0013EU0100). Hover over any chart for precise values.

Fig 2 — Spectral Response of Light Sources
VDD=3V, REXT=500kΩ | Normalized Light Intensity vs Wavelength
Fig 3 — ALS Spectral Response
Normalized ALS response vs wavelength | Halogen reference, normalized to peak
Fig 5 — Sensitivity: Calculated ALS vs Lux Meter
Range 1 (1k lux), 16-bit ADC | Three light sources + 1:1 ideal
Fig 6 — Dark Output Code vs Temperature
E=0 lux, Range 1 (1k lux), 16-bit ADC
Fig 7 — Output Code Ratio vs Temperature
300 lux fluorescent, ALS, Range 1 — normalized to +30°C
Fig 8 — Supply Current vs Temperature
VDD=2.25V, REXT=500kΩ, continuous sensing mode
Range Selector (applies to all calculators below)
Range 1: FSR=1,000 lux | LSB=0.015 lux/count | CMD bits[1:0]=00
▶ Lux → Count Converter
◀ Count → Lux Converter
⏱ Integration Time & OSC Calculator
📶 I²C Address Selector
🔋 Low-Power Polling Current Estimator
Command Register (Addr 0x00) — Interactive Bit Editor
Click bits to toggle · MSB (bit 7) on left · Bit fields: EN | MODE | LIGHT | RES[2:0] | RNG[1:0]
0x00 = 00000000b
Bit Field Definitions
Bit(s)NameValue=0Value=1
7ENPower Down (0.01µA)Device Enabled
6MODEOne-Time MeasurementContinuous Measurement
5LIGHTALS Sensing (visible)IR Sensing (near-IR)
4:2RES[2:0]
3 bits combined
000=16-bit internal · 001=12-bit internal · 010=8-bit internal · 011=4-bit internal · 100=Ext ADC · 101=Ext Timer
1:0RNG[1:0]00=1k lux · 01=4k lux · 10=16k lux · 11=64k lux
Register Map
AddrRegisterAccessDefaultNotes
0x00COMMANDR/W0x00Control all modes, range, resolution
0x01DATALSBR0x00ADC result bits [7:0]
0x02DATAMSBR0x00ADC result bits [15:8]
syncsync_I2CWWrite with bit7=1 to trigger ext timing sync
Integration Time vs REXT & ADC Bits
REXT (kΩ)fOSC (kHz)16-bit12-bit8-bit4-bit
2501450~45ms2.8ms176µs11µs
500 ★725~90ms5.6ms352µs22µs
1000363~180ms11.3ms704µs44µs
1500242~270ms16.9ms1.06ms66µs
2000181~362ms22.6ms1.41ms88µs
★ Recommended REXT=500kΩ ±1%. Formula: tINT = 2ⁿ / fOSC · fOSC = (500kΩ / REXT) × 725kHz
🔇 50/60Hz Noise Rejection Checker

The integrating ADC rejects periodic noise when tINT is an exact integer multiple of the noise period (20ms for 50Hz, 16.67ms for 60Hz).

💡 Best tINT values for guaranteed dual 50+60Hz rejection: 100ms, 200ms, 300ms, 400ms — integer multiples of both 20ms and 16.67ms.
Optimal tINT Selection Guide
tINT (ms)50Hz Multiples60Hz MultiplesDual Rejection
16.67
20
33.33
40
100 ✓✓ BOTH
200 ✓10×12×✓ BOTH
300 ✓15×18×✓ BOTH
400 ✓20×24×✓ BOTH
Flat Window Lens Dimensions (t=1mm, n=1.59)
DTOTAL (mm)D1 (mm)DLENS @ 35°DLENS @ 45°
1.50.502.253.75
2.01.003.004.75
2.51.503.755.75
3.02.004.306.75
3.52.505.007.75
Light pipe alternative: D2 > 1.5mm, D1 = 0.5mm for peak optical coupling. Convection reflow only — no direct IR heating on PCB or component.
🚗 Automotive Dashboard & Mirror Dimming
AUTO-DIMMINGAEC-Q100RANGE 2
Primary automotive use case. Adjust display and instrument cluster backlight based on ambient light. For auto-dimming mirrors, use Range 2 (4k lux) to handle both indoor parking and bright sunlight transitions. Apply logarithmic PWM mapping for perceptually linear dimming — human perception of brightness is logarithmic. Implement 200ms hysteresis on range transitions to prevent oscillation at crossover illuminance levels. Temperature compensation: Fig 7 data shows output varies ±5% over −50°C to +100°C; apply a correction factor for absolute accuracy.
CMD = 0xA1 → Enable | Continuous | ALS | 16-bit | Range 2
Poll DATAMSB (0x02) + DATALSB (0x01) every 200ms
Ecal = DATA × 4000 / 65536 [lux]
PWM_duty = log10(Ecal + 1) / log10(4001) × 100%
🏥 Industrial & Medical 50/60Hz Rejection
NOISE REJECTFLUORESCENTLED FLICKER
Fluorescent and many LED lights flicker at 100/120Hz. The integrating ADC naturally rejects periodic noise when tINT is an integer multiple of the noise period. For global deployment (both 50Hz and 60Hz regions), use tINT = 100ms — simultaneously 5× 20ms and 6× 16.67ms. Set REXT=500kΩ for natural ~90ms, then use External Timing Mode locked to exactly 100ms via sync_I2C. For medical-grade accuracy, average 3–5 consecutive readings with digital low-pass filtering.
Internal timing: CMD = 0xA0 (16-bit, Range 1, ~90ms)
External ADC mode: CMD = 0xA8 (RES=100, ext ADC data)
External timer mode: CMD = 0xAA (RES=101, timer count)
Send sync_I2C at 100ms intervals from MCU timer ISR
Ecal = (ADC_DATA / TIMER_DATA) × Range(k)
📡 Dual-Sensor Multi-Device I²C Bus
I²C MULTIA0 SELECTBUS SHARING
Deploy two ISL76682 sensors on the same I²C bus using the A0 address pin. Device 0: A0=GND → 0x44. Device 1: A0=VDD → 0x45. Useful for: front/rear ambient sensing, left/right mirror control, redundant safety sensing, or simultaneous ALS+IR measurement (configure one device for ALS, one for IR). Both share the same SCL/SDA pull-ups. Poll sequentially; allow minimum 1ms between transactions.
Device 0 (0x44, A0=GND): CMD=0xA0 → ALS continuous
Device 1 (0x45, A0=VDD): CMD=0xB0 → IR continuous
Write: START | 0x88 or 0x8A | 0x00 | CMD | STOP
Read LSB: START | 0x89 or 0x8B | 0x01 | lsb | STOP
Read MSB: START | 0x89 or 0x8B | 0x02 | msb | STOP
🔋 Ultra-Low Power One-Shot Polling Mode
POWER SAVINGONE-SHOTIoT
Use one-time measurement mode (MODE=0) for battery-powered or energy-harvesting systems. After each measurement the ISL76682 auto-powers-down to 0.01µA typical. At 1Hz polling (REXT=500kΩ, 16-bit, tINT≈90ms):
I_avg ≈ 55µA × (90ms/1000ms) + 0.01µA × 0.91 ≈ 5.0µA
At 0.1Hz (10s poll): I_avg ≈ 0.5µA. CR2032 life >50,000 hours.
CMD = 0x80 → Enable | One-Shot | ALS | 16-bit | Range 1
After write, device converts then auto-powers-down
Wait tINT (~90ms for 16-bit, 500kΩ) then read data
Re-write 0x80 to trigger next conversion
I_avg ≈ 55µA × (tINT_ms / T_poll_ms) + 0.01µA
🔄 PWM-Synchronized External Timing
EXTERNAL TIMINGSYNCPWM DISPLAY
When the display PWM frequency introduces measurement artifacts, synchronize ISL76682 integration to the PWM period using External Timing Mode. Send sync_I2C to start and stop integration precisely. The ADC integrates exactly between two sync commands, eliminating PWM-induced noise regardless of PWM frequency. Read Timer count first to determine actual integration duration, then request ADC data. Maximum tINT is limited to 65535 clock cycles.
1. CMD = 0xA8 → Enable | Continuous | ALS | Ext ADC mode
2. Send sync_I2C (write 0x80 to device with bit7=1) to start
3. Wait for desired integration time (= PWM period)
4. Send sync_I2C again to end integration
5. CMD = 0xAA → switch to timer read mode
6. Read Timer from 0x01+0x02 (16-bit timer count)
7. CMD = 0xA8 → switch back to ADC data read
8. Read DATA from 0x01+0x02
9. Ecal = (DATA / Timer) × Range(k)
☀️ Outdoor/Sunlight Auto-Ranging
AUTO-RANGESUNLIGHTFULL RANGE
Full outdoor range (starlight ~0.001 lux to direct sun ~100,000 lux) requires dynamic range selection. Implement a 3-state machine: start in Range 1 (1k lux). If DATA > 60,000 (≈91.6% FS), switch to next higher range after 2 consecutive readings. If DATA < 5,000 (≈7.6% FS) and range > 1, switch lower. Hysteresis prevents rapid oscillation at crossover points.
Start: CMD = 0xA0 (Range 1, 1k lux, continuous ALS)
If DATA > 60000 for 2× consecutive: increment RNG bits
If DATA < 5000 for 2× consecutive and RNG>0: decrement
Update CMD register: keep bits[7:2] same, change [1:0]
Ecal = DATA × Range(k) / 65536 [lux, for current range k]
1
Getting Started — First Measurement

Power-on state: device is in power-down. All registers default to 0x00. Navigate to the Pinout & Package tab for full pin descriptions and package drawing, and the Register Config tab to interactively configure the command register.

Step-by-step for first ALS reading (REXT=500kΩ, A0=GND):

// 1. Write Command Register: Continuous ALS, 16-bit, Range 1 // 0xA0 = 1010_0000: EN=1, MODE=1, LIGHT=0, RES=000, RNG=00 I2C_Write(addr=0x44, reg=0x00, data=0xA0); // 2. Wait one full integration time (16-bit, 500kΩ → ~90ms) // Add margin — wait 100ms to be safe delay_ms(100); // 3. Read 16-bit data (LSB first from 0x01, then MSB from 0x02) uint8_t lsb = I2C_ReadReg(0x44, 0x01); uint8_t msb = I2C_ReadReg(0x44, 0x02); uint16_t data = ((uint16_t)msb << 8) | lsb; // 4. Calculate lux (Range 1 = 1,000 lux FSR, 16-bit = 65536 counts) float lux = (float)data * 1000.0f / 65536.0f; // Example: data=20000 → lux = 20000 × 1000 / 65536 ≈ 305 lux
💡 After first write of 0xA0, device converts continuously. You can poll every ~100ms without re-writing the command register.
2
Lux Calculation Formulas

Internal Timing Mode (standard):

Ecal = DATA × Range(k) / 2ⁿ

DATA = ADC output count (0–65535 for 16-bit) · Range(k) = 1000/4000/16000/64000 lux · n = ADC bits (4/8/12/16)

External Timing Mode:

Ecal = (DATA / Timer) × Range(k)

Timer = clock cycles between sync_I2C pulses. Read Timer with CMD=0xAA from registers 0x01+0x02.

fOSC and Range scaling with REXT:

fOSC = (500kΩ / REXT) × 725kHz
tINT = 2ⁿ / fOSC = 2ⁿ × REXT / (500kΩ × 725kHz)
Effective Range = (500kΩ / REXT) × Range(k)

Use the Lux Calculator tab for interactive computation of all these values.

3
Range Selection Guide
ScenarioRecommendedRationale
Indoor office / home (max ~1,000 lux)Range 1 (1k lux)Highest resolution: 0.015 lux/count
Automotive cabin / daytimeRange 2 (4k lux)Handles direct window light
Outdoor overcast (1k–10k lux)Range 3 (16k lux)Covers overcast sky range
Full sunlight / open dashboardRange 4 (64k lux)Direct sun up to ~100k lux at sensor
All conditions / auto-rangingStart R1, auto-upSee Application Guide §6
💡 Switch range when DATA > 60,000 (threshold high) or DATA < 5,000 (threshold low) after 2 consecutive readings. Hysteresis prevents oscillation at crossover points.
4
I²C Protocol Quick Reference

Device Addresses (set by A0 pin — see Pinout & Package tab):

A0 = GND → 7-bit: 0x44 | Write byte: 0x88 | Read byte: 0x89 A0 = VDD → 7-bit: 0x45 | Write byte: 0x8A | Read byte: 0x8B

Write to Command Register:

START | ADDR_W(0x88) | ACK | RegAddr(0x00) | ACK | CmdByte | ACK | STOP

Read Data Registers (auto-increment pattern):

// Set register pointer to DATALSB (0x01) START | ADDR_W(0x88) | ACK | 0x01 | ACK | STOP // Read LSB, then MSB START | ADDR_R(0x89) | ACK | DATA_LSB | ACK | DATA_MSB | NACK | STOP // Combine: data = (MSB << 8) | LSB

sync_I2C (External Timing pulse):

// Write any value with bit7=1 to trigger sync START | ADDR_W(0x88) | ACK | 0x80 | ACK | STOP
⚠ A0 pin must be hard-tied to GND or VDD before power-on. Never float A0 — address becomes undefined. See Pinout & Package tab for full pin details.
5
Noise Rejection — Practical Guide

Integrating ADCs inherently reject periodic noise when tINT = k × T_noise (integer multiple of noise period). This is a key advantage over sample-and-hold designs.

Noise SourceT_noiseExact tINT values for rejection
50Hz flicker20ms20, 40, 60, 80, 100ms...
60Hz flicker16.67ms16.67, 33.33, 50, 66.67, 100ms...
Both 50+60Hz100ms, 200ms, 300ms, 400ms
// MCU timer ISR approach for exact 100ms tINT: void TIMER_100ms_ISR(void) { I2C_Write(0x88, 0x80); // sync_I2C pulse (starts/ends integration) read_and_process_data(); // read previous conversion result } // Setup: configure MCU hardware timer to fire at exactly 100ms intervals // Set CMD = 0xA8 (Continuous ALS, External ADC timing mode)

Use the Timing Designer tab noise checker to validate any tINT value.

6
Command Register Presets

Use the interactive Register Config tab to build any custom configuration. Common presets:

Use CaseCMDBinary
Continuous ALS, 16-bit, Range 1 (1k lux)0xA01010_0000
Continuous ALS, 16-bit, Range 2 (4k lux)0xA11010_0001
Continuous ALS, 16-bit, Range 3 (16k lux)0xA21010_0010
Continuous ALS, 16-bit, Range 4 (64k lux)0xA31010_0011
One-Shot ALS, 16-bit, Range 10x801000_0000
Continuous IR, 16-bit, Range 10xB01011_0000
External timing — ADC data read0xA81010_1000
External timing — Timer count read0xAA1010_1010
Power Down0x000000_0000
7
Hardware Design Checklist

See Pinout & Package tab for all pin descriptions and package dimensions.

ItemRequirement
REXT resistor (Pin 3)500kΩ ±1% metal film, placed close to pin, short trace to GND
VDD decoupling (Pin 1)0.01µF ceramic, placed as close as possible to Pin 1
I²C pull-ups (Pins 5, 6)10kΩ to I²C supply rail (1.7V–3.6V) on both SCL and SDA
A0 pin (Pin 4)Hard-tie to GND (0x44) or VDD (0x45). Never float.
Exposed pad (EP)Connect to GND or fully isolate. Do not leave unintentionally connected.
Optical windowFlat glass/plastic directly on device. Minimum t=1mm. See Timing Designer tab for dimensions.
PCB layoutRoute I²C and power far from noise sources. Keep REXT trace short and clean.
Reflow processConvection only. Max +260°C. No direct IR heating.
Moisture sensitivityFollow ISL76682 MSL rating per JEDEC J-STD-020 and Renesas TB363.
AID AI Datasheet™ Disclaimer: This interactive document is produced by Analog Intelligent Design Inc. (AID) using physics-anchored interpolation and data digitized from the Renesas ISL76682 Datasheet Rev 1.00 (R33DS0013EU0100, Oct 6, 2021). All calculated values, charts, and simulation outputs are for engineering reference and design guidance only. They do not constitute guaranteed device specifications. Always verify against the official Renesas datasheet and characterize devices in your specific application environment. AID makes no warranty, express or implied, regarding the accuracy of interpolated or calculated values. Component selection decisions are the sole responsibility of the design engineer.

Renesas Notice: ISL76682 is a product of Renesas Electronics Corporation. RENESAS and the Renesas logo are trademarks of Renesas Electronics Corporation. All other trademarks belong to their respective owners. AID AI Datasheet™ is a trademark of Analog Intelligent Design Inc.