On Board Connection to PIC ICSP?

Thread Starter


Joined Jan 18, 2008
I usually use a 0.1" pinheader for connecting an ICSP programming cable to my board. Looking for something smaller and particularly with less height above the board. Options being considered are: R/A pinheader, USB mini or micro socket, and something like this with top insertion, and 1.2 mm pitch:

That's a JST ACHF connector. Molex makes something almost identical, Pico-EZmate in both 5-pin and 6-pin versions. In terms of rated connection cycles, USB is hands down the winner; however in this instance, that would not be an issue as connections during development can be done at the RJ11 end (ICD3 programmer). My biggest concern with USB is that someone my unknowingly plug a real USB cable into it. I will put ground and Vcc power in the usual USB positions, but that still may not help my PIC.

Any experience with alternative smaller ICSP connectors to share? Pogo pins will not work because of the vertical space restriction I have (4.6 mm).

Thread Starter


Joined Jan 18, 2008
That is the only thing I have used to date too. One small step I take in addition is to use "Berg" contacts (https://www.connectortips.com/breakthrough-contact-design-spawned-500m-connector-company/ )in the female housing. I believe Amphenol FCI is the current owner, and the contacts are getting harder to find. I will probably buy another 100 or so soon, as I also depend on them for servo contacts in my models.

I am questioning about alternatives people may have used.

Done that many times. For my current project, I want the whole thing in a box the size of a 64x128 typical GLCD. Pushing the R/A header back so there is no overhang takes a lot of space.


Joined Jun 26, 2012
I am questioning about alternatives people may have used.
For production stuff, I have had success with edge connector fingers. Free and no connector required. They don't need to protrude from the edge of the board if you can route clearance for the connector housing. For a small board like shown, you can also use a connector housing that fits over the whole board end or saw the end off the edge connector and fit it over a corner.

If you can, consider using the ISCP pins for LCD control. Then you can program the boards before assembly using the already purchased LCD header. That complicates debugging with ICSP but you can hack a board for development that relocates the LCD controls and use a switch in the source code to relocate the IO for development. Done that, too.

Basically, I am cheap and just don't like purchasing connectors that will get used only one time for programming.

Just my .03 - affordable if you don't have to buy connectors :)

Beau Schwabe

Joined Nov 7, 2019
We just put 0.1" connector pads on the PCB but don't populate it with a header .... The programmer provides the pin header and we just plug it in, angle it a little and program. We have done this on 1000's of boards without any issues.


Joined Aug 27, 2009
You might want to think about using R/A pin header sockets as an PCB top edge connector. You would need a male/male adapter for the programmer.

Thread Starter


Joined Jan 18, 2008
I like the card edge connector idea, but not for this project. Here is a picture of the problem I am facing.
I picked up a nice box that fits a GLCD, small Li-ion battery, backstand, and has molded holes for soft buttons (6) for tactile switches on the board. The component side of the board clears the LCD by 4.6 mm. The bottom of the board clears the battery box by less than 1/16". As mentioned in other threads, I will be milling a slot in the PCB for a thermocouple socket.

A molded cover goes over the open area, so nothing can extend very far past the edge of the PCB. (The PCB that you see is what came with the box; mine will be different.)

The code is 90+% complete but does not include a few user interface add-ons. Hence, I will be doing some development.

As for specific suggestions:
1) An R/A header will work. 0.1" pitch with slim connectors will fit, but that does take up a lot of board space. A 2-mm header will save same space.
2) I switched to a 44-pin TQFP chip (16F1789). The additional pins and IOC ports have made routing easier. For the little development needed, I will need an operating display, as it will be mostly menu and dialog development.
3) The idea of using tilted pins in PTH's could be called right angle pogo pins. I can imagine that working well in a controlled environment.
4) I am wary of female connectors with "fork" type contacts. They have very little springiness. Berg type and some pincer types are better in my experience. The contact design is often got given in the datasheet for loaded connectors. I use the TE Connectivity/AMP 5-534237-n for my protoboards, Its contacts are what I call pincer. It is also quite large.

1) I will trash the side insert connector for ICSP. I am using the 3-pin version for battery connection as the blade contacts give 2 to 2.5 A current rating. It's a neat design and is easier to unlatch than, for example, a Pico-Lock when you don't have fingernails to release the side locks. I anyone needs an Eagle package, I have them for both the JST and Molex versions.
2) A mini-USB (B) connector is still on the table.
3) I will dig more into the R/A pinheader (2 mm) and see how that will fit on the PCB.
4) I will also look into some short R/A female connectors, but my prejudice is for male pins on the PCB. They don't wear out.

Thank you all for the input.