Spring loaded pins vs. wires - Page 1
Forum section: electronics / beginners

author: permal
author_rank: Regular Contributor
timestamp: November 08, 2017, 08:43:55 pm
content: Hi,I have two PCBs mounted ~5mm apart so I usedspring loaded pinsto connect the two. One PCB holds the MCU (an ESP32) and the other board hold a voltage level shifter (the thing currently under the black tape) and five WS2812B led chips.Please have a look at the attached images. The one with the wires between the boards functions perfectly. The second one, with the spring loaded pins, does not, i.e. the WS28B led chips do not light up.* I have verified that all pins are making contact to the correct pads on the opposite board.* I can see no difference in the signal level between using either the wires or the pins.How can these long wires function while the much shorter spring loaded pins do not?What obvious thing am I missing?Also, having both wires and pins soldered causes the device to fail, just like when no wires are present.

author: Twoflower
author_rank: Frequent Contributor
timestamp: November 08, 2017, 09:00:14 pm
content: You should check the soldering. At least the 4 pins on the board now holding the PogoPins are very bad soldered. The lower left one is definitely bad, the one above probably too.It could be that the solder points you try to contact with the PogoPins are covered with oxide or flux. So try to clean them to remove any flux reminders.

author: permal
author_rank: Regular Contributor
timestamp: November 08, 2017, 09:14:36 pm
content: The lower left isn't soldered at all, only 3.3, 5 and GND are on those pins. I've been attaching and removing wires to them several times so they look a bit nasty, but I am sure they have proper contact.As to the solder points that are to make contact with the pogo pins, they do make proper contact - I can measure all voltages and also verify the signal on the scope on the receiving board. I know this sounds like a bad connection, but I really don't see how it could be since I can measure the Vcc/GND and the signal on the other board. There is of course something going on there, I just can see what.

author: nanofrog
author_rank: Super Contributor
timestamp: November 08, 2017, 09:33:30 pm
content: Also thinking the pads the pogo's make contact with are oxidized/dirty. Pogo's with multi-pointed crowns could help with this as they're made to cut through oxides.

author: permal
author_rank: Regular Contributor
timestamp: November 08, 2017, 09:36:40 pm
content: No, the pins are making contact. DS1Z_QuickPrint1.png shows the signal when the pogo pins are in place,notfunctioning. DS1Z_QuickPrint2.png shows the same signal with the wires in place, fully functioning.

author: KL27x
author_rank: Super Contributor
timestamp: November 08, 2017, 11:40:02 pm
content: QuoteThis is the strange thing. Maybe you can try this again, but put kapton tape over the pin contacts? I'm curious if the physical presence of the pins, themselves, can possibly cause a problem.In any debugging, I try to start with the obvious, so forgive me for asking.... how much juice are you running through these pogo pin connections? I actually don't know the max limit, but I wouldn't think it's very high. The contact area between the tip of the pin and the pad is very small.Again, stating the obvious because why not?:Maybe higher impedance is what is making it work. The wires being longer are perhaps adding enough impedance to fix something. So when you use pins + wires, you are removing that from the system. You maybe need small inline resistor or inductor on some of your signals to mimic 4 inches of wire??

author: Jwillis
author_rank: Super Contributor
timestamp: November 09, 2017, 12:17:37 am
content: Just a shot in the dark, but do you get continuity between the top of the pin and the base of the pin and to the trace to which the base is attached?

author: JXL
author_rank: Regular Contributor
timestamp: November 09, 2017, 01:30:27 am
content: I have used thousands of pogo pins to do board-to-board interconnects, but the contact pads are always gold plated.Your pads appear to be either tin or solder plated, which can cause large resistance at the contact point as @nanofrog pointed out. If you have to use pogo pins, you can change to spear type heads, but the contact points should be vias which are not filled with solder. Select spear heads with 3 or 4 edges, so these edges can cut through the oxide in the vias.However, instead of using pogo pins for this application, I recommend using machined socket receptacles and pins.

author: Brumby
author_rank: Unknown
timestamp: November 09, 2017, 01:49:31 am
content: Quote from: JXL on November 09, 2017, 01:30:27 amI am strongly inclined to agree.Like others, I have a concern about the quality of the contact using pogo pins. A firm plug-and-socket arrangement gives me much more confidence about the connection.While you say the pogo pins are making contact, it is clear that there is something problematic with them since replacement with hard wiring results in correct operation.If you want to track down why there is a problem with the pogo pins, I would suggest you try replacing one pogo pin at a time with a wire (or vice versa) to find a pin which is involved in the problem. Once you have found one, then leave that connection hard wired and try the others, just in case there is more than one pin causing issues.Since I would guess it is likely there is only one pin involved, I would then get really up close and personal with it. Microscope, photographs, low speed and high speed signal measurement - including transients, whatever you can think of and maybe, just maybe, you will find that Eureka moment.If you just want to fix it, I'd try the plug and socket idea.

author: Ash
author_rank: Regular Contributor
timestamp: November 09, 2017, 01:57:32 am
content: So you state that the board works with wires, but doesn't work when you have wires + pins...Is there an issue with the pins putting the spring tension between the boards causing something to flex? A broken hair line fracture in a track, a resistor, a capacitor a pin not soldered properly on an IC?Like everyone else, I'd be looking at some sort of machine pin / socket arrangement, not pogo pins.Ash.

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 07:46:15 pm
content: First, thanks all who have taken the time to read and answer my question.I've been at this again this evening and have managed to get it two work with three of the four pogo-pins. The one that doesn't function is the data line for the WS2812Bs. If I take any shorter wire than the yellow one in the image, then it stops functioning. This tells my newbie brain that there is some impedance issue at play here.I tried to add a 100nF cap to GND and a 4.7 Ohm resistor in series (also tried 1 Ohm), but that didn't help. So, assuming that I'm actually on to something here, how do I proceed?Edit: The next version of this board won't be using pogo-pins.

author: Twoflower
author_rank: Frequent Contributor
timestamp: November 09, 2017, 07:59:52 pm
content: A very far shot into the wild. Could that be a missing pull-up resistor? The ringing caused by the inductivity by the wire makes it work? What format is it (I2C, SPI, OneWire, ...)?Any chance to provide the schematics at least of the related part?

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 08:13:15 pm
content: Here is the datasheet of the WS2812B:https://cdn-shop.adafruit.com/datasheets/WS2812B.pdfIts rather sparse on information, but I've never seen anyone use pull-ups for these. Though that doesn't mean anything I suppose.The two images show the array of WS2812B, with their respective caps, which are fitted and the MCU (ESP32). I made a mistake with the level shifter (TXB0102 U601), so it is connected backwards in the schematic so it is currently not fitted. I'm instead using another level shifter soldered onto a breakout board, seen taped to the pcb in the images.Edit: The crossed out resistor is another mistake and isn't fitted.

author: mariush
author_rank: Super Contributor
timestamp: November 09, 2017, 08:25:27 pm
content: I don't understand something... why do you want to complicate your life with pogo pins and all that?Why not flat flex cable for example, surely it's cheaper and faster than manually soldering those pogo pinsExample50.8 mm ribbon 1mm pitch 8 positions :https://www.digikey.com/product-detail/en/molex-llc/0152670225/WM10540-ND/4427106connector with 1 mm pitch 8 positions , 2.7mm tall :https://www.digikey.com/product-detail/en/molex-llc/0522070860/WM3375CT-ND/2405762if you can group those into a neat position where you can solder a connector on each board, you can then use the ribbon cable to connect the boards, and if you buy in volume it's probably cheaper than using pogo pins.Or have standard ribbon cable soldered to one of the boards and connector at the other end and have a right angle header on the other board .. the cable is attached permanently to one of the boards. Would be even cheaper.

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 08:32:01 pm
content: Like I wrote above: The next version of this board won't be using pogo pins. And I'm not buying in bulk. This is just a hobby project of mine. I'll make maybe one or two of this device. I really do appreciate the input, but can we please focus on the actual issue instead of the pogo pins? Until I've updated the design and ordered new PCBs this is what I'm stuck with.

author: Twoflower
author_rank: Frequent Contributor
timestamp: November 09, 2017, 08:32:13 pm
content: Sorry for the questions you actually had answered in the first post.Keep in mind that the WS2812B are not connected to the controller. It is the levelshifter. And if it is the TXS0102 it has 10k Pull Ups included. So no that should be OK. The only thing that comes to my mind is to check with a scope how the signals look at the input and the output of the LS on the board with the LEDs with the cable and with the pogo pins. For this you should use a very short ground-cable to prevent any ground-loops messing up the measurement. Look at the rising and falling edges. As that's the area were I would expect problems.

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 08:38:25 pm
content: Yes, that is a good suggestion. Also, I just realized something. Look at the screenshots of from my scope a few posts up - the signal doesn't reach 5V, it peaks at ~3V. Afaik, the WS2812B uses 5V logic, don't they? I mean, that is why I even bothered with the level shifter.

author: Twoflower
author_rank: Frequent Contributor
timestamp: November 09, 2017, 08:41:57 pm
content: OK, if the scope pictures are after the levelshifter you should check what you've done under the insulation tape.By the way, why do you're using a bi-directional levelshifter? Isn't a 'one way' OK and prevents even some backfiring to the MCU-board?EDIT: Hmm, something's strange with the scope pictures. you see some signals going higher than others. They are longer high. So it looks like the load is to big. What happens if you detach the LEDs from the LS? Also what happens if you drive a constant 1 there with the LEDs? Does it reach 5V?

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 08:48:30 pm
content: It's confirmed - the level shifter I use now doesn't do its job properly. The WS2812Bs *do* use 5V logic. Measuring in between two of them shows a nice 5V logic signal (when using the long wire).Quote from: Twoflower on November 09, 2017, 08:41:57 pmGood question, I'm not sure. I think I was recommended that particular LS. I'll make a note of that and change it to a one-way variant in the next version of the PCB.

author: Twoflower
author_rank: Frequent Contributor
timestamp: November 09, 2017, 08:55:10 pm
content: By the way, the LEDs can also operate at 3.5V and then a 3.3V logic level might work as well (0.7 times VDD). Actually the 3.3V is barley off if the VDD is 5V (min Vih @5V = 3.5V). At least if the datasheet is correct.I wouldn't be surprised if a one-way type would be drop in compatible.

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 08:59:03 pm
content: Quote from: Twoflower on November 09, 2017, 08:41:57 pmDetaching the LEDs gives the same result as in the images above, peak at 3.16V. I'm quite sure I tested the LS with a constant 1 before I soldered it to the PCB and I remember it giving 5V out, but I'll check again.Quote from: Twoflower on November 09, 2017, 08:55:10 pmYeah, that explains what I see.

author: permal
author_rank: Regular Contributor
timestamp: November 09, 2017, 09:10:25 pm
content: I took another LS of the same type I was using and a constant 3.V in gives 5V out, but giving it the same signal it peaks at 3.1V. It's simply not fast enough for this.Lesson learned: Check the voltages. Assume nothing!

author: Twoflower
author_rank: Frequent Contributor
timestamp: November 10, 2017, 06:11:15 pm
content: Something does not count up here. And before you haven't nailed down the real root cause I wouldn't do a respin of this boards.Please check that you power the TXB0102 correctly. You might need the bypass caps otherwise the fast switching might get you in trouble. Especially the one shot circuit (the needles you see at the beginning of the rising edges) in the LS could cause a nasty drop on the supply.Because the TXB0102 is rated up to 100MBPS in a 3.3V->5V configuration with max 2.7ns rise and fall times on the 5V side. This is much faster than you see in your plots. And should be sufficient speed wise.Or the bi-directionality might cause problems. Try a pull down resistor on the 5V data line. To make sure the TXB0102knowswhich direction the data should flow.EDIT: (Note to myself: Remember to add all suggestions before hitting send)Can you check how the supply voltages look like close to the TXB0102? Use your scope to see if there is some notable ringing. As well: Short GND and signal leads will provide more realistic results as this enters reasonable high frequencies.

author: permal
author_rank: Regular Contributor
timestamp: November 10, 2017, 10:06:53 pm
content: Twoflower, it does add up. As I wrote inthis postI'm using another level shifter. I could have been more specific. The one I'm using now is just a cheap one from ebay that have been working fine so far - on a bread board, with wires. As you say, the TXB0102 should handle this without problems.Thank you so much for your input, it is very appreciated.