Skip to main content
Visitor II
May 29, 2019
Question

VL6180X Not working with 10KHz I2C Frequency

  • May 29, 2019
  • 1 reply
  • 586 views

Dear members,

I am currently trying to interface Arduino Atmega 328p with VL6180X via I2C Bus. I have prepared basic code for reading Range value in single shot and continuous  mode, it is working file. Now I changed I2C SCL to 100 KHz, 50 KHz, 20 KHz , sensor seems to be working file. I have connected DSO Oscilloscope and checked the I2C data frames, everything seems to be fine.

Now due to project requirement  I must use I2C SCL = 10 KHz only. With this freq, the data value always remains to either 0 or 255, and the RESULT__RANGE_STATUS registe r(0x04D) has value 0x01. I tried disabling sysrange__early_convergence_enable from register SYSRANGE__RANGE_CHECK_ENABLES (0x02D), still no help.

Surprisingly I can read device ID (IDENTIFICATION__MODEL_ID) at this frequency, which confirms that there is no any issue on I2C side. I suspect there is some issue on writing register value or some timing parameter on sensor side.

Does anyone has tried to use this sensor at 10 KHz.

    This topic has been closed for replies.

    1 reply

    ST Employee
    June 21, 2019