
The Arduino platform is famous for many reasons, from its open source nature to its approachability and flexibility. It's also famous for another, less appealing, reason: an early design flaw which is often the cause of wailing and gnashing of teeth. For anyone who has worked with integrating Arduino hardware into PCB-based projects, two simple words are enough to trigger this reaction: offset header.
It's immediately visible on inspection of the Arduino Uno, or any Arduino based on the same layout: while the majority of the headers are aligned to a 2.54mm (0.1") spacing, one header is offset on a 1.524mm (0.06") spacing. The result: a unique layout that makes it far from simple to attach the Arduino to boards designed around the ubiquitous 2.54mm spacing, and vice-versa, including solderless breadboards. While this design quirk has its arguable advantages - particularly in the design of Arduino-compatible Shield add-ons, which become keyed for orientation and protected against accidental connection to a non-Arduino board which may result in incorrect operation or even damage - it has been the cause of more than a few headaches, too.
Jean-Claude Wippler, of JeeLabs, is one of many frustrated by the Arduino's offset header issue, and is publishing a series of blog posts this week describing his solution to the problem. The first describes the issue, while the second introduces the Bridge Fifty-Fifty: a simple interposer board, which he has promised will be released for public use, designed to sit between the oddly-spaced Arduino and a more usual 2.54mm board.
Jean-Claude has also demonstrated how the design can be adapted to work in the other direction: a change to the board's layout provides a means to connect Arduino Shields to the non-Arduino Hy-Tiny microcontroller board. Using Jean-Claude's design as a base, then, it's possible to side-step the classic Arduino design flaw in either direction - albeit at the small cost of having a few interposer boards printed.
As you can see, all headers are doubled-up on the inside, without that 0.06” alignment error of standard Arduino shields. This board can be used with run-off-the-mill prototype boards with a “sea of holes” on a 0.1” grid.