Aziz Bench

BH1750 vs VEML7700

6 of the 9 features in our table differ between the BH1750 and the VEML7700.

ROHM

BH1750

0.11 lx to 100,000 lx · I²C · 2.4 to 3.6 V

ROHM’s simple lux meter on I²C: 1 to 65,535 lx by default, and 0.11 to 100,000 lx when the driver adjusts the measurement time.

Watch out: Sunlight needs a shorter measurement time than the default: ESPHome sets it on its own; with another library, check that it does. The datasheet gives a ±20 % variation.

Vishay

VEML7700

0.0042 lx to 140,000 lx · I²C · 2.5 to 3.6 V

Vishay’s ambient light sensor: up to 140,000 lx and 0.0042 lx resolution, enough for sunlight and dusk.

Watch out: Fixed address 0x10. Set gain and integration time to suit the light, or let the library do it.

Differences

FeatureBH1750VEML7700
Light range0.11 lx to 100,000 lx0.0042 lx to 140,000 lx
Resolution0.11 lx0.0042 lx
I²C address0x23, 0x5C (set with a pin)0x10
Supply2.4 to 3.6 V2.5 to 3.6 V
Current between readings0.01 µA0.5 µA
ESPHomebh1750veml7700

Same on both: measures · interface · status.

Choose the BH1750 if you need

Choose the VEML7700 if you need

Open the sensor comparison →Tick what your project needs and see which sensor fits best.

BH1750: I²C address, wiring and pull-ups →
VEML7700: I²C address, wiring and pull-ups →

Frequently asked questions

What is the difference between the BH1750 and the VEML7700?

The BH1750 offers a choice of I²C addresses and less current between readings. The VEML7700 offers readings in very low light.

Which covers more light levels, the BH1750 or the VEML7700?

The BH1750: 0.11 lx to 100,000 lx. The VEML7700: 0.0042 lx to 140,000 lx.

Can I replace the BH1750 with the VEML7700?

Often yes: both use I²C. Change the driver or, in ESPHome, the component (bh1750 → veml7700). The I²C address changes too (0x23/0x5C → 0x10).

Other comparisons

Figures from the makers’ datasheets and product pages and the ESPHome documentation, checked in November 2026.