Step 1: Choosing Buttons
Step 2: Button Feet
You can still do this if you don't have a special foot. Choose a foot that would allow you to do a wide zig-zag stitch and tape or glue a small U-shaped piece of rubber or foam to the bottom. It will be harder to see your button holes to set your stitches, but with a little practice you can do it. The first photo above shows both a real button foot and my faux button foot. The second image shows the real button foot attached to the machine, and the third shows the faux button foot on the machine. For purposes of this instructable I'll be using the real one simply because it will be easier for you to see what I'm doing.
Step 3: Setting up Your Machine
Set your stitch length to zero. This should keep your feed dogs from advancing the fabric. However, sometimes the feed dogs will still move up and down in a motion that will bump your button up and down. If this happens, turn your feed dogs off. Every machine is different, but generally there's a switch at the back of the machine that will do this. Consult your manual if you can't find it.
Place your fabric and button so that the two holes you are going to sew through are centered in the foot directly below your needle. Now adjust your stitch width so that when the needle comes down on the left hand side it goes directly through the center of the left hole, and when it comes down on the right hand side it goes directly through the center of the right hole. Test this out by carefully rotating the handwheel towards you until you see where the needle is going to go. If the needle looks like it's going to impact the button, stop and adjust the stitch width again. Do NOT step on the pedal until you are sure the needle isn't going to hit the button!
Step 4: Sew Your Button!
This particular button is just going to be decorative, but if I was sewing a button that was intended to be functional I might want a little bit of space between the button and the fabric. In that case, I'd make a little U-shaped spacer out of cardboard and slide it between the button and fabric before sewing to create that space.
Step 5: Tie Off Threads
Step 6: TA-DA!
All this was done on a basic sewing machine at TechShop.