Monday, 18 March 2013

Missed it by *that* much...

I've always loved Get Smart.  I always felt just a little bit sorry for Max, when he'd try so hard and *just* miss out... but then you'd cheer when it all came together for him in the end.

It's a bit like how I feel about Tag Connect.

When I was a lad....

The introduction of FLASH based microcontrollers was a bloody godsend.  All of a sudden you didn't need to bother with programming EPROMS, dealing with 20 minute UV erasing cycles, and you could programme your device after board assembly.

If you have ever built something in quantity, you will realise how damn good being able to do that is!

But if you have ever built anything in quantity, you will do whatever you can to reduce your build cost.  Getting rid of a $2.00 programming header could really bring in some decent benefits.

By the way - when I'm talking 'build in quantity' I mean in the hundreds.  I've never faced the challenges of building in the *thousands* but I've never had the advantage of those price break points too.  So yeah, a simple programming connector that might cost Apple ten lousy cents, did set my BOM back 2 bucks.

Again, it was time to dig into the old engineers toolbox to see what can be done to sort this.  This time I decided to 'see what everyone else did'.


The good old NOKIA 3210.  Not as indestructible as the internets would have you believe (urinal 1, 3210 zero...) but pretty damn good.  Anyway, if you ever pull the back off of one you can see where NOKIA made provision for an external connection - not to programme them but to interface to their serial M-Bus / F-Bus.
NOKIA Bus Connector

The clever thing about this connector is that it is only pads on the PCB - the actual connector part is the bit you plug in.  Its a specially molded connector carrying spring loaded 'pogo' pins.  It probably costs more to make one of these as opposed to a regular mating connector - but if you only need a few of these to programme a few thousand target boards, you will end up in front.

NOKIA connector cable

Plug and Play!

The thing I didn't like about the NOKIA solution was that it relied on the housing to hold it in place.  Not obvious in the above pictures is the fact that the plug clips into the plastic molding of the phone itself.  So, it's a good solution for the phone, but not a general purpose connector.  But it got me thinking....


You can get 'pogo pins' from a lot of places - Sparkfun for example - and I was considering rolling my own connector.  The requirements that I set for myself were:

  • Cheap and easy to make - there wasn't any budget for specialty injection molding etc
  • No exotic parts - everything had to be second sourced
  • Fool proof operation - asymmetrical design for example so you can't plug it in the wrong way
  • Universal use - it was to work with a bare PCB, and also hold itself in place.
First port of call - start googling...  and pretty soon I stumbled upon this:  6 pin pogo-pin cable (0.100 inch pitch).  Close, not perfect, but better than what I was able to think of until then.

Blatantly Taken from Here : Au Group Electronic Forum

After a few failed attempts, and asking everyone I knew for ideas, I finally was put onto Tag Connect.

Tag connect on the surface ticked all the boxes that I was looking for.  You can't plug it int he wrong way, you can get a version that clips into the PCB (perfect for development work) or legless version with a tiny footprint and perfect for production programming.  The pics below are from Tag Connect's site itself.

Look What We've Got Here!

Options! Always good to have options.

So there wasn't much left to do but buy an few and get designing.  Yes, dream come true.


The great thing about TAG Connect is that the footprint is small.  The really annoying thing about TAG connect is that the footprint is too damn small.  Huh?

The pads for the connector are set out on a 0.050" grid, which in itself is pretty neat.  The pads have a diameter of 0.031" and this presents a problem.  Typical limits on PCB manufacture are 0.008" traces with 0.008" clearance.  You can do better, but for consumer grade stuff, going to smaller clearances can often be too expensive to justify.

With the 0.031" pads on the 0.050" grid, you only have 0.019" clearance between the pads, and for an 0.008" trace you are left with a puny 0.0055" clearance either side.  No good Jim....If you go down to 0.006" traces you can sneak a trace through with 0.0065 clearance, but often this not acceptable (from a cost point of view). These days, even the Fusion service from SEEED Studio can offer 0.006" trace and clearance but I still avoid it to keep yields high.

That's just the non-clip in type.

What made things worse, is the mounting holes for the TAG Connect then get in the way of the PCB traces.  If you take a look below: 

What should have been a simple thing to do... can see the torturous route my traces needed to take to clear the mounting holes.  I'm too lazy to show the maths, but at even 0.006" traces you cannot get two traces between the mounting holes and you end up with the mess you see above.

 So yeah, missed it by that much....


Okay, so at the end of the day, it's not my perfect solution, but it's pretty damn close.  I've been using them for a few years now, and I'll keep using them.  Thanks TAG Connect for actually doing it.


  1. Could you shrink the pads just a little bit to squeeze a 8 mil trace with 8 mil spacing between them? The pads would have to go from 0.031" down to 0.026"


    I was using the defaults as defined by Tag Connect themselves. Your idea is just crazy enough that it will just work!

  3. This is Neil, creator of Tag-Connect cables here. There are several things you can do as mentioned on our datasheets.

    1. Put a small via in the center of the pad.
    2. Plate the leg holes and use them as vias.
    3. Plate the alignment holes and use them as vias.
    3. Use the "no legs" version with the TC2030-CLIP board which will save a ton of space. You can still get small SMT stuff on the other side if needed.

    The one thing I wouldn't personally do is shrink the pads. The spring pin does not contact the center of the pad but has points around the edges.
    I'm surprised you are so afraid of 0.006" traces, they are huge by today's standards! Many boards these days are using 0.003" traces! I can't recall having had a trace yield problem in over 20 years - suggest using a different board fab if that's really an issue - contact me if you need a recommendation.

    Another thing you can do with the 6-pin cables is leave out one or two of the leftmost leg holes in your layout and carefully trim two legs off. The connector feels a little wobbly but electrically it's fine and self-retaining.