Immersion dyeing fiber is one of the easier ways to dye fiber. It's very easy and as you start becoming more comfortable with immersion dyeing, you can branch out to other areas with little worry of ruining your fiber stash. I also like immersion dyeing because there's less need to be meticulous about measurements. Once the dye is in the pot, it doesn't matter how much water you add in---this was a really tough concept for me to wrap my head around when I first started dyeing.
Also, If you want repeatable results, always write down what you're doing.
Step 1: BoM
Preferred Dyes (I use almost only acid dyes for protein fibers)
Mixing jars and tools (chop sticks, stirrers etc.)
Measuring cups, measuring spoons, oral syringes etc.
Extremely accurate jewelers scale
Fiber to be dyed
Water (for mixing dye powders and for inside the dye pot)
Dye pots (with lids or with plastic wrap)
Step 2: Pre-Soak
Before you can dye fiber, it has to be thoroughly soaked through. I try to measure out how much fiber I want to dye a certain color and then add it to a bucket (or container) of warm water and a 1tablespoon or so of citric acid to soak for 1-6 hours. The longer the better just to ensure all of the fiber is wet (silk is a different story and needs a couple days).
Step 3: Mixing Dyes
You have a couple of options in this step, you can dye based on depth of shade (DOS) or make a dye stock solution.
To get DOS you multiply the desired DOS (expressed as a decimal) by the weight of the fiber (in grams or ounces, grams is more accurate) and divide by the strength of a stock solution (usually 1).
i.e., .5DOS x 56.7g / 1 = 28.3ml.
So to get a .5% depth of shade on 56.7 grams of fiber, using a 1% stock solution, I'd want to add 28.3ml of dye from the stock solution to my dye pot.
A dye stock solution is probably the easier one to do and is what I often do if I've forgotten to weigh how much fiber I'm using. To make 1 cup of a 1% stock solution, you'd want to measure out 2.4g of dye powder and mix it with 10ml of warm water. Add in 230ml of water and stir. You now have a cup of 1% dye stock solution. And you can literally just pour this right into your dye pot, add water and fiber and you're all set.
With the exception of black dyes, there's rarely ever a reason to go above 1.5-2% for depth of shade.
Step 4: Everything Into the Pot
Once your dye is mixed, pour the appropriate amount of dye in to get the depth of shade you want and then fill at least halfway with additional water. You want enough water so that the fiber you add in last has enough room to move around, but not so much that the water and dye overflows. After the fiber is in, you can carefully add more water.
Cover the pot with a lid or plastic wrap (be super careful if you go the plastic wrap route, steam burns HURT). What I generally do is start the pot on the lowest or second lowest setting on my stove, set my watch for 10-15 minutes and walk away. Each time my alarm goes off, I adjust the heat to the next level or two and then repeat until it's been 30-45 minutes.
Step 5: Turning Up the Heat
Around 30 minutes I'll start checking the water color and temp, dye often strikes around 180 degrees and for an even strike you want to raise the temperature slowly. If you're concerned after 45 minutes or so that the dye isn't exhausting (being completely absorbed by the fiber), you can add some citric acid around the edges (not on the fiber) to help things along. You want to be sure to not to let the water boil, so if you turn the heat up really high, stay by it.
You'll know your fiber is about done when the water starts looking clear. This means the dye has "exhausted". Some colors (black, red, yellow) don't always appear to exhaust, but when you remove them from heat and let them sit and cool overnight, the next day when you give them a gentle rinse under room temperature water, you'll often find that the dye has exhausted during the cooling process.
Step 6: Fibers!
These are all different types of fiber I've dyed using the immersion dyeing method. The last picture is Firestar, a synthetic fiber, dyed at different values of the same color.