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....
POGO TO THE RESCUE
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 MORNING AFTER
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...
...you 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....
HARDEN UP PRINCESS
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.