diecimila headers are not on 2.54mm grid

the more I think about it, the more I like this shifted male header: Originally it was just a way to make a cheap protoShield. But if these can be made in decent quantities (I'm looking at making something that does,) it may provide a clean upgrade path for the arduino pin spacing problem.

it would let the current arduino mate with shields that are standard spaced, and let old shields mate with new arduinos that are standard spaced. Shield makers could move to the new spacing without fear of being incompatible with the 60k+ Arduinos out there. Consumers could get a standard spaced 'duino and not worry that there's no shields for it.

am I being dumb here? what am I missing

Sounds like a simple and neat solution to me!

Sounds good to me too!

My solution to this misery has been to glue another row of pin headers directly outside the mis-spaced ones, leaving one pin blank and connecting the offset pins "diagonally", somewhat like this:

 \\\\\\\\ ||||||||

That way I can continue using "standards compliant" shields, or simply make my own perfboard shields (which will be 2.54mm or one pin row wider than standard shields, but have an even spacing).


Nice job. That looks like a nice, simple and quickist way to deal with the 'problem'. Thanks for sharing.

That seems to be kind of the way that one of the Seeduino boards handled it by etching double holes and allowing the user to optionaly populate a second set of female headers at the 'proper' spacing.



This is a board I designed back in September 2008, but never made it to the market:

I think the double row socket makes total sense, as well as the i2c sockets... as implemented by Seeeduino.

But for those who already have an Arduino board, I came up with a terminal block shield, that because of a mistake, I sold it as a protoboard shield. Why protoboard? Because it converts the odd socket spacing on the Arduino board to a standard 0.1" (2.54mm) spacing for using cheap and simple protoboards.

In my opinion, the odd spacing is here to stay, as a legacy of backward compatibility to older boards.

So, more innovation is needed... keep throwing ideas...

My solution to this misery has been to glue another row of pin headers directly outside the mis-spaced ones, leaving one pin blank and connecting the offset pins "diagonally", somewhat like this: oooooooo*oooooooo \\\\ |||||||| oooooooo.oooooooo

What a neat solution! :D

Thanks all for sharing your ideas and products, too! I wasn't aware of the seeeduino, drawing my inspiration from the Illuminato, and I find it interesting how everyone has put the additional pin headers on the inside, preserving the footprint of the original PCB. I opted for enlarging the footprint instead because this would easily allow to retrofit existing Arduinos...

I think this is going to do the trick:

I worked up a jig, and I can crank them out pretty quickly:

The first batch went to Adafruit today. Hopefully having these widely available will result in the upgrade path I talked about above. Only time will tell I suppose.


The approach I am using on a board I'm laying out now is to add one 8-pin header parallel and 0.1 offset from the D8-Vref header but aligned with the grid. The other three headers are okay. There is no need to duplicate them all.

If you are willing to spend a good 6 dollars you could buy one of these: http://www.adafruit.com/index.php?main_page=product_info&products_id=187 It is a PCB with the arduino headers and one of them is bent to accommodate the nonstandard pin spacing. That is most likely where the previous poster's headers went to.

I’m sad to see the “radio shack” style non-tinned pads. Those are a pain to use after they sit around for a while. I would prefer a proto board with tinned pads.

I wonder why they don't just sell the offset headers by themselves, or as a piece in a bundle like the $2.00 set of their shield stacking headers. Why bundle them with a proto board anyway?

Not sure about that, but the are really easy to make yourself. Take a couple of scraps of perf board a fraction longer than the header and stack them offset by one hole lengthwise. Then push your wire wrap header through a set of holes, again lengthwise and put them in your vice with the jaws such that when you tighten the jaws, you squeeze the two pieces and they deform the leads. I lightly clamp the two pieces of perf board with spring clamps but you can get another set of hands to help as well. With a little practice you can get the spacing right in one try.

Guci: you're correct. my headers went to adafruit.

TBAr: no idea why they're sold this way. we'll see where it goes from here.

Emily Jane: that's a great technique. my jig does something similar, only I'm using machined steel. another method (if you only need one or two) would be to bend the pins with pliers.


My solution to this problem is simply to use standard spacing but longer than normal header strips. I plug these into the arduino first, easing the pins apart between 7 and 8. This puts a slight curve on the plastic that the pins are imbedded in.

On the other side I use the same type header strip and just pull out the 'spare' pin between analog0 and Vin.

I then fit the assembly to standard stripboard, solder all the pins, and push down the distorted plastic so it looks neat.

Quick update on Offset Header availability. They're now available on their own from sparkfun: http://www.sparkfun.com/commerce/product_info.php?products_id=9374

The latest Duemilanove design has space for a second row of header holes and pads at the correct 2.54mm spacing.

Why has this modification by nkcelectronics not been added into the official Arduino design?

It does not change the size of the board, and it 100% backwards compatible. Even if this second header is left unpopulated by default, it gets rid of the biggest complaint about the Ardunio.

What do the more experienced users think?

To be more proactive, I updated the latest EAGLE files to prove this change can work.

Download the modified EAGLE files.

Looks like an excellent solution to me. Saves all the hacking around.