I spent forever shopping for end tables that were small enough to fit on either sides of our bed. There's not much room between the sides of the bed and the wall one one side, and a patio door on the other side. I finally gave up and decided to make my own.
Step 1: Rip Apart Two Pallets
Get rid of any nails and sand the boards down a bit.
Step 2: Make the Legs
Cut the cross pieces exactly in half (this turned out to be exactly the height I wanted). This will give you 12, but you only need 8.
Step 3: Make the Tops
I cut 3 boards exactly in half (or whatever width of the table you want). I wanted them narrower so they'd fit on either side of our bed. Cutting them exactly in half gave me about the size I wanted.
Cut 4 smaller pieces to make a box underneath your table top. Screw them together so they form a cap.
Step 4: Stick'em Together
Screw the legs inside the 4 corners of the caps.
You can make another 'cap' or shelf to sit further down if you want. It adds a little more stability and it looks nice. It's exactly the same idea as building the top cap, just measure and make it a little smaller with no overhang.
The scraps in the front of the 2nd picture are all that's left of 2 pallets. Not bad.
Step 5: Sand and Stain
Or paint.. or just leave them - whatever suits your fancy :)