Why do programmers have 10 pins and Arduino have 6

I have been looking at programmer boards. The cheap one that plug in to a USB port. Programmers like USBasp and USB ISP have a 10 pin DIP header on the end. However the Arduinos have a 6 pin ICSP header on them. What is the reason for the difference? Is there some sort of AVR standard that Arduino doesn't follow?

My guess is those programmers are intended to be compatible with "old style" ICSP programmers, like the original STK-500 Atmel development kits. The original ICSP connector was indeed 10 pins, and then they shrunk it down to the now-common 6-pin format.

If that is the case, the USBasp and USB ISP are oooooooolllddddd!!! :)

-- The Flexible MIDI Shield: MIDI IN/OUT, stacking headers, your choice of I/O pins

Judging by this page:


The 10 pins ones have 3 more ground connections and 1 unused.

In the old days you would ground one side like that so you would have a ground line every other line in you ribbon cable. I wouldn't think "cross-talk" would be a problem in this application.

The 10 pin connectors are old. The 6 pin connectors are new. I have not encountered any 10 pin device but some programmers in the last several years. Obviously 6 pin devices are slightly cheaper to manufacture. The question is why there are still 10 pin programmers out there.

Those adapters come in handy