Introduction: VL53L0X Sensor System
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
Step 1: Design Choices
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.
Step 2: Solder Headers to Sensors
Make sure the headers are parallel with the sensors as much as possible. A clamp may be needed.
Step 3: Solder Dupont Headers to PCB
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.
Step 4: Up and Front Sensors
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.
Step 5: Left and Right Sensors
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.
Step 6: Left Sensor to Middle
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).
Step 7: Add Sensors
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.
Step 8: Add Jumper Cables
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.
Step 9: Applications
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