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.

This discussion is locked. Please start a new topic to ask your question.
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.