Last year we began constructing our garden boxes. I mapped out our vegetable garden area to include three 4'x8' boxes (6" tall) for standard root and summer vegetables, one 2'x12' box with a frame and netting for vine plants to climb vertically, one 2'x8' box for my raspberries, several 1.5' square boxes for tomatoes and potatoes, and a 3.5' tall angled box to act as a wall, which visually separates the garden from the rest of the yard.
This first close-up picture of the tall box shows how we constructed all the boxes. I used unfinished, 2"-thick cedar boards, which are actually 1.5" thick with the finished cut. Using a jig saw, we cut joints from the ends. (Please leave a comment if you want more detailed instructions on how we measured that.) My dad used his drill press to make a jig from a block of oak, which is a harder wood than cedar. We cut a 3/8" hole and used that jig to keep straight holes when drilling into the cedar. It was helpful to run the drill through the hole a few times to make it just large enough to easily hammer in 3/8" steel rods. I bought the steel rods at a metal retailer and cut them with a saws-all. A hacksaw works too; it just takes longer. The shallow boxes have rods 4" longer than the height of the box. The rods on the tall box go about 12" into the ground.
Tip: In laying a box on the ground, carry it in pieces and not assembled. We put a box together in the garage and attempted to carry it that way to the garden. On the way, a board slipped and split. After laying the box out, squaring the corners, and driving the rods into the ground to hold it all in place, I used a level to ensure a flat grade for the box. To get the boxes level, I had to slip rocks under boards or dig into the ground a bit.
In this last picture, you can see the boxes at varying stages of completion.