The reason I'm embarrassed is that in thinking of if I should redo the Instructable, I thought of an entirely better way to tackle the problem. I'm going to leave that instuctable there, because it's still useful if you need to make a shield TODAY and you don't have male headers.
If, however, you can afford to wait a week to get some male headers from the internet, this is by far the better solution. It's faster to make and more robust (and it still handles the offset header)
UPDATE: The headers in the picture below are soldered onto what most would consider the wrong side of the board. I've added a step (step 6) that shows how you could get these headers on the correct side.
Step 1: Required Materials
2 x 8pin male header
2 x 6pin male header
soldering iron (& solder)
Step 2: Modify Male Header : Long Side
Bend all the wires on the long side to about a 20 degree angle. I made a little template to get the angle right.
Step 3: Modify Male Header : Short Side
Step 4: Modify Male Header : Pivot
Touch a wire with the iron, and in a few seconds the plastic around it will melt. At this point you can pivot the wire so it's perpendicular to the plastic again. It may be a little off after the first push, but that's ok. You can reheat the wire and move it as many times as needed until it's in the right place.
Step 5: Make the Shield
- Insert the male headers into the arduino
- Align the protoboard on the male pins
- Solder the pins in place
Step 6: Make the Shield (with the Headers on the Correct Side)
- cover the target holes with solder
- use your soldering iron to clear the holes
- apply some solder to the header pins (tin them)
- put the header in place
- heat the pad next to the pins and the solder will melt and form a connection