Skip to content
sensors / bh1750.md

BH1750FVI

ROHM's I²C ambient light sensor. Returns calibrated lux directly — no analog-to-lux conversion math needed. Range 1 to 65,535 lx.

In stock ROHM 1 files · 557 KB

Specs

Spec Value
Range 1 – 65,535 lx
Resolution 1 lx (default) or 0.5 lx (high-res mode 2)
Bus I²C (up to 400 kHz)
I²C address 0x23 (or 0x5C if ADDR = HIGH)
Voltage 3.3 V (most GY-30 modules accept 5 V with LDO)
Modes Continuous H/L res or one-shot

Wiring (Arduino Uno)

Module Arduino
VCC 5 V
GND GND
SCL A5
SDA A4
ADDR leave floating (0x23)

Code

#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;
void setup() {
  Serial.begin(115200);
  Wire.begin();
  lightMeter.begin();
}
void loop() {
  float lux = lightMeter.readLightLevel();
  Serial.print(lux); Serial.println(" lx");
  delay(200);
}

Library: BH1750 by Christopher Laws (Library Manager).

Schematic

GY-30 module = BH1750 + 4.7 kΩ I²C pull-ups + 3.3 V LDO + decoupling caps. Reference application circuit on page 10 of the datasheet PDF.

Last updated: 2026-05-13 · Source on GitHub