cancel
Showing results for 
Search instead for 
Did you mean: 

VL6180X Not working with 10KHz I2C Frequency

VKulk.8
Associate

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.

1 REPLY 1
Julien NGUYEN
ST Employee

Hi,

You may find the answer here:

https://community.st.com/s/question/0D50X0000Az2kJhSQI/vl6180x-not-working-with-10khz-i2c-frequency


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.