Dragonbot/Spring/2021

LDC PCB Troubleshoot 

Author: Muath Almandhari

Table of Contents

Introduction

Although designing the LDC front shield PCB board did not require me a lot of components, I was expecting to have some errors to occur electrically. This blog post will go over the steps were taken to troubleshoot these errors and to fix them.

Problem Diagnoses

After finishing manufacturing the LDC PCB board, I connected it to the 3Dot board front shield in order to check if the board will work or not. Therefore, I used the I2C scanner demo code to see if the board will get recognized by the program. I found out that the LDC PCB board works perfectly and initializes the I2C communication with the 3Dot board; however, it, unfortunately, gets stuck there and does not return any outputs. As a result, I had to get through the following diagnosis stages to find the source of the problem.

Check Pins Voltages

Once I was not able to make the PCB Board give an output, I communicated the problem with Chris who suggested me to check on the voltages between the pins and check if there are any left soldering bridges that were not removed. So, I started checking the voltages between the pins that were supposed to be connected together, pins that were supposed to be connected to 3.3V, and pins that were not supposed to be connected together with a multimeter. This step was important to inspect if there are any short or wrong connections that occurred. However, I noticed that all the pins had the right voltages, and all the connections were fine.

Re-Soldering The Parts

Since I was not able to detect any short or open connections between the pins and knowing that the problem was on communication, I decided to resolder the LDC1612 ICs only and check if my soldering was well enough. Therefore, I resoldered the ICs again but for this time I made sure that all the pins would have enough soldering paste and well connected without any soldering bridges. Unfortunately, I still had the same results.

Checking PCB Circuit Design

Since the results remained the same after resoldering the parts and the voltages were fine, I realized that the problem might be the circuit design itself. Therefore, I reached out to my classmate Thomas who is a member of the UglyBlue team and working with the same sensor. Reaching out to him was very helpful because it helped me to figure what the problem was. After comparing my PCB design to his, I realized that he was only using the LDC internal clock; however, I was using both internal and external clocks. Therefore, I believe that my issue was because of adding the clock oscillator to the LDC IC’s ADDR pin.

Problem Solving

Since I was not able to use my manufactured LDC front shield PCB, I had to find an alternative for the issue; hence, I decided to use the LDC breakout board for the navigation. Due to my PCB circuit design assigns each LDC IC to a different specific address which are 0x2A and 0x2B and the LDC breakout boards are always assigned to the default address, which is 0x2B, I was required to make some changes on one of the LDC breakout board in order to make it specified to address 0x2A.

Therefore, after reviewing the open-source LDC PCB design by Seeed.com, I realized that I am able to assign the LDC breakout board to address 0x2A by cutting the 3.3V volt trace of the jumper that is connected to the ADDR pin of the LDC as the image below shows at the mark X.

This step would allow the ADDR pin to not be always connected to 3.3V and assigned to 0x2B address, but rather than that it will be always connected to GND and assigned to the address of 0x2A.

Image 1: LDC1612 Open Source PCB Desing.

Image 2: 3.3V Trace Cut-Off

Conclusion

Although I was not unfortunate enough to use my manufactured PCB board for Dragonbot, I was able to use the LDC breakout board for the mission. Furthermore, troubleshooting helped me a lot in understanding that errors can occur in any construction process, and help me to learn how to diagnose the problem and how to take the right steps to solve these errors.

References/Resources