Skip to datasheet
The Engineering ProjectsAI Interactive Datasheet

BH1750FVI16-bit I²C ambient-light sensor

Turn ambient light into a readable lux value.

Manufacturer-referenced

ROHM Semiconductor · BH1750FVI

WSOF6INo.11046EDT01 · Rev. D · November 2011

BH1750FVI is an ambient-light sensor with a photodiode, integrating amplifier, analog-to-digital converter and I²C interface. Its spectral response approximates human vision, making it useful for display brightness control and general illuminance measurements. The bare WSOF6I device has six terminals. Commands select continuous or one-time measurements at different resolutions. The two returned bytes form a 16-bit result; firmware applies the mode and measurement-time scaling to obtain lux. Optical windows, light spectrum and device tolerance still affect the result. The example uses 3.3 V, address 0x23 and continuous high-resolution mode. It explicitly controls the DVI reset/reference terminal during startup, then waits for the first conversion. A sample result of 600 counts corresponds to approximately 500 lux with the default measurement-time setting.

Real View

BH1750FVI optical sensor with a dark resin body, small photosensitive area and six metal contacts.
BH1750FVI · WSOF6IPackage illustration

Pinout

BH1750FVIWSOF6ITop view · rotated clockwise
Select a pin to see its functionWSOF6I · 6 pins

PCB Footprint

Loading footprint…
Powered by
Finding WSOF6I packageTop view · mm

3D View

Preparing 3D preview…
3D packageDrag to rotate · Scroll to zoom
Supply and groundReset and addressI²C interface
BH1750FVIWSOF6ITop view · rotated clockwise

Click a lead or use the arrow keys. Top view · rotated clockwise

1
PIN 1 · Supply and ground

VCC

Supply

Function

Analog sensor supply.

How to connect

Use regulated 3.3 V with 100 nF to ground.

Electrical note

Recommended 2.4–3.6 V.

At a glance

16-bit I²C ambient-light sensor

The measurement integrates incident light over a defined interval. Reading before completion can return an old value. High-resolution mode and mode 2 use different output scaling.

2.4–3.6 VSensor supply
16 bitsResult word
120 ms typical · 180 ms maxHigh-resolution time
−40–85 °COperating range

Operating profile

BH1750FVI

Bare optical IC
WSOF6I3.0 × 1.6 mm overall outline
Selectable I²C address
0x23 / 0x5CADDR low / high
Default H-mode scaling
counts ÷ 1.2MTreg = 69

Supply, logic and reset

Key parameters and their test conditions

VCC
2.4–3.6 VConditions / notes: 3.3 V example
DVI operating reference
1.65 V to VCCConditions / notes: Also asynchronous reset
Reset low level
At most 0.4 VConditions / notes: Keep low for more than 1 µs after VCC is supplied
ADDR thresholds
Low ≤0.3 VCC; high ≥0.7 VCCConditions / notes: Address input is referenced to VCC
I²C bus maximum
400 kHzConditions / notes: 100 kHz example
Operating temperature
−40 to +85°CConditions / notes: Separate from storage limits

Package details

Follows the selected physical package

Manufacturer
ROHM Semiconductor
Part number
BH1750FVI
Package
WSOF6I
Connections
6 pins
Mounting
SMD
Lead pitch
0.50 mm
Package code
WSOF6I
Thermal reference
−40 to +85°C operating range

Connections by function

Select a pin to open its function, electrical notes and wiring guidance.

Supply and ground2 pins

Reset and address2 pins

I²C interface2 pins

Reset correctly

Hold DVI low after VCC rises, then enable its logic reference and allow it to settle.

Start a conversion

Send 0x10 for continuous high-resolution mode at address 0x23. Wait at least 180 ms at the default MTreg.

Read and scale

Read high byte then low byte, NACK the final byte and stop. Combine them as an unsigned 16-bit count and apply the mode scaling.

At MTreg 69, high-resolution result 0x0258 is 600 counts; 600 / 1.2 = 500 lux. This is an illustrative calculation, not a live reading.

BH1750 photodiode integration amplifier ADC oscillator measurement-time logic and I2C inside sensor.
Original functional explanation based on the manufacturer block diagram.
BH1750FVI six-pin IC with 3.3 V supply, ADDR pulldown, DVI reset network, SDA/SCL pullups and host lux display.
Matching named nodes are connected. Readings are illustrative.

Pin reference

Select a pin to explore its function and connection.

6 pins
PinSignalTypeFunction
VCCSupplyAnalog sensor supply.
ADDRAddress selectionSelects seven-bit address 0x23 when low or 0x5C when high.
GNDGroundCommon return for power and I²C.
SDAOpen-drain serial dataReceives commands and returns a 16-bit result.
DVILogic reference and asynchronous resetSets SDA/SCL input levels and resets the internal state when held low.
SCLSerial clockI²C clock input from the host.
WSOF6I · Top view · rotated clockwise · Select a pin number to inspect its connection.

Supply, logic and reset

Recommended limits and sequencing

ParameterValueConditions / notes
VCC2.4–3.6 V3.3 V example
DVI operating reference1.65 V to VCCAlso asynchronous reset
Reset low levelAt most 0.4 VKeep low for more than 1 µs after VCC is supplied
ADDR thresholdsLow ≤0.3 VCC; high ≥0.7 VCCAddress input is referenced to VCC
I²C bus maximum400 kHz100 kHz example
Operating temperature−40 to +85°CSeparate from storage limits
Active current120 µA typical; 190 µA maximumVCC=DVI=3 V, 25°C, 100 lux
Power-down current0.01 µA typical; 1 µA maximumNo incident light, stated conditions

An existing breakout may hide DVI or implement its reset with an RC network. Check its actual schematic.

Measurement modes

Default measurement time register = 69

ParameterValueConditions / notes
Continuous H mode0x101 lux nominal resolution; 120 ms typical, 180 ms maximum
Continuous H mode 20x110.5 lux nominal resolution; 120 / 180 ms
Continuous L mode0x134 lux nominal resolution; 16 / 24 ms
One-time H mode0x20Returns to power down after acquisition
One-time H mode 20x21Higher resolution; returns to power down
One-time L mode0x23Shorter acquisition; returns to power down
Measurement-time adjustmentMTreg 31–254Default 69; integration time scales with MTreg

Resolution is not measurement accuracy. Do not apply H-mode scaling unchanged to mode 2.

I²C command protocol

Opcodes, not a conventional register-address map

ParameterValueConditions / notes
Power down0x00Stops measurement activity
Power on0x01Awaits a measurement command
Reset illuminance register0x07Use after power on; does not replace the DVI startup reset
MTreg high bits0x40 | (MTreg >> 5)High three bits
MTreg low bits0x60 | (MTreg & 0x1F)Low five bits
Read resultTwo bytes, high byte firstUnsigned 16-bit value
ADDR low / high0x23 / 0x5CSeven-bit address, not shifted read/write byte

A continuous mode repeats measurements; one-time mode needs another measurement command for a fresh result.

Convert counts to illuminance

Scaling and uncertainty

ParameterValueConditions / notes
H-mode defaultlux = raw / 1.2MTreg 69
H-mode adjustedlux = raw / 1.2 × 69 / MTregIntegration-time scaling
H-mode 2 adjustedlux = raw / 1.2 × 69 / MTreg / 2Additional factor of two
Example bytes0x02 and 0x58raw = 600
Example illuminance500 lux600 / 1.2 at MTreg 69, H mode
Raw / lux ratio at 1000 lux0.96–1.44; typical 1.2Manufacturer white-LED test; approximately ±20% variation
Dark output0–3 countsHigh-resolution mode, stated test conditions

Use actual optical-window transmission and calibration if a tighter system accuracy is required.

3.3 V light-meter connection

Explicit DVI control

ParameterValueConditions / notes
VCC13.3 V with 100 nFCommon ground at pin 3
ADDR2100 kΩ to GNDSelects 0x23
DVI5Reset/reference control from 3.3 V host100 Ω series, 100 kΩ pulldown and 100 nF bypass in this example
Startup behaviorHold host output low for 1 ms after valid VCCThen drive high and allow settling before bus access
SDA4 and SCL6Controller I²C4.7 kΩ pull-ups to the settled DVI rail
MeasurementContinuous H, opcode 0x10Wait 180 ms or longer for first result
Display500 lux illustrationDerived from the example 600-count result

The host output must support the DVI reference and pull-up current. Do not let bus lines back-power an unpowered sensor.

Optical and mechanical design

Keep the sensing area exposed

ParameterValueConditions / notes
Peak spectral response560 nm typicalApproximates human-eye sensitivity
Light-source effectsNot identical for every spectrumCheck the reference response curves
Optical windowKeep at least the recommended clear regionAlign with the photodiode area
Photodiode area0.25 × 0.30 mmLocated near the package center
PackageWSOF6I1.6 mm wide; 2.6 mm body; 3.0 mm overall; 0.75 mm maximum height
Terminal pitch0.50 mmThree terminals at each end
Page orientationClockwise-rotated top view1/2/3 on left, 6/5/4 on right

The illustration shows a bare IC; breakout boards add their own electrical and optical details.

Practical checks

Avoid stale or incorrectly scaled readings

ParameterValueConditions / notes
Zero readingCheck power mode and resetAlso check optical obstruction
Old readingWait for the first conversionLonger MTreg requires proportionally longer waits
Wrong addressVerify ADDR level0x23 low or 0x5C high
Result doubledCheck H-mode 2 scalingDivide by two in addition to normal scaling
Window attenuationReview MTreg and calibrationDo not infer transmission from appearance alone
SaturationReduce integration or choose the proper rangeCheck the final system under its brightest light

Mode, timing and optical path must be recorded alongside a lux value.

Take it into ProTech

Find BH1750FVI in the Components Library to place its schematic symbol and connect its pins.

Working Arduino light-meter example available in ProTechOpen ProTech

Component view