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
Feature
BH1750
VEML7700
Light range
0.11 lx to 100,000 lx
0.0042 lx to 140,000 lx
Resolution
0.11 lx
0.0042 lx
I²C address
0x23, 0x5C (set with a pin)
0x10
Supply
2.4 to 3.6 V
2.5 to 3.6 V
Current between readings
0.01 µA
0.5 µA
ESPHome
bh1750
veml7700
Same on both: measures · interface · status.
Choose the BH1750 if you need
a choice of I²C addresses, so two can share a bus
less current between readings (0.01 µA against 0.5 µA)