“How could something so simple be so useful?”
We heard once that in the 4th millenium B.C. some guy asked the person who invented the wheel that question. The person who invented the wheel’s answer, we were told, was something like “well it’s not actually that simple – it required engineering and innovation and this thing called mathematics that probably hasn’t been discovered yet and blah blah blah…” on and on and on until the guy got called away to go fight a minotaur or something.
Cool story, right? We mention it because stacking headers are sort of like the wheel to the Arduino civilization – meaning this thing that’s incredibly simple, incredibly useful, but still so brilliant you’re amazed they didn’t exist before the day they started existing.
What are they for? Stacking. You put the headers on top of your Arduino and then you can add shields like our Protoshield or our Motor Shield or our Proto-Screwshield (pictured above) to get your Arduino doing all the cool things you want it to. Our set includes 1x 10-pin header, 2x 8-pin headers, 2x 6-pin headers, and one 2×3 header.
The legs are all 10.5mm long, so after PCB thickness (1.7mm) you have a height of 8.8mm – just enough to clear the Arduino’s USB-B connector. They’re also fully compatible with shields designed for Arduino R3 and the Leonardo. For shields that don’t use the 10-pin header or 2×3 header, use the 6 or 8 pin ones.
Some experimentation might be necessary to get these working. For example:
- You can stack on top of a Proto Shield, but not if there is a breadboard on it
- You can stack on top of an Adafruit Motor Shield v2
- You can stack on top of a Wave, NFC/RFID, or GPS shield with no problems
- You can stack on top of an Ethernet shield, but you’ll need two sets of headers to clear the Ethernet jack.
- You can’t stack on top of our TFT or LCD shields
- Some shields use the ICSP (2×3) header in which case you may need to solder in the stacking 2×3
Really, the possibilities are endless, just keep in mind that you may need to do some adjusting of code to handle the multiple devices and that there may be pin compatibilities.