It may not be completely fair, but we tend to just the overall quality of a project by how professional it looks. An enclosure milled perfectly from a nice, solid block of aluminum looks better than a 3D-printed enclosure, which, in turn, looks better than an enclosure made out of popsicle sticks or something. The closer a project looks to something you’d find on a store shelf, the less it’s perceived as amateur. That carries over to wearables and sewing as well, which is why you may want to consider building your own CNC embroidery machine.
This tutorial was created by James Kolme for Inkstitch, which also happens to be the Inkscape extension you’ll want to use to generate G-code for the machine. You can start with just about any sewing machine, but older metal models are generally easier to work with. The only real modification to the sewing machine itself is the motor, which is replaced a modern stepper motor that can be controlled more precisely than a standard DC motor. Movement in the X and Y axes is setup similarly to a 3D printer, and driven by GT2 belts connected to NEMA 17 stepper motors.
Those motors, along with the one replacing the sewing machine’s motor, are controlled by an Arduino running GRBL. You can use a dedicated CNC controller board, or you can use an Arduino with separate stepper drivers. The 3D-printed mechanical parts include an embroidery hoop, so you just need to place it under the sewing machine. Then, use Inkscape to create your design and the Inkstitch extension to convert that into G-code. Transfer your G-code to the Arduino, and your DIY CNC embroidery machine will start churning out professional-looking patterns.