Shoe Size Chart

I’ve been meaning to put this together for a while now. These sizes were collected from various sites around the Internet.

International Shoe Sizes (9 - 9 3/8 in, 22.8 - 23.8 cm)

SystemGenderSize Chart
Europe3535 1/23637
U.K.Men's33 1/244 1/2
Women's2 1/233 1/24
AustraliaMen's33 1/244 1/2
Women's3 1/244 1/25
US & CanadaMen's3 1/244 1/25
Women's55 1/266 1/2
Inches99 1/89 1/49 3/8
Centimeters22.823.123.523.8

International Shoe Sizes (9 1/2 - 9 7/8 in, 24.1 - 25.1 cm)

SystemGenderSize Chart
Europe37 1/23838 1/239
U.K.Men's55 1/266 1/2
Women's4 1/255 1/26
AustraliaMen's55 1/266 1/2
Women's5 1/266 1/27
US & CanadaMen's5 1/266 1/27
Women's77 1/288 1/2
Inches9 1/29 5/89 3/49 7/8
Centimeters24.124.524.825.1

International Shoe Sizes (10 - 10 1/2 in, 25.4 - 26.7 cm)

SystemGenderSize Chart
Europe40414243
U.K.Men's77 1/288 1/2
Women's6 1/277 1/28
AustraliaMen's77 1/288 1/2
Women's7 1/288 1/29
US & CanadaMen's7 1/288 1/29
Women's99 1/21010 1/2
Inches1010 1/810 1/410 1/2
Centimeters25.425.72626.7

International Shoe Sizes (10 3/4 - 11 1/2 in, 27.3 - 29.2 cm)

SystemGenderSize Chart
Europe444546 1/248 1/2
U.K.Men's10111213 1/2
Women's9 1/210 1/211 1/213
AustraliaMen's10111213 1/2
Women's10 1/211 1/212 1/214
US & CanadaMen's10 1/211 1/212 1/214
Women's12131415 1/2
Inches10 3/41111 1/411 1/2
Centimeters27.327.928.629.2

Machine Knit Sock Heel – Cat Bordhi Style

In my quest to knit the perfect sock heel on a knitting machine, I stumbled on Cat Bordhi’s Sweet Tomato Heel. If you aren’t familiar with this type of heel or you’re simply interested in learning how to do this on your knitting machine, I’d suggest watching Cat’s video first.

Even if you don’t know how to hand knit, Cat does an excellent job of explaining what causes the gaps in a short row heel… and that’s the key to learning how to eliminate the gaps.

Intrigued? Here’s how you can knit a modified version of the Sweet Tomato Heel on a knitting machine, regardless of whether you knit your socks cuff-down or toe-up.

These instructions assume the heel will be knit on the main bed.

When knitting circular, the ribber knits right to left and the main bed knits left to right.

If you’re knitting your heel on the ribber or your carriages will knit in the opposite direction, you’ll need to flip these instructions around.

Preparing to knit the first wedge

  1. Begin by knitting up to the point where the heel begins.
  2. Knit on the ribber right to left and stop. Your carriage is on the left. This is where each wedge will begin.
  3. Set your ribber carriage to slip in both directions.
  4. Set your main carriage to knit and hold in both directions. Needles in HP will not knit.
If you’re knitting circular on a double-bed machine or knitting machine with ribber, the last carriage pass before starting your heel will always be on the bed opposite the heel. If the heel is knit on the main bed, the last circular pass must be on the ribber. If the heel is knit on the ribber, the last circular pass must be on the main bed.

If you’re knitting a seamed sock without a ribber, it doesn’t matter which side you start on. Just be sure to start each wedge from the same side.

Knitting the first wedge

  1. Set the ribber carriage to slip in both directions.
  2. Set the main carriage to knit and hold in both directions.
  3. Row 1
    • Pull the edge needle opposite the carriage (right) to hold.
    • Knit 1 row left to right.
    • Manually wrap the held needle.
    • Manually knit the next WP needle, pull it to hold and pull the yarn taut to tighten up the wrap.
  4. Row 2
    • Pull the edge needle opposite the carriage (left) to hold.
    • Knit 1 row right to left.
    • Repeat steps 3 and 4 on the left side — exactly the same way you did it on the right side.
  5. Now repeat rows 1 and 2 until the center 1/3 of your stitches remain in WP and your carriage is on the left.
  6. Push the held needles on the right to UWP.
  7. Knit 1 row left to right. Note that it may be a little harder to knit the needles in UWP because of the snug wraps.
  8. For circular socks with ribber:
    1. Use a transfer tool to carefully move the held stitches on the left to WP. Note that it may be a little harder to manipulate the stitches because of the snug wraps.
    2. Set the main carriage to slip in both directions.
    3. Set the ribber carriage to knit right to left.
    4. Knit 1 row right to left on the ribber.
    5. Pull the main bed needles left of 0 to UWP. Remember that these needles still contain the wraps and may be harder to knit. Pulling these needles back to UWP with the stitches behind the latches will help the stitches knit cleanly.
  9. For flat socks without ribber:
    1. Push the held needles on the left to UWP.
    2. Knit 1 row right to left.

One wedge is complete. Your carriage is on the left where it’s ready to knit another wedge or resume circular knitting.

Usually, you’ll want to knit 3 wedges for a nice round heel. You may find you need more or less to achieve a good fit. You can add or remove a 1/2 wedge by leaving more needles in WP.

You may find that the wedges create a slightly snugger heel. This may make the ankle stitches pull. To make the sock a little looser around the ankle, increase the number of stitches every 2 to 4 rows leading up to the heel and decrease back to the original number of stitches after you complete the heel.

Natalia Vasilieva’s Boola Sweater

I think this sweater is absolutely stunning:

Boola Sweater

I haven’t chosen a yarn, but it’s definitely in the cards if I can ever figure out how to keep work from getting in the way of my knitting.

You’ll find the pattern on Ravelry… and since Ravelry doesn’t support DAK files, Natalia has graciously given me permission to host it here.

Happy Knitting!

[wpfilebase tag=”file” id=231 /]
[wpfilebase tag=”file” id=232 /]

Machine Knit Ladder Lace Scarf

 
This scarf can be knit on any gauge manual machine with any yarn. The sample to the left was knit on a Studio SK155 (bulky) at T8 with Berrocco Mohair Classic to achieve a soft airy look with a gauge of about 3 stitches x 5 rows per inch.


Instructions

Loosely cast on 28 stitches (or some multiple of 4).
Knit two rows (COR).
* Starting on carriage side, pull 5th and every 4th needle to hold.
Transfer stitches from each held needle to the next needle away from the carriage.
Leave empty needles in WP and knit one row (COL). **
Repeat from * to ** until you reach the desired length.
Bind off loosely.

Inspired by Turvid’s One Row Lace Scarf (pattern).

A Neater Rib Cast-On For Japanese Knitting Machines

I’m sure you’ve heard all of the White/Superba owners talk about the wonderful rib they create on their French knitting machines. I assure you, it’s all true… I almost always do my ribs on my 1602, even if I’m going to knit the rest of the garment on my Brother KH860.

But sometimes I want to do a quick pair of socks and I don’t want to go to all the trouble of swapping machines around just to knit a couple of ribbed cuffs… so this is how I do my rib cast-ons to produce a nice finished edge on the Japanese machines. Still not as nice as the Superba, but good ‘nuf.

Set up the needles for the zig-zag row. I generally prefer industrial rib, but this method should work for whatever your pattern calls for.

Run both carriages across the bed to align all the needles in working position. Position both carriages on the right.

Push all ribber needles to hold with latches open. Then use a ruler (or the flat side of your needle pusher) to push the ribber needles back down so the tops of the needle hooks are even with the gate pegs on the main bed.

Disconnect the main carriage from the ribber (leave ribber arm connected and ribber bed in upper position). Set the main carriage for the tightest possible tension and knit one row right to left with main carriage only. The yarn should now be caught in the needle hooks of the main bed and laying across the ribber needles between the hook and the latch. Carefully push the ribber needles back to working position, making sure the yarn is caught in the needle hooks. Hang the cast-on comb and weights.

Push all of the main bed needles to hold and set the main carriage to knit needles in hold at T1. Carefully knit one row left to right.

Connect the ribber carriage. Push all of the ribber needles to hold, set the main carriage to slip and ribber carriage to knit needles in hold at T1. Carefully knit one row right to left. This completes the circular row.

Set both carriages to knit at MT in both directions. Gently tug on the cast-on comb to make sure the top of the comb is below the needle hooks. Continue to knit the rest of the rib.

Industrial rib on Brother KH860 Lion Brand Sock-Ease at T5

Industrial rib on Brother KH860 Lion Brand Sock-Ease at T5

Hacking a Brother Cast-On Comb to fit a Mid-Gauge Knitting Machine

I used to hate the Brother comb, but now that I’ve gotten used to it I wish they made one for the mid-gauge machines. Since they don’t — and probably never will — I decided to buy a new one for my Brother SK860 standard and hack the old one to fit my Silver Reed SK860 mid-gauge.

The gate pegs on the Silver Reed are stronger than the hooks on the comb, so it turned out to be a lot easier than I thought it would be. Here’s how:

  1. Knit an inch or so of waste yarn across the entire needle bed.
  2. Mark the two center hooks on the comb with a bit of yarn.
  3. Position the comb with the two center hooks on either size of 0.
  4. Working from the center of the comb toward the ends, gently — but firmly press the wires of the comb between the gate pegs until the comb is hanging on the scrap knitting.
  5. Use needle nose pliers to bend any stubborn hooks out of the way of the gate pegs. Most of them should bend to one side or the other without any help.
Brother 4.5mm Cast-On Comb hanging on a Silver Reed 6.5mm

Brother 4.5mm Cast-On Comb hanging on a Silver Reed 6.5mm

Once the comb has been secured all the way across, use the needle nose pliers to bend all of the hooks that are pressing against a gate peg. In this photo, you’ll see 5 hooks bent back out of the way. All of the others are hanging between the 6.5mm gate pegs pretty as you please.

Brother 4.5mm Cast-On Comb hanging on a Silver Reed 6.5mm

Brother 4.5mm Cast-On Comb hanging on a Silver Reed 6.5mm

Grab the bent hooks with your needle nose pliers and bend the wire back and forth until they snap. Most of them will snap off inside the case. If you have a few that don’t, you might have to use a Dremel to grind them down so you don’t have any sharp edges.

It’s important to note that this method won’t get you a comb that hangs on every stitch, but if you like using the 9mm triangle weights on your standard gauge machine, that shouldn’t be a problem.

Also, the comb is 4-5 needles shy of covering the whole bed… so if you’re using the entire width, you might still have to use edge weights.

How Much Yarn Do I Need?

One of the questions that comes up a lot on Ravelry is “I have a cone of yarn that weighs this much… is it enough to make a sweater?”

The general rule of thumb is that a sweater takes about 1500 yards, but the fact of the matter is there’s no way to give any reasonable answer without having a lot more information. Not only does the yards per gram differs among fibers, the number of yards in a 1-pound cone depends on the size of the strand and in some cases, the spinning system used to manufacturer the yarn.

However, there is something you can do to get a pretty good estimate.

First, you must knit a swatch. That shouldn’t be a problem because you always knit a swatch anyway, right?

So knit a swatch thats big enough to get accurate measurements — about 80 stitches by 100 rows for finer yarns and 50 stitches by 60 rows for bulky yarns.

After washing and blocking the swatch the same way you’ll finish the completed garment, measure the length and width. You’ll also need to weigh the swatch to determine how much yarn it consumed.

Now you have all the information you need to determine the amount of fabric you can knit with the amount of yarn you have.

It’ll be easier to explain with an example, so grab your favorite calculator and follow along.

I have a cone of lovely but unidentified yarn that weights 600g. Most paper and plastic cones weight about 25 grams, so I really have about 575 grams of yarn.

My swatch is 8 inches wide, 4.5 inches long, and weighs 13g.

My sweater is roughly 38 inches around the body and 22 inches long. We don’t have to be exact here… rough measurements are ok. When in doubt, add an inch or so in both dimensions.

My sleeve is about 13 inches wide at the widest point and 23 inches long. Again, rough measurements are ok.

Let’s calculate the yardage for the body first. To make things easier, we’re going to work in one dimension at a time — first width, then length. I also want to err on the side of caution, so I’m going to round up to the nearest third or quarter (.25, .33, .50, .66, .75).

  • The body is 4.75 times the width of my swatch (38 / 8 = 4.75), so a 38 x 4.5 rectangle needs 62g (4.75 x 13g).
  • The body of my sweater is almost 5 times the length of my swatch (22 / 4.5 = 4.88), so a 38 x 22 rectangle needs 310g (5 x 62g).

Now let’s calculate the yardage for the sleeves using the same technique.

  • The sleeve is about 1 2/3 times the width of my swatch (13 / 8 = 1.625), so a 13 x 4.5 rectangle needs 22g (1.66 x 13g).
  • My sleeve is more than 5 times the length of my swatch (23 / 4.5 = 5.11), so a 13 x 23 rectangle needs 116g (5.25 * 22g).
  • A sweater isn’t of much use with only one sleeve, so we need to double that to 232g (2 x 116g).

Now, we just add up the numbers to get the total yardage requirement: 310g + 232g = 542g.

Here’s a little cheat sheet you can print and keep with your yarn so you’ll have it handy the next time you need it:

Knitting Yardage Worksheet

A = Swatch Width:
B = Swatch Length:
C = Swatch Weight:
D = Desired Width:
E = Desired Length:
F = (D / A) * C:
G = (E / B) * F = Total Yardage Required:

Stitch Patterns

I’m finally getting around to loading my collection of stitch patterns into DesignaKnit 8. Since I’ve done the work, I decided to make them available for others to use.

You’ll find them on my new downloads page.

Machine Knitting: How To Make A Garter Bar Hanger

I got inspired by one of Diana Sullivan’s videos where she shows you how to use a garter bar to shape a neckline. I fell in love with the technique because the results are superior to using hold position or binding off, but I kept thinking I could improve on the use of twist ties to hang the garter bar on the gate pegs.

And so, the jewelry wire garter bar hanger was born.

What you’ll need…

2 3″ pieces of copper jewelry wire — somewhere around 18 to 22 gauge
something to help you form a small ring about the size of a drinking straw

What you’ll do with it…

Make a loop in the center of the wire

Make a loop in the center of the wire

Insert the two ends through two prongs on the garter bar

Insert the two ends through two prongs on the garter bar

Bend the two ends to form hooks

Bend the two ends to form hooks

Trim the ends so the hooks are about the same size as the ring

Trim the ends so the hooks are about the same size as the ring

After transferring stitches to the garter bar, insert the hook with the prongs facing away from you and drop the rings onto the gate pages between the corresponding needles.

After transferring stitches to the garter bar, insert the hook with the prongs facing away from you, and hook the rings onto the gate pages between the corresponding needles.

Arduino Series: Working With An Optical Encoder

The Goal

I have an old White 1602 knitting machine that uses a light scanner to produce patterns in the knit fabric. The bed of the knitting machine syncs up with the controller via two obsolete rotary encoders and the stitch patterns are produced as a sequence of pulses causes specific needles to be selected.

The first problem is that the light scanner has a lot of mechanical parts that have deteriorated with age. Parts are no longer available.

The second problem is that the width of the pattern is constrained by the width of the mylar that feeds into the light scanner to product the pattern.

The third problem is that while the light scanner does its job well when it’s functioning, all of its capabilities could be performed more efficiently and accurately by a computer.

My goal is to completely replace the light scanner with newer technology. This post illustrates a prototype for how I might use an optical coder to track the position of the knitting carriage as well as when it changes direction.

Equipment

Arduino Mega 2560 R2
US Digital Optical Encoder S1-1250-I
4 male-to-female jumpers
Electrical tape

About The Encoder

While obsolete, the S1-1250-I encoder is a very capable piece of hardware, but much more expensive than what’s available on today’s market. I used it because I already had one, but the information presented in this post should work with any rotary quadrature encoder. I’ll most likely replace the US Digital with a SparkFun’s COM-11102 1024 P/R Quadrature Encoder I have on order.

About The Approach

There are basically two ways to interface with the encoder: polling and interrupts. A little project I’m playing with will require a considerable amount of accuracy, so I chose to use interrupts as polling might result in missed pulses.

 Wiring

The encoder has 3 outputs: channel A, channel B and index. We’re not going to use index, so we need to make 4 connections — one for each of the two channels, one for power and one for ground. The encoder has raw wires so we need to add pins in order to attach it to the Arduino.

  1. Make sure the Arduino is powered off.
  2. Strip 1/4″ – 3/8″ of insulation from the encoder’s leads for power, ground, channel A and channel B.
  3. Insert the end of each wire into the female end of a jumper and secure with electrical tape.
  4. Connect the power lead to the 5V power pin.
  5. Connect the ground lead to one of the Arduino’s ground pins.
  6. Connect the channel A lead to digital pin 20. This pin is one of the 6 Arduino pins that support interrupts. The other pins with interrupts are 2, 3, 18, 19 and 21.
  7. Connect the channel B lead to digital pin 17.

The Code

/****************************************************************************************

Author:    Brenda A Bell
Permalink: https://www.brendaabell.com/2014/02/arduino-series-working-with-an-optical-encoder/

****************************************************************************************/

#define ENCODER0PINA         20      // this pin needs to support interrupts
#define ENCODER0PINB         17      // no interrupt required
#define CPR                  1250    // encoder cycles per revolution
#define CLOCKWISE            1       // direction constant
#define COUNTER_CLOCKWISE    2       // direction constant

// variables modified by interrupt handler must be declared as volatile
volatile long encoder0Position = 0;
volatile long interruptsReceived = 0;

// track direction: 0 = counter-clockwise; 1 = clockwise
short currentDirection = CLOCKWISE;

// track last position so we know whether it's worth printing new output
long previousPosition = 0;

void setup()
{

  // inputs
  pinMode(ENCODER0PINA, INPUT);
  pinMode(ENCODER0PINB, INPUT);

  // interrupts
  attachInterrupt(3, onInterrupt, RISING);

  // enable diagnostic output
  Serial.begin (9600);
  Serial.println("\n\n\n");
  Serial.println("Ready.");
}

void loop()
{
  // only display position info if has changed
  if (encoder0Position != previousPosition )
  {
    Serial.print(encoder0Position, DEC);
    Serial.print("\t");
    Serial.print(currentDirection == CLOCKWISE ? "clockwise" : "counter-clockwise");
    Serial.print("\t");
    Serial.println(interruptsReceived, DEC);
    previousPosition = encoder0Position;
  }
}

// interrupt function needs to do as little as possible
void onInterrupt()
{
  // read both inputs
  int a = digitalRead(ENCODER0PINA);
  int b = digitalRead(ENCODER0PINB);

  if (a == b )
  {
    // b is leading a (counter-clockwise)
    encoder0Position--;
    currentDirection = COUNTER_CLOCKWISE;
  }
  else
  {
    // a is leading b (clockwise)
    encoder0Position++;
    currentDirection = CLOCKWISE;
  }

  // track 0 to 1249
  encoder0Position = encoder0Position % CPR;

  // track the number of interrupts
  interruptsReceived++;
}

How It Works

Lines 8 – 12 define a few useful constants to make the code more readable. What they do should be obvious from the comments.

Lines 15 – 16 define global variables that will be modified by the interrupt handler.

Line 19 & 22 define other global variables we’ll use inside the Arduino loop.

The setup() function on line 24 configures our channel A and channel B pins for input, attaches an interrupt handler to channel A’s pin and configures the serial port so we can see some diagnostic output. Note that we’re going to interrupt on a rising state change so we know that the state of channel A will always be high when our interrupt is triggered. Using a rising or falling interrupt means:

  • We always know the state of A without having to perform a read: A is always high in a rising interrupt and always low in a falling interrupt.
  • Since we always know the starting state of A, we only have to test the state of B to determine direction and track the current position.

The Arduino loop() function on line 40 does nothing more than print some diagnostic information about what we’re reading from the encoder. To avoid chatter, the loop is tracking current values against previous values to we don’t print information we’ve already seen.

The interrupt handler on line 55 does all the heavy lifting:

  • When the encoder is moving in one direction, the pulse from channel A is leading the pulse from channel B. When the encoder is moving in the other direction, the pulses are reversed.
  • When the state of A and B are equal, B must be leading A, so the encoder is turning counter-clockwise. Otherwise, A is leading B, so the encoder is turning clockwise. Remember when we configured our interrupt to fire on rising? The state of channel A will always be high, so we only need to check the state of channel B to determine direction.
  • By comparing A to B instead of hard-coded constants, we can change the interrupt between rising and falling without breaking the interrupt handler.

The code on line 75 keeps the counter within the range 0 to 1249. This would allow us to compute angle or synchronize the position of the encoder to some other device.

The code on line 78 is an extra bit of diagnostic info we can use to track how many times our interrupt has fired.

Further Discussion

It’s much easier to understand how the interrupt handler works if you understand what’s happening when you turn the encoder shaft and reverse direction.

When you turn the encoder’s  shaft clockwise, A is leading B. This results in 4 distinct transitions that are repeated over and over as long as the shaft continues rotating in the same direction.

AB
HIGHLOW
HIGHHIGH
LOWHIGH
LOWLOW

What’s important is this:

  • The inputs are latched, meaning that when we read B’s value from A’s interrupt handler the value we get is B’s state as it existed at the time the interrupt handler was fired. 
  • The handler is fired when A goes high.
  • When the shaft is turning clockwise, the handler is fired between the first two transitions —before B goes high — so we know the shaft is rotating clockwise when A is high and B is low.

If the shaft is turning clockwise and you stop turning, A remains high and B remains low.

If the shaft then starts turning counter-clockwise, B is leading A. This means that B has to go high before A’s interrupt fires again. Therefore, when both A and B are high, the shaft must be turning counter-clockwise.

Some makers may be inclined to use interrupts on both A and B. Unless you have an application where you absolutely must perform some action between A and B going high in both directions, the second interrupt is completely unnecessary. Interrupts are an expensive, limited resource so it’s wise to only use them when you need them.

References

http://playground.arduino.cc/Main/RotaryEncoders#Example1