▲ Electronics |
A while ago, I had made a little circuit to piggyback behind a standard 16x2 character LCD module. It worked fine when I made it, and I stuck it away on the shelf. When I went to use it again recently, I found it wasn't working. Or rather, it was working intermittently, maybe only about 5% of the time. I swapped the LCD for another one, and it worked perfectly! Then I put the original LCD on my PIC dev board, and it also worked perfectly! What on earth was going on?
After nearly an entire day of pain, which included zapping one LCD with ESD, burning out a PIC and two 5V regulators, I discovered the problem was down to the actual connectors on the LCD.
You can see closeups of the connectors in the photos below. The PCB board has pins, and the LCD modules have a corresponding socket. The LCD which did not work had cheap sockets I had soldered on myself. The connectors in the cheap sockets consist of a small sprung contact bent to a "U" shape which is supposed to wrap around the pin. However, the little fingers on the contact were so far apart that they hardly gripped the pin, and almost five of the connectors didn't make contact at all!
By contrast, the good LCD (which was, incidentally, the one I later zapped) had sockets which used little stamped "tuning fork" contacts, also shown below. These are much stiffer and provide a much better contact with the pins. I ripped off the cheap contacts, replaced them with a strip of good ones, and the original LCD now works perfectly.
Lesson - if you're using PCB header connectors like these, make sure you use the ones with the tuning fork contacts. Also, make sure you use pins with a decent length so they insert fully into the corresponding sockets - different lengths are available, and I've sometimes found that shorter pins don't make reliable contact. However, "tuning fork" sockets are much more forgiving in this respect since the contact point is close to the entrance of the socket.
▲ Electronics |