Minimum viable product (MVP):
Knitting machine can autonomously knit a single color multiple consecutive rows of a scarf (In Progress)
Knit Stitch Focus (Met)
The two most common stitches in hand knitting are knit and purl. Knitting machines normally create knit stitches. To create purl stitches as second bed or manual adjustment of needles/stitches is needed before the carriage passes over each row. To avoid the complexity making this process autonomous , we focus on creating knit stitches before working on other stitch types. Additionally we plan to cast on and cast off manually.
Automated Carriage Motion (Met)
Many commercially-made flat bed machines have manual carriages to allow for more complex stitches. We only plan to use one stitch type and can thus automate the carriage motion with a motor.
Correct Size and Number (In Progress)
Our final iteration should be able to create a scarf of a specified size. If the size is set to 10 stitches per row, our machine should actually knit a scarf of the row length, not more or less.
50 Needle Bed (Changed to 30 Needle Bed -- due to manufacturing constants)
We would like to make a final product that has 50 needles in a single layer of the needle bed. We chose this number for two reasons. First, needle replacement packs for knitting machines most commonly come in 10, 25, and 50 needle increments. Second, 50 stitches seems like a good size for a scarf.
Color Changing (Not Met)
We hope to additionally have dual-color control by having two lines of yarn feed into the carriage. The sensor rigging tracking the carriage position relative the needles will allow for correct thread placement in multi-color patterns in addition to its normal use in creating correct row sizes. The challenges of this includes being able to correctly timing yarn switches and implementing yearn switches mechanically.
GUI (Changed to Size Data Only -- due to mechanical constraints)
To define the color pattern and size of the working piece, a GUI will be implemented on the desktop side. The desktop code will then translate the user input into an Arduino appropriate data set and pipe over said data set to the Arduino via the serial communication without recompiling the Arduino code.