Eliminating programming headers

Go To Last Post
15 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I'm working on a PCB in which size is of great importance. I haven't found a good solution for getting rid of the programming headers yet for my mcu and Bluetooth module. They take a fairly large amount of room on the PCB and I already have the smallest ones available. When looking at commercial PCB's from e.g. printers or any other hardware devices, I always notice the absence of these headers. How do they solve it? What are my options for getting rid of these headers? I've looked at production programmers such as equinox ispnano but apart from costing quite a bit, this doesn't seem to solve my problem as headers are still needed. I also thought about soldering my chips onto a pcb for programming, and then take them off again and place them on the final pcb but this is pretty labor intensive. So basically I'm looking for a cheap way to eliminate the need for headers used for programming (or strongly reduce their size). Also, how is this different from how it is normally done in production? Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This topic has been raised here many times. (But I cannot remember where... sorry).

 

Depending upon quantities, you could get your chips preprogrammed by the supplier at a smallish cost per device before you load them on the pcb.

 

You could also arrange to have a via in each of the traces and use pogo pins to program the chip after assembly in a jig.

 

Cheers,

 

Ross

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Lots of prior discussions on this topic.

 

IIRC some options include:

Just putting an array of vias on the PCB, without the physical Header.

Put male pins in the end of the programming cable, and insert them into the holes with a pressure fit, (your thumb), to program the PCB.

Note that the array could be 1 long row, 2 short rows, etc.

 

You could also just have pads, with or without vias, and use spring loaded Pogo Pins to press against the PCB for programming.

 

Know that your programming pins don't have to be on 0.1" centers, you can use a double density header with 0.05" spacing, or indeed, any connector / spacing you want.

 

Are the uC chips PDIP or SMD?  If PDIP then using a ZIF socket to pre-program them is an option.

Similar things exist for SMD chips, but I've not used them.

 

When you need the chips in the really big quantities your Atmel vendor can provide them pre-programmed.

 

You mentioned the PCB has BT.

If you press a chip against a PCB, (without soldering it), and load a Bootloader into it, you might be able to use the BT module to load your code, and then for whatever other purpose it is present for.

 

JC

 

Ross beat me to it...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry guys, I must suck at searching, because I've looked for this multiple times and I haven't come across anything good. Thanks for your help! The pogo pins/male header approach where you just touch the pins somewhere to the board seems like a good way to go since I can place the pads or vias anywhere on the board. I'll look into this. Thanks for your help!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For REALLY small gadgets, like where you use an ATTiny in a SOT-23 pack, I've thought of using pogo pins to probe the pins themselves, or maybe enlarged solder pads so I don't need space for any 6 pin connector. Haven't actually tried it yet.

274,207,281-1 The largest known Mersenne Prime

Measure twice, cry, go back to the hardware store

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Almost all prior threads on this contain the words (phrase even) "pogo pins". Try googling that with the phrase in quotes and "site:avrfreaks.net" and see what transpires.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Something like this may help you. I have used these on a couple of projects.

 

http://www.tag-connect.com/

 

 

Quebracho seems to be the hardest wood.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have had to design some products with major space constraints. What I did was make essentially a two part PCB, though technically it is still a single PCB, the main PCB is connected to a programming header through a very thin piece of PCB. After the unit the programmed and tested, I cut off the programming header around the thin neck.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

John_A_Brown wrote:
Something like this may help you. I have used these on a couple of projects.

 

http://www.tag-connect.com/ 

I met the guy who invented these when he was over here promoting it at Embedded Live back in 2010

http://blog.antronics.co.uk/2010...

 

At this very moment I have one on my desk for a Bluetooth "dongle" I'm working on:

 

TagConnect with Keil uLink

Connecting BT dongle target to a Keil uLink.

Note also the standard "small" ARM debug connector

 

TagConnect with target board

Close-up of the connection to the target.

 

The "bent" looking pins on the bottom are to hold the TagConnect in place for use while debugging - they are deliberately angled for improved grip.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I wrote:
Note also the standard "small" ARM debug connector

Nowadays, very small connectors like this are readily available - you're not stuck with big, clunky 0.1" stuff ...

 

See, for instance, the SAM D21 Xplained Pro board ...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DocJC wrote:
You could also just have pads, with or without vias, and use spring loaded Pogo Pins to press against the PCB for programming.

You can see this on the SAM D20, D21, and R21 Xplained Pro boards - and, most likely, others.

 

It is very commonly used in all kinds of production PCBs

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The same target board with the TagConnect disconnected:

 

TagConnect disconnected from target board (with mini ARM connector for reference)

 

You can see where the TagConnect connects - J2 10 pads with 3 locating holes.

So you could use the TagConnect during development, and then just "pogo pins" in production...

 

Note also the holes marked TP4, TP2, etc: these are for other debug signals which could be accessed via pogo pins, headers, or just soldering-in small wires ...

 

Again, the standard miniature ARM connector is shown for reference

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Andy, I love the way you have used the 1 cent coin (unrestrained sniggering echoes in my office)

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No other use for it here ...

 

cheeky

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
Connecting BT dongle target to a Keil uLink.
Keil is mentioned for a new arrival at Mouser :

CMSIS-DAP by aconno that is USB to Tag-Connect with legs

aconno – iot made easy

aconno

ACNPROG – a best in class programmer for ARM chips featuring a TAG-Connect interface.

http://aconno.de/acnprog/

...

Based on the open source & open hardware project CMSIS-DAP, ...

... SWD ...

... the ACNPROG is supported by a variety of popular software as Keil, OpenOCD, GNU GDB, iAR and the mbed online compiler.

...

http://www.mouser.com/search/ProductDetail.aspx?R=0virtualkey0virtualkeyACNPROG

via http://www.mouser.com/new/aconno/aconno-iot/

 

Appears to be a build of

https://github.com/ARMmbed/mbed-HDK/tree/master/Bare%20Design%20Projects/ARM-mbed/INTERFACE%20DAPLink/LPC11u35

 

"Dare to be naïve." - Buckminster Fuller