[Oshpark] HQ ProgKey - Universal Driver Programming Key

Thank you!

Do you see a chance that these things fit?

Same pogo pin pitch, but different in the two rows.
I guess a manufacturer would use these as adapter.

Interesting
You mean this double row version:

They stick to a 1.27mm spacing in all directions
Would save the time of making they key, although these “spring loaded connectors” look really really small. Some kind of ‘handle’ would be needed anyway.
Any link to the real life product? Can they be bought in low quantities?
Just googled spring loaded connectors, looks promising, but can’t dig deeper atm.

For now our 1.5mm upper/lower spacing on the key comes from the 0.8mm pcb and half the diameter of the pogo pin. Bringing it down to the same 1.27/1.3mm would not be bad.

On the other hand a 1.27mm version might just fit our 1.5mm spacing. But the risk of malflashing increases.
I’m not that fond of pads after having tested on a board here, with 6 vias on the board the connection is way better.

Nice to see this. I’m using 0.85mm vias for my acupuncture style flashing. Switching to smaller vias and using pogo pins would save me some space. I don’t like holding pins in place though, you said 0.5mm vias sometimes lets the pins through? Is just that because the pins are fixed on your key or does the actual size vary sometimes?

Yes, the double row ones.
No I haven’t seen them as single item, only this kind with magnets in consumer products.

Because they are rated 100 000 connections a manufacturer can do a rig to flash all drivers.
I don’t know how durable the normal pogo pins are.

I was wondering if the vias have a bit more of a pad around they will work too.
Could be asymmetrical or symmetric
Kinda this way:
( 0)(0) ( 0)(0 )
( 0)(0) ( 0)(0 )
( 0)(0) ( 0)(0 )
( 0)(0) ( 0)(0 )

Added graphics for spacing, pin layout and naming in the second post.

.

@joechina
I’d see these connectors as a kind of next evolutionary step when they are readily available. But then I’d migrate to 6 vias in the appropriate spacing.

.

@MikeC
I had seen your version and at that time it needed too much space for me to implement it in the one driver where I badly would have needed it. :slight_smile:

The pogo pins: nothing wrong with them, the ones we use (the smallest ones of the bunch at BG/FT) have a rod-diameter of 0.48mm by design. I tested pushing them through 0.5mm vias and they mostly went through. I find it better when the pointy tip of the rod sits tight on the via, not in it, so the via should be smaller, like 0.4mm or 16mil.

In that case, the connection is really really good. That’s why I prefer to use 6 vias instead of a combo of vias and pads. The rod can’t escape the via to the side, does not slide through it, the springs of the pogo pins ensure some pressure and good contact even when you shake a bit.

I was truly impressed when I tried this combination.

So maybe I’ll try 0.55mm vias so they can go through every time. I agree that if you just want to flash a driver then holding is the easiest solution but I do too much flashing, testing, development and flashing again for that to be reasonable. I wanna stick’em in one by one and leave them there until I’m done.

I think a few hints about vias on pads in the application notes would be good.
It tends to wick away solder.
Also solder stop for a via direct connected to a pad.

I also got my final revision 3.2 also launched now,

too bad I got made 120 boards here where the 10 pin header wont work and solder connection markings do not fit if want flash driver from bottom side
the pins are mirrored because I made an mistake looking in my program on drivers bottom which auto mirrors

Order in 2OZ for 0.8mm board thickness from Oshpark!

https://oshpark.com/shared_projects/o1pUPNqt

I got some that cant use the header as they were produced mirrored

applying solder paste one side
soldering pins to it and applying thermal glue for 2. side reflow

Both sides soldered, fine alignment of the pind with soldering iron carefully after that picture

USB and Firewire all over again. Can we agree on HQ or Lexel or find someway to make them work together?

as far as people stick to my driver pin layout they can use his universal key,
but need to arrange the jumper wires differently to his driver
,same with his driver and my key they would need for the 10 pin connector an adapter or solder the wires on the key differently

both those scenarios are not really good, best is to stick to one solution

We will have soon a BLF lantern going into production with my driver pinout and i already started to put it on my new designs, so best is to stick to it

5x3 is the full size and 3x2 the minimum size

I also got my final revision 3.2 also launched now on Oshpark

Order in 2OZ for 0.8mm board thickness from Oshpark!
OSH Park ~

the v3.1 boards i have here can be used but with some advise
I got made 120 boards where the 10 pin header wont work when used with 1:1 wire, 4 traces need to be swapped out
and solder connection markings do not fit

  • and R are swapped and Mosi and Sck

the pins are mirrored because I made an mistake looking in my program on drivers bottom which auto mirrors

https://oshpark.com/shared_projects/o1pUPNqt

I got some that cant use the header as they were produced mirrored

Production

applying solder paste one side
soldering pins to it and applying thermal glue for 2. side reflow

Both sides soldered, fine alignment of the pind with soldering iron carefully after that picture

final key with soldered wires not connector

I’d say we use both. Lexel’s approach is narrower and more foolproof, mine is more universal and allows for more freedom in the board design. And it’s not USB and Firewire, we’re plug-compatible, so we’re really not far apart.

Lexel had asked more or less the same in the BLF SRK thread, see my more detailled answer there.

Just to summon it up:

I can’t commit to a common standard because I will not use a single standard even on all of my own boards.

I tried different approaches and I saw that I want to keep the freedom to use the best programming pattern for each driver. That’s why I chose a flexible approach, and shared the progkey to use it. I simply share what I use myself. Anyone who wants to use it, can freely do so.

This 4+4 progkey allows for much creativity, it’s universal, small, dirt cheap and easy to build.

Those who use Lexel’s drivers can use his key. That’s perfect. And I really suggest they do, because that way it’s foolproof!

And the small handful of hardcore DIYers that really build my boards: for 4 bucks and change you get 3 progkey PCBs and 100 pogo pins and you’re good to go.

This is just a big mistake
If you want you can easily fit it, just need a bit more routing work

On 17mm it may be a problem, but if you can route its possible, even with a qfn with big ground pad

the aproach to place the Key always on top of 4 MCU pads is not good, get you too many restrictions on design you got to work around

you can always place the key in the middle of the MCU or even away from it

No, it’s not a big mistake. $4 and change, please, who cares. I wouldn’t commit to a standard for my boards either, I do as I please just as HarleyQuin.

I am not sure how this helps.

How about this, we agree on one design for commercial products. Having a bunch of different designs out in the wild is annoying.

I can understand that flashing drivers is not for the newbie, having limitless designs defeats the purpose of a programming key making flashing more accessible.

I don’t mind having multiple keys as long as I can do in-situ flashing. :+1:

It doesn’t help. Never intended to help. Lexel calls it a big mistake. It isn’t. That’s all I’m saying.

excactly this, who wants on different drivers of one designer like Harlekin, Mike C, DEL others and me to have 4 or 5 different keys in the box and even to have to arrange the key every time with different pinout connections on Harlekins “universal key”, because he wants to avoid using a bit time to route around a standard pattern when he does his drivers

the key is to use one uniform layout and pinout, change pinout on different drivers just to do less routing or component shifting if you do mostly use for youtrself is OK
but if you put those designs online and others make more or you also make them for sale makes no sense for pther people only you gained some time and feel comfortable re arranging pinout on your key

If i have any of my or BLF lights with the “standard” programming port I want to grab the key out of the box without thinking if the pinout fits or have to be changed, just plug and flash as simple as that

having more poeople make their universal key and on different drivers different pinout just kills the thing of one uniform programming port

I’m with you, Lexel. While I wouldn’t mind having a couple of ‘standards’ to cover the likelihood of some truly unique driver designs, I wouldn’t want to get into the confusing world of just not having any standards at all, and having to get a new programming key every time somebody makes a new driver board. I haven’t started flashing drivers yet myself, and when I do decide to start, I’d like to be able to buy one limited set of equipment and then get right to it. That’s how it was with the ATtiny13A chips, using the SOIC clip. Once it was figured out how to do it, lots of people were able to get on board. Since drivers are becoming more complex, and using different chips, the ‘Universal’ key could be a great help in keeping it simple for people.

And what about when somebody gets a driver board second hand (maybe already installed in a flashlight they bought), and has to try to figure out which ‘key’ was needed to re-program it? I know we’re in the early days of programming keys. Just like with any ‘new technology’ there will be competing ideas about the best way to make it work for the most people. Eventually, people will either end up standardizing themselves, or decide it isn’t worth the hassle. But, some of us would like it better if we could start the journey with trying to standardize, instead of just saying it doesn’t really matter, and letting it become a big mess.

Has anyone seen Del lately? Does anyone wonder why he left?

HQ has done nothing wrong here. He doesn’t have to share his stuff. He does everyone a nicety and gets crap for it in his own thread.

If you want to use one of his designs and don’t want to use his key you are free to use the standard programming clip. Pogo pins come in bags of 100 and boards are cheap, I don’t see the problem here. If it says HQ on the driver you use the key with HQ on it. How many people plan on building one of his boards anyway?

Texas Ace designed the drivers most popular here. If he updates them to use a programming key that key will become the standard. And that standard likely won’t last long. The ATtiny 85 is hindering firmware and driver development, its running out of memory and I/O pins. The next mcu will probably be a QFN package and the programming key will likely change again to make routing traces easier.

HQ’s universal design is great and will fit any driver with enough space for this feature. I don’t give a crap that it only cost’s $4 per alternative, let’s be open minded about a single standard. If you can’t fit HQ’s universal pads on your driver, try harder or leave the feature out. This goes for HQ too.