I2C component not detecting

I am having a problem with my Beaglebone black interfacing with a BH1750 light sensor (am using a breakout board). When I connect, via wire, the light sensor to the 3.3 volt (p9 port 3) and the ground (p9 port 1) as well as the clock and data (p9 port 19 and 20), the beaglebone is not able to detect the light sensor at the appropriate address (or at all).

I followed these steps:

-Update Beaglebone I2C files

-Connect the ground and the 3.3V Vdd lines (header p9 1 and 3)

-Connect the Clock and data lines (header p9 19 and 20)

-Check for the light sensor using: sudo i2cdetect -r # (# = 0 and 1, we checked both I2C buses to be sure).

These steps were pulled from this site:

Does anyone know what might the reason be for not detecting the BH1750 or how I might go about debugging the issue?

Thanks for the help in advance!

In the datasheet I see that the BH1750 has a 1.8V logic. So you could try a level shifter to adapt the i2c voltage to 3.3v.
Do you have a other i2c device or an oszi to check your i2c bus?

I can think of two problems.
P9_19 and P9_20 can be connected to I2C2. I2C BUS 2,
You are looking on BUS 0 and BUS 1 for the sensor.

You may need to change the PIN-MUX so that I2C2 is actually connected to P9_19 and P9_20.
This is the default connection for those pins on versions of the OS with the cape manager.

That is not the default connection of the PIN-MUX on later versions of Debian without
the cape manager.

— Graham