cancel
Showing results for 
Search instead for 
Did you mean: 

How to increase the range of VL6180x

Nicky
Associate

Hi, i would like to increase the range of the VL6180X but i don't know which register i have to modify. I see the code in the RangingAndALS_NucleoXXX sample but i don't understand how the VL6180X register have been modified in order to increase the measuring range.

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

When we invented that chip, we expected it to range to 10cm or so. So the range result only needed to be one byte. 

That should be fine they said.

but the 6180 can with a bright target get to 600mm and that doesn't fit in a byte.

So we put in a 'multiplier' which can be 2 or 3. 

with a multiplier of 2, and a real distance of 500 mm, we return 250. 

It's on you to take the result we send and do the x2. 

Otherwise there is nothing else to set. 

but you are going to have to remember which multiplier you set. 

look for VL6180x_UpscaleSetScaling() in the datasheet.

-john


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'

View solution in original post

1 REPLY 1
John E KVAM
ST Employee

When we invented that chip, we expected it to range to 10cm or so. So the range result only needed to be one byte. 

That should be fine they said.

but the 6180 can with a bright target get to 600mm and that doesn't fit in a byte.

So we put in a 'multiplier' which can be 2 or 3. 

with a multiplier of 2, and a real distance of 500 mm, we return 250. 

It's on you to take the result we send and do the x2. 

Otherwise there is nothing else to set. 

but you are going to have to remember which multiplier you set. 

look for VL6180x_UpscaleSetScaling() in the datasheet.

-john


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'