week 13: WILD CARD !!
13.1 topic choices
13.1.1 advanced embedded programming lecture
13.1.2 knitting overview lecture
13.2 knitting prep
13.3 first knitting session
13.4 more pattern prep
13.5 knitting round 2

topic choices

This week has SO many cool skills to learn. I picked both the advanced embedded programming and machine knitting topic to focus on.

advanced embedded programming lecture

Set up openOCV for programming bootloader

can brew install, but note that the SAMD51 bootlaoder needs the newest version of openOCD which is not yet in brew

knitting overview lecture

knitting wiki overview. I started off thinking I would focus on the programming and sit in on the knitting sections, but after solidifying my plan for the final project - I'm going to focus on knitting. I don't think I'll use the SAMD11 chip (the one in focused on in advanced embedded programming week) in my final project, but I will be knitting a pocket and sock to hold the circuit boards in my final project ~ so transitioning to knitting focus.

knitting prep

GOAL: in an ideal world, i'd make four little jacquard pattern patches and socks, fingerless gloves, and headband/choker/scarf thing. I want to use the jacquard patterns to make little patch pockets on the wearables to hold the circuit boards for my final project.

I think these are too many things so I'm going to prioritize the jacquard patches and the socks. If I finish in time, then I can add the gloves and head piece.

Alex has developed a CAD-like software to generate basic knitting patterns here
notes from knitskel paper The software is split into two different modes - a step to make the skeleton which is the shape and structure of the knit. and then you can load different patterns onto the shape.
I tried making a sock skeleton from scratch

my sock from scratch

But then I noticed that I could load a premade sock pattern from the server:

example sock from server

i was kind of close . . .
I'm confused at what the dimensions are for the width and height - what do that correspond to in real life? how big does the sock need to be? I set it to 20 width by 30 length on the foot and then 20 by 40 on the top for now and will wait for Alex's input

Then, I tried adding patterns to the top of the sock, starting with just a simple ribbed pattern. However, I can't do that without setting the sock to half gauge, but when I move to half gauge the width gets ruined for all the other nodes. particularly, the join node doesn't work in half gauge. Running out of time before my first knitting session with Alex, I'll transition to getting a bitmap image ready for the Jacquard pattern.

pockets to hold electronics, but I don't have the actual boards made yet so I don't know the exact dimensions . . . but they need to be larger than BNO breakout board.
let's say around 4.5 by 4.5 cm pockets

I made little music notes in GIMP to go on the pockets

binary png of music notes

I wasn't sure how to scale them, so I just measured everything in cm.

first knitting session

programming prep is complicated and time consuming for knitting - everyone said it, but now I finally get it.

In two hours, Alex and I didn't get around to actually knitting anything. BUT the software now makes a lot more sense and we have a jacquard pattern in the Shima format that's *almost* ready to be sent to the machine.

The knitskel UI gives units in # of stitches. that converts to different real world measurements bsed on what type of fabric you use. Also, the preloaded sock is a little finger size sock - getting the right size may take a couple tries. Alex referenced a normal size sock that he made previously - width 50, height 40 on the foot, 60 on the top?
Also, there is a bug in making the joint node half gauge to add patterns - I can work around it be knitting the whole foot of the sock in full gauge and then switch only the top part to half gauge to make fancy patterns :)

Then, we switched focus to the jacquard pattern because it was more prepared and "simpler" than the sock. Alex is worried that I may run into issues with my pattern since I'm trying to make such a small patch and the design has skinny, diagonal lines. The pattern has a limited number of stitches, like pixel in an image so intricate details won't be picked up on small rectangles.

we used a previous jacquard knit that Alex did to roughly estimate the number of stitches needed in mine.

jacquard pattern stitches and calipers to count distance



jacquard pattern stitches and calipers to count distance

50 mm by 50 mm = 26 wales and 35 courses

Unfortunately, it's not as simple as importing the png that I made before. The Shima receives patterns from KnitPaint - proprietary Shima software that encodes stitches and machine options in a color encoded png format. So, i need to remake the pattern with the same color pallete and options that have been used before. I pulled this dino pattern from Kate Spies wild card page last year

dino pattern in KnitPaint format

Imported that in to GIMP and used the same color palette to make the music note patterns. Unfortunately, the pixel count did not exactly match the stitch count in the downloaded image (as it does in the shima software). So, judging that the final dino pattern is a few inches across, I roughly split the pattern into four quadrants with varying sizes of music notes - that way this can be a test knit to gage actual sizing.

music note pattern in KnitPaint format

From a pattern design perspective, the jacquard is ready to go. But there was a bug in the machine options - something about the threads not being sent to the right location. We were running out of time and Alex needed to dive into the error on the machine, so we had to stop the session without a knit. but we'll pick back up on Monday morning and I'll prep the sock pattern for then as well.

more pattern prep

now that I have a better understanding of KnitSkel, I can move on to patterning the sock. I can add basic ribs with the drop down example - it sets every 2 wales to be a purl or a knit.

alternating purl and knit ribs

But loading different pattern examples from the git repo, it looks like the easiest way to make more intricate patterns is picking the courses and setting individual stitch instructions with the 'tiledo' function. I found the key to stitch commands here.

I *think* this is a simple cable pattern that I"ll add to the top of the sock:
pat.courses(2:end-3).tiledo(['kkrlk', 'krlkk'])

alternating knit and cross stitches

Alex's sock (published inn the knitskel paper) is split into nodes: let's call 'em toes, foot, heel, ankle, and cuff. The toes are about 50 stiches long and the width goes from 2 to 50. The foot is 0 stitches long and 50 wide. the "smart heel" joint is 50 rows by 50 width. the ankel is 40 stitches long and tapers from 50 to 40 width. The cuff is 64 stitches long and 40 wide. All of these nodes are in half gauge. But now, there's a bug with doing joints in half gauge so I created the same sock in full gauge with only the cuff in half gauge so I could add the pattern there.

sock skeleton ready
sock skel

we'll see how it goes monday morning . . .

knitting round 2

The jacquard pattern was ready to go !

sock skeleton ready
.dat file (sent to the machine)

The green and pink music note images are the ones I edited and designed in GIMP. Then, in KnitPaint, they get converted into the dat file - this lays out the knit with each column representing a needle, each row moving a step in time, and the colors/number on each square indiciating a specific stitch or action. then, the tubular color options in the right are determine how the jacquard pattern is made - will the back by reversible or a woven-like pattern.



within about 3 minutes, the knit was done!

jacquard pattern knit

I chose the fully reversible pattern

jacquard pattern knit

this basically knits a tub structure and then alternates which color is in the front or back depending on the pattern - so it's one large tube that's closed off by smaller tubes.

jacquard pattern knit

Then we moved on to the sock. There was a lot of uncertainty in the sizing and how the cable pattern would come out. Most of it came to the fact that the sock pattern Alex had knit previously was in half gauge, but the half gauge joint node has a bug so we decided to knit the whole thing in full gauge instead since cable patterns do not require half gauge. But, this means that the tension in the threads become very important when increasing or decreasing stitches since there's less space between each stitch is easier for the machine to become jammed or the loops to fall off. That and the dimensions were off because converting the heel to full gauge doubled the width of everything except the joint node.

failed sock

Alex and I spent a while after trying to figure out if the cable pattern failed because of the tension of the black thread or the knit instructions. It turned out to be a combo of both. The pattern we created in the knitskel software was correct and should work, but the conversion from knitskel (open source Alex project) to knitpaint (proprietary Shima software to machine code) had a bug in it for the back left and right cross stitches when making a cable pattern. Then the holes and random areas where the sock is not a tube are due to machine tension problems.

it was a good learning experience, alex found new bugs to fix in his software, and I'm excited for the kniterate to be up and running in CBA. but, I won't be making a sock this week ~ many other people need time on the machine and I at least have a solid jacquard pattern complete. I'll figure out another wearable to hold my final project circuit.