By far one of the most annoying things about prototyping with Arduino has been connecting and disconnecting projects to and from the board. I would connect up a breadboard to the various pins using individual wires. That worked fine until I wanted to disconnect it, which would happen all the time. Perhaps I had to wait on a part to arrive. Or maybe I got stuck, or just bored, and wanted to work on something else. Just disconnecting a project from Arduino would disrupt the whole thing, and then I’d have to remember how to wire it up again. This was painful.
Then I was inspired by the Amani 64 CPLD Shield. It uses a pair of 12-position right-angle female headers on the platform, and then right-angle male headers on the app boards. Likewise, the Centipede Shield takes connections using 2×20 headers.
So I set out to design a set of standard connections I could use on all of my projects. It would be easy to connect and disconnect a project at any time. I settled on four different connections:
- ONE 4-pin I2C connector
- TWO 10-pin (2×5) box headers for 4 digital pins, 2 analog pins, and power
- ONE 20-pin (2×10) box header for most digital pins, most analog pins, and power
In practical use so far, I’ve found this to be an excellent setup. As intended, it makes it simple to add and remove projects from different Arduinos. In the future, I will make Arduino clones with these connectors on the board, eliminating the need for a shield.
The one exception is the 2×10 connector, which I’ve never used. No projects have required so many connections.
Box Header Shield
The system starts with a shield. It contains all the connections described above on right-angle headers, so it will stack nicely.
|2||Mouser||571-103310-1||Headers & Wire Housings 10P R/A HEADER||$0.89|
|1||Mouser||571-5103310-5||Headers & Wire Housings 100X100 HDR 2X010P R/A LOW PROFILE||$1.19|
|1||Mouser||101-TS6111T1602-EV||Tactile & Jog Switches 6x6mm 160gf BROWN||$0.13|
|1||Sparkfun||PRT-10007||Arduino Stackable Header Kit||$1.50|
Box Header Mini
Then I had the idea to connect a Sparkfun Pro Mini to this system. I have not been thrilled with the flaky and unreliable Pro Mini, plus using it for this system doesn’t bring any distinct advantages. Consequently, I won’t be continuing to use this board.
It pretty much uses the same parts as the regular unit, minus the stackable headers, plus a connector for power.
I also screwed up the design a little bit. The Pro Mini has the I2C SDA/SCL connections in a separate place so they need to be brought onto the board. The spot I chose for the connector conflicts with the FTDI cable on the Pro Mini. Oops!
This guy is the key to the system. It’s a simple board, just breaking out the 2×5 connector so it fits on a breadboard. It’s now a permanent fixture on every breadboard, and so I can have a dozen-plus board with projects in various states, and then just hook one right up when I want to work on one.
|1||Mouser||571-5103309-1||Headers & Wire Housings HDR VERT DOUBLE 10P low profile||$0.682||in qty 10|
|0.5||Mouser||517-3302/10FT||Flat Cable .050 10 COND. 28AWG COLOR CODED (1 foot)||$1.10|
|2||Mouser||571-1658621-1||Headers & Wire Housings CNTR PLRZD RECPT 10P NOVO||$0.68|
Cost Reduction: Current total parts cost is $1.91. This can be cost-reduced to $0.76 using these parts: Simple gray cable (523-191-2801-110FT) at $0.47/ft and cheaper connectors (164-9006-E) at $0.26/ea. Although I like the look of the rainbow cables, so I will spend the extra 34 cents per foot and keep using those.
Alternative: Sparkfun also has an assembled cable for $1.50 2×5 Pin IDC Ribbon Cable PRT-08535
4-pin I2C Cable
|0.5||Mouser||602-1174C-100||Multi-Conductor Cable 4C 22AWG UNSHIELD (1 foot)||$0.46|
|2||Mouser||538-10-11-2043||Headers & Wire Housings HSG HIGH PRESSURE 4P||$0.31|
|8||Mouser||538-08-52-0123||Headers & Wire Housings CRIMP TERM 22-30 TIN phos. bronze||$0.10|
|Pin#||4-pin||10-pin ‘A’||10-pin ‘B’||20-pin|
|5||2||10 (SS)||0 RXI|
|6||3||11 (MOSI)||1 TXO|