What were they thinking?

For many of the Arduinos, the Digital pins 0 through 13 are space 0.1 inches apart from their neighbor. That is, except for pins 7 and 8. They are 0.15 inches apart. For this reason, you can not easily make make your own shields using standard perf boards.

The pins on the other side of the board do not have this problem. A0 and Vin are 0.2 inches apart. Also A5 lines up with D0 and are rows of pins are spaced 1.9 inches apart so they line up nicely. D8-D13,Gnd and AREF are the only problem pins.

What's the deal?

to make it worth the while to spend $3 on a shield fab.

You can't accidentally turn the shield around 180 degrees and plug it in the wrong way around.

RandallR:
That is, except for pins 7 and 8. They are 0.15 inches apart.

This isn't an unknown "feature" of the boards...

http://forums.adafruit.com/viewtopic.php?f=25&t=13666

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1174672272
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1190586589

For a long time, the FAQ had this as a question. The response at the time was "we made a mistake on the first Arduino." Eventually the story turned into, "You can't put a shield on backwards" which sounds better?

It's true though. Now that they have started added extra pins on the board, you have the issue with some shields, and some versions of the boards, that it is not at all obvious which way around to plug things. Either way you might have extra shield pins not hitting a socket, or spare sockets.

The brilliant design decision (AKA ... "oops didn't mean to do that") prevents such problems.

I know the official story and I just don't buy it.

When you design a PCB you often screw things up, that's why you do 2 or 3 for a first run as prototypes. When you find a problem you fix it, in these days of CAD layout there's no excuse not to. That would probably have taken an hour at the longest.

I can almost sympathise if you were using Bishop graphics tape as we did 20 years ago, almost but not quite, even then we would fix things. But with a CAD system there's no excuse. So there must be another reason.

As for the PIB (plug in backwards) issue, originally that was not practical because the sockets were different sizes, given other design shortcomings I can't believe they though that far ahead to a time when the connectors would be the same :slight_smile:


Rob

Graynomad:
I know the official story and I just don't buy it.

It was probably an error. But it works, doesn't it?

I know the official story and I just don't buy it.

But it is true. I spoke to the man who made the error. At the time they coudn't afford to scrap the order.

I bet the guy who invented the 0.3 inch pitch DIL package feels a right prat, missing such an obvious chance to avoid incorrect insertion.

At the time they coudn't afford to scrap the order.

Then I assume they didn't do a prototype run.


Rob

Wow, this is good to know.

I actually ordered some parts to make my own shields out of protoboard and this will prevent a future "Problem with homemade shield" thread...

Yep, its an officially a 'brain fart' . If it worries you too much, theres nice Seeeduino boards that have the option of putting a second row of headers in at standard spacing so your home brew stripboard shield fits without a lot of messing around.

http://www.seeedstudio.com/depot/seeeduino-v221-atmega-328p-p-669.html

You can also use offset headers - Arduino Offset Header - 8 Pin - PRT-09374 - SparkFun Electronics.