One of the most common issues I see with schematic and PCB layout is crossed wires. For example, the designer has connected the USART peripherals transmit line to the transmit line of the receiving device instead of the receiving line. The designer thought they had it right, but maybe each device specified what Tx and Rx mean from a different perspective. Given two choices, Murphy’s Law guarantees that we will select the wrong choice 100% of the time. This post will explore a few PCB tricks that designers can use to recover from a crossed wire error.
Cutting and careful soldering
When we discover that we’ve swapped the Tx/Rx or the CTS/RTS lines, we know 100% that we will have to go back and rework the PCB artwork to make it right. In the meantime, the electrical engineers and the software developers will need those boards for testing. I typically see designers assuming that they will get it right on the first try. With a wrong assumption, the designer or board house is going to be forced to follow an annoying procedure which includes:
- Scrapping the solder mask off the offending traces
- Carefully cutting the offending traces to break their electrical connection
- Soldering jumper wire from the first exposed trace to the other exposed trace
- Repeating step 3 for the other trace pair
While this will fix the electrical connections, the result is a franken-board that is delicate and prone to failure.
Designers should lay out their board with the expectation that there will be errors; after all, we are only human. Let’s now examine two tricks to make reworking such errors easy.
PCB Trick #1 – Include two vias on each trace
The first trick designers can use is to include two vias on each trace, as shown in Figure 1. The vias provide two advantages here. First, it gives a prominent place to cut the trace to severe the connection between the two devices. Second, the vias act as a perfect place to solder wires! We can use rework wire and solder it into the two vias, assuming we’ve sized them properly. The time required for the rework is minimal, and the board fix is much more robust. While we know the software developers will still probably break the wires somehow, it should take them longer, and when they do, the repair is simple since it won’t be a broken trace.
Figure 1 – Include two vias on each trace to ease cutting and jumpering crossed-wire errors.
PCB Trick #2 – Use an inline resistor
Using a couple of vias is a reasonable solution, but I don’t like having to cut traces on the board. I also don’t like having to add extra holes in the PCB, partially because it can increase the board cost. (Although, honestly, the cost increase is minimal, and it does provide extra test points for debugging, which is always beneficial). If I’m laying out a PCB, I will add inline resistors on traces, as shown in Figure 2.
Figure 2 – Using an inline resistor quickly provides a pre-cut trace and pads to solder jumper wires.
If the designer didn’t make any mistakes laying out the board, they would populate a $0.001 0-ohm resistor. However, if there is a mistake, the board is set up to resolve the issue in just a few minutes.
The inline resistor trick is essentially the same idea behind the multiple via trick, except that we have less work! The pads for the inline resistors automatically “cut” the trace for us. The pads also provide an excellent soldering point to solder jumper wires to the right connections! Again, I would recommend tacking down the soldered wires to prevent any stress from lifting the pads off the board and damaging it.
Schematic and PCB errors are bound to happen. No matter how much experience you have, there will be an issue at some point. Rather than assume that we will get it right on the first try, plan for errors. Crossed wire issues with Tx/Rx and RTS/CTS pairs can easily be fixed on prototype boards with minimal rework by using either inline resistors or adding a few extra vias to the traces. You’ll be glad you thought ahead when you have a dozen boards that need to be reworked.