Arduino Forum

Forum 2005-2010 (read only) => Hardware => Bugs & Suggestions => Topic started by: triffid.hunter on Mar 27, 2008, 03:01 pm

Title: diecimila headers are not on 2.54mm grid
Post by: triffid.hunter on Mar 27, 2008, 03:01 pm
Arduino Diecimila port B and D headers (digital I/Os) are not on the standard 2.54mm grid, so shields can't be made with prototype board and similar.

Also, see the AVR-USB project for a way to hook up the ft232r so it can bootstrap the atmega in bit-bang mode which would be awesome for arduino.. I'd love to swap the crystal on mine for a 20MHz, but I don't think the ft232r supports (19200*20/16)=24Kbaud, and don't have anything else to program it with.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: wayoda on Mar 27, 2008, 03:16 pm
Hi,
Quote
Arduino Diecimila port B and D headers (digital I/Os) are not on the standard 2.54mm grid, so shields can't be made with prototype board and similar.

Yes and not even the people from the Freeduino-project http://www.freeduino.org/freeduino_open_designs.html where man enough to change that! A joke guys, a joke!

Half seriously now : Bad isn't it! Sometimes I hate all that legacy stuff (that seems to be the reason here) and wish for a revolution!

Eberhard

Title: Re: diecimila headers are not on 2.54mm grid
Post by: follower on Mar 28, 2008, 03:44 am
Quote
so shields can't be made with prototype board and similar.

Actually, it is possible if you get out a pair of pliers... :-) I've made one full-size shield with protoboard by bending the second set of headers slightly--in a sort of shape like this:

Code: [Select]
  |
  /
/
|
|
|


It's not the best thing in the world, but a usable work-around.

--Phil.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: follower on Mar 28, 2008, 03:49 am
Quote
Half seriously now : Bad isn't it! Sometimes I hate all that legacy stuff (that seems to be the reason here) and wish for a revolution!

Yeah, it sucks especially considering there's probably going to be more boards sold in the future than exist now. But I don't expect a change any time soon--I suspect the desire of a handful of protoboard shield makers isn't enough to tip the balance.

--Phil.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: mellis on Mar 28, 2008, 06:59 pm
Of course, you can always download the EAGLE files for the Arduino Diecimila (http://www.arduino.cc/en/Main/ArduinoBoardDiecimila) and make your own boards with the proper spacing.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: spiffed on Mar 28, 2008, 07:38 pm
I would suggest, if you're looking for protoboard/breadboard compatibility, something like the BareBones (http://moderndevice.com/index.shtml), Boarduino (http://www.ladyada.net/make/boarduino/), or (my soon to be released) iDuino (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1205441946).
Title: Re: diecimila headers are not on 2.54mm grid
Post by: mellis on Mar 28, 2008, 07:52 pm
And there's always the Mini.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: admin on Mar 28, 2008, 08:32 pm
to me, as an Italian, all these names ending in "duino" drive me up the wall...

my poor language :)

Title: Re: diecimila headers are not on 2.54mm grid
Post by: nkcelectronics on Mar 29, 2008, 12:24 am
Quote
Arduino Diecimila port B and D headers (digital I/Os) are not on the standard 2.54mm grid, so shields can't be made with prototype board and similar.

Also, see the AVR-USB project for a way to hook up the ft232r so it can bootstrap the atmega in bit-bang mode which would be awesome for arduino.. I'd love to swap the crystal on mine for a 20MHz, but I don't think the ft232r supports (19200*20/16)=24Kbaud, and don't have anything else to program it with.

Have you heard of "de-facto standards"?  Well, the Arduino pin spacing is one of them.  Good or Bad, it is the "Arduino" standard.  When I designed the "Arduino runtime", the main reason was because I didn't like the odd spacing... but not having shield physical compatibility is a bigger limitation than being able to use "standard" 2.54mm spaced protoboards.  Sooner or later, you will need to plug a shield...  
Title: Re: diecimila headers are not on 2.54mm grid
Post by: wayoda on Mar 29, 2008, 10:27 am
Hi in order to release the pressure ...
Quote
to me, as an Italian, all these names ending in "duino" drive me up the wall...

my poor language :)


Maybe new Boards/Ideas could use the slovenian or german translation of "Duino" :
Quote

Duino
From Wikipedia, the free encyclopedia
Duino (Devin in Slovenian, Tybein in German) is a town in the coastal part of the municipality (comune) of Duino-Aurisina, part of the region of Friuli-Venezia Giulia in the province of Trieste, north-eastern Italy.


On the other hand, the Arduino suffers from the same disease that caught Apple:
iEverything
You must have created a very appealing trademark!

Eberhard

Title: Re: diecimila headers are not on 2.54mm grid
Post by: John_Ryan on Mar 29, 2008, 02:47 pm
It's simpler to use "duino" rather than a long winded description to explain compatibility with Arduino's or it's IDE, and I would have thought it quite flattering actually.



Title: Re: diecimila headers are not on 2.54mm grid
Post by: Grumpy_Mike on May 28, 2008, 02:38 pm
try doing it this way:-

http://www.thebox.myzen.co.uk/Hardware/Arduino_Sheld.html (http://www.thebox.myzen.co.uk/Hardware/Arduino_Sheld.html) :o
Title: Re: diecimila headers are not on 2.54mm grid
Post by: mem on May 28, 2008, 03:54 pm
Quote
try doing it this way:-

http://www.thebox.myzen.co.uk/Hardware/Arduino_Sheld.html (http://www.thebox.myzen.co.uk/Hardware/Arduino_Sheld.html) :o


Mike, good job on the article. Yr link didn't work, try this:
http://www.thebox.myzen.co.uk/Hardware/Arduino_Sheld.html


(the url tag adds another http:// in front of the link)
Title: Re: diecimila headers are not on 2.54mm grid
Post by: tigrezno on May 31, 2008, 07:16 pm
woot, i was asking myself today for the same issue, why it doesn't follow the standard PCB spacing, grrrrr, i feel sold to sparkfun protoshields....
Title: Defacto standards and all
Post by: paulb on Jun 13, 2008, 08:36 pm
The Arduino is somewhere around 2.5 to 3 years old. It might last anther 5 to 10 in a usable form. Now would be the time to rationalize the form factor before even more shields get created.

This is the exactly the same issue as the (lame-brained) Apple one-button mouse, or maybe even worse, the disk-eject menu item that was in the OS for 10 years which all Mac users knew to avoid because of the disk swap nightmare.

Apple never bothered to fix the menu item and it was just a useless pimple on the Interface, or worse if a newbie used it and got caught.

Bad design decisions get embedded in things and then everyone must live with them (and laugh / swear at them) for years to come, because the company cannot bite bullet and admit they made a mistake. Apple was so embarrassed about the one-button mouse that they had to preserve the one-button design look even while (finally - 17 years later) going to a two button design concealed under the one-button look. Everyone's just trying to forget the hideously unergonomic (and beautiful) round mouse.

Conspiracy theorists have suggested that Arduino team deliberately created the off-grid design to make their hardware incompatible. Does an official explanation from the team exist of where this odd quirk came from?

One example of the awkwardness that this [disfunctional] standard causes is an NKC board with both sets of headers to accommodate the (sensible, standard grid layout) and the Arduino system. I'm sure the design will work well enough, but it's  ugly and just shouldn't be necessary if the Arduino design was a rational layout.

But in the mean time, just think of the off-grid quirk as the Arduino Team's one button mouse and maybe start looking around (and developing) other standards (such as the two or button mouse wth scroll wheel that seems like it's become the [sensible] defacto standard).

One sensible thing to do would be for the people developing Freeduino hardware to get together and discuss / standardize some new form factors, if enough units of a new form factor are producted, that work in a sensible way, the Arduino team will eventually put out a two button mouse, but maybe it will take 17 years.

Maybe it could even start a discussion about collaborative design of open-source hardware.



Title: Re: Defacto standards and all
Post by: spiffed on Jun 13, 2008, 09:13 pm
Quote
the disk-eject menu item that was in the OS for 10 years which all Mac users knew to avoid because of the disk swap nightmare.

Apple never bothered to fix the menu item and it was just a useless pimple on the Interface, or worse if a newbie used it and got caught.
I feel the need here to defend what was actually a solution by Apple, it could be argued it eventually warranted removal, but never fixing.

Let's imagine your working on a Mac Plus, it has 1MB of memory, no disk drive, and a single disk 800K floppy drive. You've just finished your novel, and it's a whopping 700K; you save it to your floppy drive. Now you need to make a copy for your editor (who's very modern and accepts electronic manuscripts). You can't load the entire file into memory along with the OS and an application, so you open the disk's window and then eject the disk; a ghost of the original appears on your desktop. Now you insert a new floppy disk, format it, and drag the file from the open window to your new disk.
MacOS prompts you to insert the original disk and buffers most of the file into RAM, it asks you for the second disk, and writes the data out, the first disk again and copies the rest of the file, the second disk and writes it all out. You can now 'put away' the first disk from the desktop.

The features down-side was understanding what "Put Away" (ejects a disk and removes it's existence from memory) and "Eject" (ejects a disk) did. Many new users got this wrong. Apple could probably have done a better job on documentation or naming here, but technology wise it was a good solution to a problem. (Keep in mind it was invented for the 128, which had 400K of floppy storage and 128K of memory.)
Title: Re: diecimila headers are not on 2.54mm grid
Post by: dcb on Jun 13, 2008, 09:14 pm
re: conspiracy theories, Well to be fair, they have admitted the form factor was indeed a mistake.  A hasty change was made to make "this weeks" PCB run deadline.  Stuff happens, I'm real glad there is an arduino, and that the people felt compelled to get it out the door. it has opened a door into microprocessors for so many.

Though I do see things like the Nano redefining the form factor though, so change is possible.
Title: Re: Defacto standards and all
Post by: Oracle on Jun 13, 2008, 09:34 pm
Quote

Conspiracy theorists have suggested that Arduino team deliberately created the off-grid design to make their hardware incompatible. Does an official explanation from the team exist of where this odd quirk came from?


We were given an official explaination in this thread: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1212632541  post 13.

I'm sure there was no evil intent, but it would still be nice to see the next release fix it even if it makes older shields obsolete.

Title: Re: diecimila headers are not on 2.54mm grid
Post by: paulb on Jun 14, 2008, 06:45 am
re: Apple disk swap nightmare - I'm glad to hear that at least one person understood and used that piece of nonsense. How many person-hours were wasted  by people swearing at it, and instructors telling students "just never, ever use that, it's worst than useless."

It could have easily been implemented in a simple, self-explanatory way, with a cancel button. Maybe someone should do a poll on whether that was more or less useless than Microsoft's office assistant. And why don't bad ideas ever come with a "Cancel" button or a "Never, ever show this again." button one can click?

re: Pin spacing. I'm delighted to have read the other post and put all the conspiracy theory stuff to rest. Kudos to the team for admitting it was a mistake.

I'm also looking forward to the next production run of the Diecimila fixing the mistake. Raise your hand if you think there will be fewer Freeduinos/Arduinos in the future? The time to fix this is now.

Title: Re: diecimila headers are not on 2.54mm grid
Post by: br3ttb on Dec 31, 2008, 10:57 pm
I just posted an instructable detailing a simple method for overcoming this problem: http://www.instructables.com/id/Embarassingly_Easy_Arduino_ProtoShield/
Title: Re: diecimila headers are not on 2.54mm grid
Post by: audin on Jan 07, 2009, 03:30 pm
It seems like an easy way to correct this would be to add a second digital header 'outside' the original one with normal spacing.  It would make the board very slightly larger, but I'm thinking that wouldn't be a major issue in most uses.  A few versions could then populate both header sets until it seemed like most everyone who cares is using the new layout.  Then stop populating the weird ones.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: mem on Jan 07, 2009, 03:38 pm
Quote
It seems like an easy way to correct this would be to add a second digital header 'outside' the original one with normal spacing.


Have you seen this: http://www.seeedstudio.com/depot/seeeduino-v11-fully-assembled-arduino-compatible-p-114.html
Title: Re: diecimila headers are not on 2.54mm grid
Post by: br3ttb on Jan 07, 2009, 03:57 pm
the more I think about it, the more I like this shifted male header:
(http://www.instructables.com/files/deriv/FC4/6PSG/FPBKY9GK/FC46PSGFPBKY9GK.SMALL.jpg)
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
Title: Re: diecimila headers are not on 2.54mm grid
Post by: zooto68 on Jan 14, 2009, 10:31 am
Sounds like a simple and neat solution to me!
Title: Re: diecimila headers are not on 2.54mm grid
Post by: Cybot_Rules on Mar 12, 2009, 10:57 am
Sounds good to me too!
Title: Re: diecimila headers are not on 2.54mm grid
Post by: Corax on Mar 15, 2009, 07:42 pm
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

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).

(http://www.23hq.com/23666/4056112_7c1bf46a7caf94cc448e88dbd6811a58_mblog.jpg) (http://www.23hq.com/Corax/photo/4056112?usertag=arduino)
Title: Re: diecimila headers are not on 2.54mm grid
Post by: retrolefty on Mar 15, 2009, 11:48 pm
Corax;

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.

http://www.seeedstudio.com/depot/seeeduino-v11-fully-assembled-arduino-compatible-p-114.html?zenid=9f6118c193cee9f8b7337d4df91a2eca

Lefty

Title: Re: diecimila headers are not on 2.54mm grid
Post by: nkcelectronics on Mar 16, 2009, 12:21 am
This is a board I designed back in September 2008, but never made it to the market:

(http://www.vintagecomputercables.com/img/freeduino_zero_proto1_detail.jpg)

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.

(http://www.vintagecomputercables.com/img/arduino_stb_v2.jpg)

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...

Title: Re: diecimila headers are not on 2.54mm grid
Post by: AlphaBeta on Mar 16, 2009, 03:51 am
Quote
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
Title: Re: diecimila headers are not on 2.54mm grid
Post by: Corax on Mar 16, 2009, 06:48 pm
Thanks all for sharing your ideas and products, too! I wasn't aware of the seeeduino, drawing my inspiration from the Illuminato (http://www.liquidware.com/wikipages/name/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...
Title: Re: diecimila headers are not on 2.54mm grid
Post by: br3ttb on Jul 16, 2009, 11:21 pm
I think this is going to do the trick:
(http://farm3.static.flickr.com/2439/3726643355_13c69c687a_m.jpg)

I worked up a jig, and I can crank them out pretty quickly:
(http://farm3.static.flickr.com/2479/3727449566_fd2f743c74.jpg)

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.

Brett
Title: Re: diecimila headers are not on 2.54mm grid
Post by: EmilyJane on Jul 16, 2009, 11:52 pm
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.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: Guci22 on Jul 19, 2009, 07:19 pm
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.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: EmilyJane on Jul 19, 2009, 07:42 pm
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.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: TBAr on Jul 19, 2009, 08:59 pm
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 (http://www.adafruit.com/index.php?main_page=product_info&products_id=85). Why bundle them with a proto board anyway?
Title: Re: diecimila headers are not on 2.54mm grid
Post by: EmilyJane on Jul 19, 2009, 10:04 pm
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.

Title: Re: diecimila headers are not on 2.54mm grid
Post by: br3ttb on Jul 20, 2009, 03:32 am
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.

Brett
Title: Re: diecimila headers are not on 2.54mm grid
Post by: zaphil on Aug 24, 2009, 02:35 am
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.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: br3ttb on Aug 24, 2009, 02:02 pm
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
Title: Re: diecimila headers are not on 2.54mm grid
Post by: tallergiant on Aug 26, 2009, 07:37 pm
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?
Title: Re: diecimila headers are not on 2.54mm grid
Post by: tallergiant on Aug 26, 2009, 07:38 pm
To be more proactive, I updated the latest EAGLE files to prove this change can work.

(http://www.fileden.com/files/2009/3/1/2344232/Ardunio_Alt_Header.jpg)

Download the modified EAGLE files (http://www.fileden.com/files/2009/3/1/2344232/Arduino_2009_Alt_Header.zip).
Title: Re: diecimila headers are not on 2.54mm grid
Post by: zaphil on Aug 26, 2009, 07:50 pm
Looks like an excellent solution to me. Saves all the hacking around.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: retrolefty on Aug 26, 2009, 08:01 pm
I agree, simple and effective solution. To not utilize this layout in future board layouts is simply dumb.

That's how Seeeduino lays out several of their newer boards by the way.

Lefty

Title: Re: diecimila headers are not on 2.54mm grid
Post by: pluggy on Aug 27, 2009, 12:39 am
I got around it another way, I soldered the 3 strips (with short pins) that do fit onto stripboard through the holes using the arduino as a jig. The last strip I bent over at 90 degrees edge on and at 45 degees from above. The pins then met the strips on the board flat at their ends and then I soldered them in place again with the board as a jig. Wouldn't like to make hundreds like this though  :)

TallerGiant's solution is great. Anyone know anyone on the 'team' for the 2010 model ?
Title: Re: diecimila headers are not on 2.54mm grid
Post by: tallergiant on Aug 27, 2009, 01:54 am
Thanks lefty!

The Seeeduino v2.12 looks like it might be my cup of tea.

http://www.seeedstudio.com/depot/seeeduino-v212-fully-assembled-arduino-compatible-p-389.html

It would still be nice for this type of mod to become part of the official Arduino boards.
Title: Re: diecimila headers are not on 2.54mm grid
Post by: retrolefty on Aug 27, 2009, 03:55 am
I agree.

Lefty