Step 1: Rough Mill the 2x4s
First, on the miter saw, I squared off one end of each 2x4 and then cut them to 6' They were roughly 3 3/4" thick. I used the table saw to rip 3/16" to get each plank to 3 9/16". (Later, I will take off another 1/16 using the planer.) After all that was done, I spent some quality time with the orbital sander. I first hit each one with 120 grit and then again with 220. The main goal was to clean the surface and maybe get some of the splinters out. In hindsight, I should've cut them a little longer than my desired finish length, but everything worked out.
Step 2: Drill the Holes
Using a 3/8" bit in a drill press and starting 2" in from the bench end, I drilled five holes 17" apart. (This is just how the math worked out.) The holes are meant to be visible from the front.
I used the holes to run threaded rods through the bench, front to back, to hold it together. I used 5/16" rods, so using the 3/8" bit gave me a little wiggle room. For the front and back end pieces, I also used a 1" forstner bit to drill through about half the thickness of the wood. This allowed me to inset a nut with a 1" washer.
After one sort of rough go at locating the holes, I made a template out of scrap 3/4" OSB and used another strip of OSB as a shim to consistently space the work in the drill press vice.
Step 3: Make the Spacers
Apologies for not taking a lot of pictures of this process. The basic goal was to make spacers that were 1/2" thick and 3" wide and have them line up with the holes made in the previous step. I milled a piece identical to the 3 9/16" thickness in step 2. Then I drilled holes in the center of each spacer, using the OSB shim from the previous step on the drill press vice. Finally I used the table saw to shave off 1/8" from the top so their tops will sit below the top of the bench.
Step 4: Assemble
I thought about just using the threaded rods and nuts to hold everything together, but I was convinced to not be lazy and use some glue and nails. I glued the spacers, lined up holes and popped my 1 1/2" brad nail to hold them in place while the glued dried. Next, I put a few coats of clear on what would be the inside/unseen surfaces, before they became inaccessible.
I meant to tape off the areas I planned to use for the joints, but I forgot. So, I hit those spots with the belt sander to remove the clear, in order to make sure I had a good glue surface.
The plan was to build it up by gluing and nailing each one together.
1) I took the first piece glued the second one to it
2) I lined them up as best I could and clamped them.
3) I used the 3" framing nailer to shoot a nail through the piece and the spacer and into the next one.
I built the bench in two halves so I could run both through the planer.
Step 5: Send It Through the Planer
I ran each half through the planer and took off 1/16" to make the whole thing roughly 3 1/2".
Step 6: Route the Edges
I routed the edges and corners with a 1/4" roundover bit to soften the edges.
Step 7: Final Assembly, Finish and Sand
I glued the two halves together, ran the threaded rods through the holes and tightened everything down. Once everything was good and snug, I trimmed the rods with a Dremel. I did another pass with the sander and applied a few final coast of polyurethane.
Step 8: Add the Legs
I asked my buddy Neil at Carver Iron in Atlanta to make me some hairpin-style legs at a height of 14.5", in order to give the bench an overall height of 18". Neil made the legs with a third pin to help keep them from splaying out.