You will need a sewing machine, diaper pattern, fabric, pins, thread and scissors.
A rotary cutter and mat makes cutting the pieces go much faster because you can cut multiple layers of fabric at the same time. Just be sure to take your time until you get the technique down.
For pre-fitted diapers you will also need: elastic, snaps and/or Velcro if you desire to make them self-fastening. I haven't had much luck with the snaps/Velcro so we just use diaper pins.
Pretty much any fabric that is durable, soft and absorbent will work to make diapers. Avoid synthetic fabrics as they aren't absorbent.
New or used is fine, you can recycle old flannel sheets, shirts, pajamas, most kinds of receiving blankets, old towels, you already own or find at garage sales, thrift stores, etc. for very little money.
Those listed here are just recommendations use what ever you think will work.
Fleece, micro fleece, flannel, diaper flannel*, terry cloth**, stretch terry** , birds-eye weave cloth, waffle knit fabric, sweatshirt fabric
Pre-washing is recommended. Especially for new fabric to prevent shrinkage.