VL53L0X Sensor System

by aaaaronlin in Circuits > Sensors

2103 Views, 2 Favorites, 0 Comments

VL53L0X Sensor System

IMG_20200810_163209151.jpg

Circuit design for using multiple VL53L0X breakout boards. In this design, we have a sensor facing forward, left, right, and up. The application of this board was towards obstacle avoidance for WiFi drones.

Supplies

VL53L0X Sensor x4

Right angle headers (5 pins) x4

Dupont header connectors (5 pins) x4

Hook-up wire

PCB (30mm x 70mm)

Solder + Soldering Iron

Wire Stripper and Cutter

Handful of resistors

Design Choices

circuit_spreadout.png
Capture.PNG
circuit_bb.png
IMG_20200810_150804618.jpg

In order to easily replace sensors (if they go bad, or don't perform well), it is better to solder header connectors to the PCB instead of the sensors themselves, which is why we use Dupont header connectors. This makes it easy to slide the VL53L0X in and out of the PCB board.

For multiple sensor integration, we do not need the VDD or GPIO pins on the VL53L0X breakout board. This leaves 5 pins that need to be used: Vin, GND, SDA, SCL, XSHUT. Only the XSHUT is not shared between all sensors.

The main difficulty lies in sharing the Vin, GND, SDA, and SCL lines between multiple sensors, when each needs to face a different direction.

Solder Headers to Sensors

IMG_20200810_145527340.jpg
IMG_20200810_144542879.jpg

Make sure the headers are parallel with the sensors as much as possible. A clamp may be needed.

Solder Dupont Headers to PCB

IMG_20200810_145752618.jpg
IMG_20200810_150821005.jpg

In this orientation, the connector in the middle is for the upwards-pointing sensor.

Like the previous step, again make sure the headers are as straight as possible. Use the cutter to clip off the extra ends underneath the PCB.

Up and Front Sensors

IMG_20200810_151121967.jpg
IMG_20200810_152219406.jpg

Using solid-core wires, or the wires from resistors, connect the four shared lines between the closer of the two sensors. Make sure you are not connecting the Vin pins, not the XSHUT pins, which are to the rightmost in the image above.

Left and Right Sensors

IMG_20200810_152858765.jpg
IMG_20200810_153806730.jpg
IMG_20200810_155317829.jpg

Flipping the PCB back over, connect the four shared lines between the left and right sensors. To do this, cut and strip the hook-up wire ends to the right length. Twist the ends if multi-threaded, and add solder to the tips.

Again, make sure you are soldering Vin, not XSHUT. Adding the sensor breakout boards into the Dupont can help clarify the correct pins to solder.

Do this four times.

Left Sensor to Middle

IMG_20200810_160432621.jpg
IMG_20200810_162831040.jpg

This is the riskiest step. On the underside of the PCB, solder each of the four lines from the middle to one of the side sensors (in this case we chose the left sensor).

Add Sensors

IMG_20200810_163128371.jpg
IMG_20200810_163305878.jpg

At this point, the sensors should easily be able to slide onto the DuPont connectors. For safety, first verify the connections one at at a time for each DuPont connector, then test a multiple sensor configuration.

The total weight should come out to around 13g.

Add Jumper Cables

IMG_20200813_122204332.jpg
IMG_20200813_123613736.jpg

Cut the jumper cables to the right length w.r.t. the RPi or other microcontroller, if your microcontroller has a header already. If there is no header, then you can just solder directly with any wire.

We used tape and cardboard to secure everything together, but there are other options.

Applications

IMG_20200813_130136038.jpg
IMG_20200813_143126955.jpg

This design still allows easy access to all the necessary peripherals of the Raspberry Pi Zero W. Here, we used the multiple sensor system for collision avoidance with a Tello.

See the repository here: https://github.com/aaaaronlin/tello_collision_avoidance