Skip to content

1V8 vs 2V8 Mode #32

@Muny

Description

@Muny

The VL53L1X datasheet says there are two modes which correspond to different IOVDD voltages:

Section 5.2
https://www.st.com/resource/en/datasheet/vl53l1x.pdf

The VL53L1X user manual then tells the user how to switch between these modes (this seems to be for the old API):

Section 2.5.9
https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/98/0d/38/38/5d/84/49/1f/DM00474730/files/DM00474730.pdf/jcr:content/translations/en.DM00474730.pdf

In the register configuration array in the code here, there seems to be a contradiction:

0x00, /* 0x2e : bit 0 if I2C pulled up at 1.8V, else set bit 0 to 1 (pull up at AVDD) */
0x00, /* 0x2f : bit 0 if GPIO pulled up at 1.8V, else set bit 0 to 1 (pull up at AVDD) */

Unless I'm misunderstanding this, it seems that bit 0 should be set for both of these register values. The two pins ~INT and ~SHUT are pulled up to AVDD (3.3V) on the SparkFun board.

Does anyone know what these registers actually do? Do they enable some internal pull-ups which are not used here because the SparkFun board has pull-ups?

The pololu library does seem to support switching between the modes:
https://github.com/pololu/vl53l1x-arduino/blob/0636d160b61c54ee4ae249427fa8d67efb818f06/VL53L1X.cpp#L30-L35

Their board also pulls-up these pins to AVDD.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions