This is the BH1750 16-bit Ambient Light Sensor from Rohm. Because of how important it is to humans and most other living things, sensing the amount of light in an environment is a common place to get started when learning to work with microcontrollers and sensors. Should we turn up the brightness of our display or dim it to save power? Which direction should your robot move to stay in an area with the most light? Is it day or night? All of these questions can be answered with the help of the BH1750. It’s a small, capable and inexpensive light sensor that you can include in your next project to add the detection and measurement of light.
The BH1750 provides 16-bit light measurements in lux, the SI unit for measuring light, making it easy to compare against other values like references and measurements from other sensors. The BH1750 can measure from 0 to 65K+ lux, but with some calibration and advanced adjustment of the measurement time, it can even be convinced to measure as much as 100,000 lux!
Sensors tend to come in small packages and the BH1750 is no different. Not much bigger than a grain of rice, this handy light-sensing friend needs some help to be used by folks experimenting and without the desire or tools to work with surface mount parts. We’re here to help!
Packaged on a PCB in our STEMMA QT form factor, the BH1750 comes integrated with a voltage regulator and level shifting circuitry to allow it to be used with 3.3V devices, like a Feather M4 or Raspberry Pi, or 5V devices, such as an Arduino. Rather than working with the itty bitty little contacts on the sensor, the PCB it’s packaged on breaks out all the pins to a standard 0.1″ / 2.54mm pitch header.
To make things easier and a bit more flexible, we’ve also included SparkFun Qwiic compatible STEMMA QT connectors for the I2C bus so you don’t even need to solder! Just plug in a compatible cable and attach it to your MCU of choice, and you’re ready to load up some software and measure some light. QT Cable is not included.
To help with the software part we’ve written a library that you can use with CircuitPython compatible devices as well as computers like the Raspberry Pi by installing it using PyPi. You can even use it on a full-sized computer by using an MCP2221 breakout. Arduino users can use the well-crafted hp_BH1750 library by Stefan Armborst and our installation instructions and wiring diagrams\
- x1 unit BH1750
- X1 unit header pin