Using a Lidar-Lite with Mesh Devices

I am attempting to use a Garmin Lidar-Lite with Mesh devices. It is a 5V sensor.

https://buy.garmin.com/en-US/US/p/578152/pn/010-01722-10#

In its manual, the connection to I2C lines requires the resistors shown below. One side of the two resistors also connects to 5V on the Arduino.

In the case of a Xenon, should these i2C resistors be connected to VUSB or 3V3?

Thanks in advance for the communtiy’s help.

Connect the pull-up resistors to 3.3v

1 Like

Thank you Sir.

With 5V I2C sensors you must make sure there are no on-board pull-up resistors when you want to use such a sensor with a mesh device.

Since the table mentions “not required in all applications” it’s best to double check the voltage on the SDA/SCL lines when the sensor is powered up but not connected to the controller’s communication pins.
If you see 5V don’t directly connect the sensor but use a level shifter.

1 Like

Thank you @Scruffr. Your advice is definitely the right way to check.

I checked, powering the sensor with 5V yields 3.3V on the i2C lines (this was done with their older lidar-lite but I think the sensors are the same.

I also found this in the manual of the new sensor:

“The I2C bus operates internally at 3.3 Vdc. An internal level shifter allows the bus to run at a maximum of 5 Vdc. Internal 3 kiloohm pull-up resistors ensure this functionality and allow for a simple connection to the I2C host”.

1 Like

I think @ScruffR’s note is pretty clear, but I just want to be double-sure I’m not in the middle of making some bad design decisions in a current project. I think I am.

The project uses the Argons/Xenons. On one Xenon we’re using the same Garmin Lidar Lite as the original poster with no pull-up resistors and a short (6") cable. It’s been working as expected, and this combination field-tested ok for several weeks of constant activity.

However, we are about to add 3 more sensor inputs to the same Xenon’s i2c bus using this i2c expander:

  • In testing, I’ve been using the isolator board’s onboard pullup resistors. Based on ScruffR’s note, this is bad, correct? I should be using pullups from the Xenon’s sda/scl pins to 3.3v.
  • Also I’ve been connecting the output of the board directly to the scl/sda pins on the Xenon. Sounds like this is also bad. Unlike 2nd gen devices, 3rd gen aren’t designed to tolerate 5v signals to the i2c pins. So even though this combination has been working in limited early testing, I’m asking for trouble longer term and should be using a 5v->3.3v level shifter. Correct?

So bottom line, 5v + i2c on 3rd gen = no-no?

TIA for any responses!