R Zach

prev

next

Needle Little Help

A system to help knitters keep track of all their knots.

I collaborated with my friend and classmate Jen Liu to make this small, portable, wireless knitting assitance system.



A traditional knitting pattern looks something like the one below…not the easiest thing to read if, for instance, you're sitting on a bumpy subway or bus while you knit.

To read this pattern, you actually start at the lower right corner, which is a dot—this means you're supposed to knit for that stitch, then move one to the left, also a dot, so knit again, until you reach that first empty square, the fifth one over. There, you purl. Easy enough. But wait! Those rules only apply to the oddly numbered lines.

You finish going across the bottom row, then move one box up, so now you're at the leftmost box in the second row from the bottom. This box has a dot in it…but because it's in an even row, you actually purl. (This alternating meaning of the dot versus space is what the key is referring to when it says "knit 1 on the right side, purl 1 on the wrong side.")

Jen and I thought maybe there could be a better way to keep track of where you are in this pattern, and so we took two knitting needles and applied electrically conductive tape to the tips:

The tips have wires attached to them, and the wires attach to metal snaps, which are then in turn attached electrically to a small Arduino (a Gemma, to be specific). Here's the electrical setup, though in this image the two white wires coming off the Arduino have not yet been connected to their ends of the snaps:

When the tips of the needles touch together (which usually happens once per stitch), a circuit is completed, which tells the Arduino to send a signal via Bluetooth to the Processing sketch on the computer that's keeping track of the user's progress. Here's what you see on the computer:

The red square shows you the current position, which advances one square every time the needles tap together. (If you advance an extra stitch by accident, you can double-tap the needles to go back one.) The big letter on the right tells you whether you should be knitting or purling at the moment, so the grid really just serves as a map of where you've been and where you're going.

If you were wondering how we took the printed knitting pattern (this one is called Square in a Square Grid) and turned it into a software-usable pattern: we just retyped the values in each place like this:

[p,k,p,k,k,k,k,k,k,k,k,k,p,k,p,
k,p,k,p,k,k,k,k,k,k,k,p,k,p,k,
p,k,p,k,p,p,p,p,p,p,p,k,p,k,p,
k,p,k,p,p,p,p,p,p,p,p,p,k,p,k,
p,k,p,k,k,k,k,k,k,k,k,k,p,k,p,
k,p,k,p,k,k,k,k,k,k,k,p,k,p,k,
p,k,p,k,p,p,p,p,p,p,p,k,p,k,p,
k,p,k,p,p,p,p,p,p,p,p,p,k,p,k,
p,k,p,k,k,k,k,k,k,k,k,k,p,k,p,
k,p,k,p,k,k,k,k,k,k,k,p,k,p,k,
k,k,k,k,k,p,k,p,k,p,k,k,k,k,k,
k,k,k,k,p,k,p,k,p,k,p,k,k,k,k,
p,p,p,p,k,p,k,p,k,p,k,p,p,p,p,
p,p,p,p,p,k,p,k,p,k,p,p,p,p,p,
k,k,k,k,k,p,k,p,k,p,k,k,k,k,k,
k,k,k,k,p,k,p,k,p,k,p,k,k,k,k,
p,p,p,p,k,p,k,p,k,p,k,p,p,p,p,
p,p,p,p,p,k,p,k,p,k,p,p,p,p,p,
k,k,k,k,k,p,k,p,k,p,k,k,k,k,k,
k,k,k,k,p,k,p,k,p,k,p,k,k,k,k]

If you squint hard enough you might see the original dot pattern faintly. The Processing sketch simply reads this array to populate the pattern grid with dots as well as to understand what stitch you should be on when you're sitting over any particular square. When it hears an 'n' character (for next) transmitted from the Arduino, it advances one stitch, and when it hears a 'p' (for previous) it goes back one.

At the moment this is a fun prototype, but perhaps in the future we could make it more of a viable thing for knitters in the world, probably by adding a few features:

The Arduino and Processing code used in this project are here for your tinkering enjoyment. If you make something neat that's inspired by this, please drop me a line and let me know! ⁂

Creative Commons License  2014 Robert Zacharias