Leilani | How to Make


Wildcard Week - Machine Knitting


Since I am working on a purse for my final project, I wanted to try to knit part of my bag. In particular, I aimed to knit the outside part of my bag. I didn't want to have a necessarily intricate design, but I did want to ensure that the material was not to stretchy. This was a key component of my design process.

Learning to use the DAT is not intuitive. There are many different types of stitches. As a knitter myself, I was particularly intersted in the knit and purl stitches, which are represented by the machine as front tucks and back tucks. The front tuck is a traditional purl stitch, and the back tuck is a traditional knit stitch, as represented below.

From hand knitting to machine knitting

From here, I decided the best way to incorporate machine knitting into my final project was to have the knit component be the base of the bag. I needed something tight, and not stretchy to sew conductive wire into. So I choose to design a small squre in a seed stitch, which consists of alternating knits and purls. It's a nice texture, but it also lies flat and is typically used for edges and cuffs.

Now it was time to write the appropriate dat file that the machine knitting machine could read. Writing dat files has many dependencies, including canvas and node, which I had to download. At first, I wanted to make a tubular pattern (to be the outside of the bag), so I used codes 51 and 52 to make the following javascript pattern:

':' //; exec "$(command -v nodejs || command -v node)" --use_strict "$0" "$@"
"use strict";

const DATFile = require('./datfile.js');

let dat = new DATFile();
dat.allocatePixels(120, 60); // set the size
for(let x = 0; x < 120; ++x){
  for(let y = 0; y < 60; ++y){
//    dat.setPixel(y, x, 51 + (y % 2));
	    dat.setPixel(y, x, 1 + (y % 2));}
	dat.setPixel(y, x, 1 + ((x+y)% 2));}


This then generates a trial pattern using the command:./dat2png.js file.dat [file.png] [scale=1] [text=0]. In general, you want the scale to be bigger (I used 20), so that you can easily see the pattern. There was a bit of inconsistency with the canvas version and some of the code files given. In particular, canvas is no longer a constructor in the latest version, so I had to change new Canvas() to Canvas.createCanvas(). I was able to generate the following pattern:

Pattern on the knitting machine computer


I came in with my alternating, tubular seed pattern, but it would have to be changed to work on the machine. Although the pattern was simple, we would have to change the sizing, which can be done on the knitting machine computer. We made my pattern 200 x 340 stitches, so that we increased the height. We also needed to add a better cast on and cast off. Most people just use the templates from the machine, so we added that. You can see the long cast off (which took almost as long to knit as it took to knit the body of the piece) below. I also wasn't aware that you had to designate what all the other colors of yarn had to do, which is why there are long bars of colors on either side. We were also able to verify the knitting pattern by examining that on the computer, which you can see in the left most photo below.

Design on the computer Design on the computer Design on the computer


Once the design was checked, it was fairly easy to use the machine. We loaded the pattern onto a special usb drive, and then executed the machine. I had to choose a carrier for the color, so I choose #5 (for purple). We did run into a couple small errors. The yarn broke at some point, so there are a few dropped stitches near the end (which I can repair myself). We also were not able to release the needles at the end, so that end of the knitting piece is a bit messy.

Design on the computer Design on the computer Design on the computer Design on the computer End result