There are plenty of designs and tutorials out there, I started with one I liked and tweaked it to add PUL (Polyurethane Laminate fabric) as a waterproof barrier. I quickly made some revisions to make it look nicer, then more revisions when I found that the thread was wicking liquid through the PUL layer. I think I finally have the pad tweaked to where it is perfect for my needs.
While I really like what I've come up with (more or less a compilation of features and techniques from various posts), I would recommend browsing other patterns, and make one or two of each type that you think would work best for you, and go from there. Otherwise you might end up like me, with a good-sized stash of pads that are more or less "backup" pads.
The pad I came up with is more labor-intensive than most others out there, but I figure if it's going to last me a while, a few extra minutes to make a pad is worth it.
Except for the PUL layer, I use 100% cotton materials in the pads. Other options are out there for fabrics and the absorbent layer, but what I have here works nicely for me. For the pad/wing top, I like to use flannel (can be new or up-cycle old flannel shirts/PJs). For the wing bottom I use regular quilting weight cotton fabric, and for the absorbent layer I use vintage towels. Modern towels usually are either a lot more bulky, or on the cheaper side with scarce loops. I like towels that have close, tight/short terry loops, to reduce bulk. Other popular items for the inner layers are additional flannel, quilt batting, and Zorb (a fabric popular for DIY diapers). While flannel and quilt batting may not be as absorbent as the towels or Zorb, if you have it to spare and it ends up working nicely for you, that's what matters.
Print out the patterns from here. At 100%, the Half Wing should be 10.5" tall. This pad is a little larger than some, if you prefer a smaller one just reduce the printing size a bit.
First, wash and dry all fabric except the PUL, to pre-shrink it. After ironing it out, trace the patterns on the fabric, and cut out. You will need 2 flannel Large Pads, 1 flannel Wing, 1 PUL Wing, 2 cotton Half Wings, and 1+ Small Pads of towel. I mainly use 2 layers of towel. Thin Sharpies work nicely for marking towels.
Place the flannel Pad pieces right side together (wrong sides out), and sew all the way around, 1/4" from the edge.
Next, separate the two flannel layers, and cut a 2.5" slit on the "bottom" side.
Turn the flannel pad right side out.
Insert the cotton towel. If the lining is bunching up and can't be flattened, you may need to trim it a little. Ideally, the insert should fill out the pad but not bunch.
While I've seen some turn-and-topstitch patterns leave the slit open, I like to give it a quick whipstitch, picking up a little of the terry to help keep the flannel in place.
Next, center the pad on the top of the wing and pin. For me, 1 long pin on each end is good enough.
Stitch the pad to the wing 1/4" from the edge.
I like to add another ring of stitching, about 3/8" from the 1st ring. On my zigzag machine, I set the needle position to the left and line up the previous stitching on the right edge of the foot. You can eyeball it, or some people prefer a line down the center.
Next, on each half wing, ford over the flat edge about 1/2" and sew.
Use the wing template (or the PUL wing) to line up the two half wings (right side up) and pin just the wing halves together.
Sew over the previous line of stitching, leaving about a 3" gap int the center. Backstitch before and after the gap so the stitching won't pull out.
Next, pin together the PUL and the other layers. When I started making pads I would pin the PUL to the pad top first, then pin on the wing back. Now I just pin them all together. The right sides of the wing back and the pad with wings goes together, and the PUL on top of the wing pad. One thing I noticed is that my machine does not like sewing on the glossy side of the PUL, and will skip stitches.
Sew together, about 1/4" from the edge, trying not to catch the ends of the pads. Check around the edges to make sure all layers are well attached, sometimes I have to go back over an area and stitch a bit closer in to catch the flannel wing. Turn right side out.
Topstitch around the wing as close to the edge as you can. In the photo it shows my needle on the right side, but I quickly found out that my two zigzag machines *do not* like to sew with the needle in the right hand position and will skip stitches.
Do a hidden ladder stitch to close the gap on the bottom of the wing.
Attach snaps, some people do buttons. I use plastic Kam snaps.
And your pad is ready to go!
Some people soak the pads in a small bucket of water and wash them in batches (change out the water every day to avoid funk), some just let them dry, some rinse, etc. I keep them in a bucket in my laundry sink and wash them every other day during my period. Avoid bleach (it will break down the fabrics) and fabric softener (it affects absorbancy). This page gives some more info on how to care for your pads.