Electronic – Why are male pins used for in circuit serial programming

icspispjtagmicrocontroller

In most boards, the ICSP (in circuit serial programming) pins are of the male type. Is there any reason, guideline, standard or best practice that recommends this?

If not I would like to use female ports so that the power and ground cannot be accidentally shorted or the reset (active low) accidentally activated during repair or troubleshooting.

Most good quality programmers also have female ports for programming – I wonder why?

Best Answer

Male headers are generally less expensive and, with exposed pins, less likely to pick up internal contamination (for example during washing of the boards) without the necessity of seals that have to be removed etc., so they're generally the better choice. Most products are not designed to be exposed to troubleshooting or repair by unskilled people, and usually a short will cause no physical damage anyway (supplies are current limited and only logic voltages are on the connector). If you are sharing the connector with higher voltages, negative voltages or AC you may have other concerns.

Of course you can use pads and pogo pins or a Tag-connect cable, but a simple header allows anyone anywhere in the world to make up a suitable programming cable in a pinch. And they're cheap and reliable.

As far as programmers- many of them such as Segger, Lattice, Atmel SAM-ICE, STlink V3, PIC-KIT3 etc. have male pins in an shrouded header and an easily replaced F-F IDC ribbon cable is used between the programmer and the board. The only ones I notice that do not are Microchip ICD-2/4 which still use the original RJ11 female jack.