2025-04-28 11:24 AM - last edited on 2025-05-23 1:16 AM by Peter BENSCH
Hello. I have recently made a custom PCB as a learning project and I have issues with getting data from the sensor. I have used multiple VL53L7CX Satel prebuilt breakout boards and those work fine with my software. I have used both the qwiic python library and the ULD driver on a raspberry pi which have worked fine, but when I use the same code for the custom PCB the sensor does not measure data.
When I use check_data_ready() which should turn true when data is available, it never returns true. I have also tried bypassing this and just reading the data, but i get an output of 8x8 zeros.
For simplicity, my code is just a small variation of the code at: https://github.com/sparkfun/qwiic_vl53l5cx_py/blob/master/examples/qwiic_vl53l5cx_ex6_settings.py
(Just added my code for swapping to the correct MUX channel)
Are there any apparent problems with this that may cause it to not return data? Is there an initialization prossess I need to think about that is not handled here? With the prebuilt ones they worked out of the box. The only connections used on the PCB are 3.3V GND SDA SCL with the port.
2025-05-23 10:57 AM
In that picture, you still have the Kapton tape over the sensor. I'm assuming the pic was taken before you tried the sensor. But that tape does need to come off.
after issuing the start command, use a non-Iphone camera to see if the VCSEL (laser) is firing. (Iphones have too good an IR filter on them.)
check the status of all the calls thus far. Are the statuses good?
Sometimes the I2C transaction fails, and the return status is not validated so you never find out until a response is expected.
Some MCUs do not support really long I2C writes, and that leads to the initialization failures.
- john