A filament winder is a kind of CNC machine that makes composite tubes by wrapping a tape of resin-coated fibers around a mandrel. Rocketry requires a lot of tubes, so it was only a matter of time before I built a machine to make them for me. My "Contraption" is a 3-axis filament winder designed to wet wind carbon fiber tow with epoxy resin. I use the resulting tubes for solid rocket motor cases and bodies, but they could be used for all sorts of projects.
Results
I've been quite pleased with the tubes coming off of the machine. They are smooth, lightweight, and have withstood thousands of PSI of pressure in hydrostatic tests.
Hardware
To allow rapid iteration on the design, the machine includes many off-the-shelf parts and the only fabrication technique needed is 3D printing. The CAD isn't the cleanest, but everything you'd need to print and buy to build your own machine is included and it shouldn't be too hard to figure out how it goes together.
Software for running the winder is a minimal node.js script. It is currently a command-line tool, though I might add a GUI in the future. There are three command line options provided: one for turning a wind definition file into gcode, one to plot the gcode for visualization and debugging, and one for streaming the gcode to the control board to run it.