Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics

Dashboard
Notifications
Mark all as read
Q&A

recommendation for chip programming connection (pogo?)

+1
−0

Background: I have several microcontroller based projects with custom PCB that have been in very-low-volume production, but the quantities are starting to go up. (batch sizes now ~100 and threatening to go to ~1000). The economics here are such that part cost is a secondary concern.

I don't feel ready to commit to having the chips pre-programmed, and while I have a bootloader, it is considerably slower than flashing the chip using it's in-system-programming feature.

So far I have put a dedicated picoblade programming header for simplicity, but even this is starting to be a nuisance, and a waste of footprint space.

Question: Looking for recommendations for alternatives, experiences, etc.

I have seen customized programming devices with pogo connectors (some very slick ones, in fact), with unmasked pads on the receiving end on the device to be programmed, and fancy alignment mechanisms.

In particular I was thinking of using something like a 1.27mm thru-hole footprint with smaller holes than the pogos to receive the connections, rather than flat pads. Then maybe ok for the person doing the programming to just hold it in place by hand for the 3-4 seconds it needs.

I was wondering if there are anyone here has recommendations for any off-the-shelf components they have used, or alternative methods that may be relevant.

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

4 comments

"I don't feel ready to commit to having the chips pre-programmed" Why not? This is no effort at all, you just contact a company dealing with such parts, give the binary to them (NDA if necessary) and buy the pre-programmed MCUs from them instead of the silicon vendor. There's usually no big MOQ. Lundin‭ 8 days ago

Also, justifying development costs of pogo pins, bootloaders etc means that you must have large volumes. Engineers cost money. How many 2x5 1.27mm SWD connectors can you buy for the engineer salary required to develop this? Almost certainly far more than a product life time of such connectors. Lundin‭ 8 days ago

@Lundin , there's a lot of truth to that. At this scale, a streamlined programmer is a "nice-to-have". I'm trying to think ahead, get the technique down, etc. Having the ability to flash it in-house (even if pre-programmed) is valuable no matter what. We do lots of product variations and connecting to each device by serial-over-USB is a pain. The bootloader was a must-have for field upgrade, and to be honest was kindof trivial to develop. Pete W‭ 8 days ago

The way I usually do this is to buy pre-programmed MCUs for high volume products ~1000pcs/year, keep the SWD connector footprint on the board but don't mount it. For products of lower volumes or products where you expect a lot of software releases, keep the connector and use an in-circuit programmer. As for bootloaders, they are indeed much easier to make nowadays since most chips support making them in some way. But they are for specialized use-cases only. Lundin‭ 7 days ago

1 answer

+5
−0

I have also had this problem for production runs of 100s to 1000 where you don't want to spend too much on a full fancy jig.

Put plain round pads on the bottom of the board. 50 mils is usually a good diameter. Those work well with simple 90° pogo pins. Don't use holes. In my experience, a pogo pin to hole contact is less reliable than a pogo pin to flat pad contact. Note that if you do use holes for some reason, you have to use pogo pins intended for that.

The production jig is the more tricky part. We worked with a mechanical engineer to create a basic design for such jigs for small boards. We design a board that the pogo pin sheaths mount to directly, and they customize the basic design per target board.

Since the sheaths solder directly to the tester board, the electrical connections to them are readily available. I usually copy our PIC programmer circuit onto the tester board, along with whatever custom circuitry is needed to testing and calibration. The tester board therefore contains all the electronics of the tester, except maybe the power supply. Sometimes the whole thing can run from just a USB connection. Sometimes we leave binding posts for 24 or 12 V DC external power.

You can get all the Eagle devices and packages we use for this from the Eagle Tools software release at http://www.embedinc.com/pic/dload.htm.

The pogo pin sheaths and pins are in the POGO library. The attributes give the specific part numbers we use. The pins are separate parts because they have to be ordered and installed separately. The schematic symbols are intended to put a holder and a pin on top of each other. When you do this, you end up with a complete-looking pogo pin in the schematic, and both the holder and pin end up on the BOM.

The pogo pin pads for the board under test are in the CONNECTOR library, with names POGO. Use the 50 mil pads on the bottom of the board for most cases.

The mechanical arrangement is a base plate that the tester board mounts to. The mechanical engineer designs a custom guide piece that mounts to the top of the board. This guide keeps the pogo pins sticking up from the tester board aligned, and has guides to align and hold the board under test coming down from the top. There is an arm that swings down to hold the board under test in place. The part of the arm touching the board under test is also custom. The arm has a lock to hold the board onto the compressed pogo pins, and a switch connection so that the test circuit knows when the lock is engaged. There is also a custom plexiglass cover mounted above the test board to protect the parts of the board that aren't supposed to be touched.

The rest is a bunch of firmware in the tester and software on the host, usually communicating with the tester over USB.

Here is what one such tester looks like with the arm open and no UUT in place:

Image

Here is a detail showing the connections to the switch that indicates the arm is locked. You can also see the custom plexiglass piece, and parts on the test board below that.

Image

Here is a different tester of this same concept, with the UUT in place. You can also see the USB connector and connection to external DC power at top left. The RED/WHT twisted pair at top center goes to the arm switch.

Image

And finally, here is a view with the arm down holding a UUT in place. The arm lock is not engaged.

Image

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment

Very cool! Thanks so much. I will take a look at the details in the link you provided. PS- I would have to characterize this as "pretty fancy" : ) I like the safety switch on the hold-down latch, and the chamfered guides in the second-to-last picture. Pete W‭ 9 days ago

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!