Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Using two 3-Channel Wide FOV Time-of-Flight Distance Sensor Using OPT3101

I’m trying to connect two 3-channel wide fov sensor using OPT3101 IC, since it supports i2C I’m trying to change the address of one of the sensors so I can communicate with each one separately to achieve ~360 degrees of coverage. but when i change one of the adressess it gives me an error in the arduino terminal and im not able to communicate with one that its adress was changed is it possible to have twp OPT3101 ic’s with different adresses on the same i2c bus ? if yes i would be glad for some help on that
thank you


Unfortunately, this board does not allow the I2C address of the OPT3101 to be changed. If using multiple boards on different I2C buses is not an option for you, you might look into trying an I2C multiplexer.


@kevin In the arduino library provided for the opt3101 there is a function setAddress(), are you saying that this function isn’t actually capable of changing the address, and a multiplexer is the only option for using multiple of these on the same arduino board?

Thanks in advance.

Hi, MWonga.

Yes, the setAddress() function only changes the address the library uses to communicate with the sensor, and it currently exists only to provide flexibility for use with other boards that we might make in the future. (We realized the readme’s documentation for that function is kind of misleading, so we will be rewriting it a bit.)

There is no way to change the I2C address on our current 3-channel OPT3101 board, so yes, you would need a multiplexer or separate I2C buses to use multiple sensor boards with a single Arduino controller.