One of the most important aspects of printing with the Solidoodle is the rate of flow of the plastic through the extruder. When laying out the tool paths, the slicing software will space the lines based on the width of the plastic thread. The thread width is determined by a combination of the distance from the nozzle to the bed (layer height), the speed of travel (feed rate), and the amount of plastic coming through the nozzle (flow rate).
The closer to the bed the nozzle is, the more squished the plastic gets making a wider thread. Faster movement means less plastic at a given point making a thinner thread, and speeding up the flow makes a wider thread. Since layer height stays the same most of the time, feed and flow rate need to be balanced. If you set the slicer to print slower on the perimeters, flow rate will need to decrease, and if you set fill to print faster, then flow will need to increase to keep up.
Slic3r and the later versions of Skeinforge (41+) can calculate the flow rate automatically and adjust it as needed. They figure out how much plastic is coming out of the nozzle based on the filament diameter, nozzle size, and speed of the filament drive gear. To print correctly, when the gcode tells the printer to draw 1mm of plastic the printer needs to actually draw 1mm of plastic.
There is a setting in firmware call Default Axis Steps per Unit. This tells the motor how many steps to turn for every millimeter it is commanded. In the video below I demonstrate how to determine the correct number. Don’t upload the firmware as demonstrated in the video. In Repetier go to Config>Firmware EEPROM Configuration and enter the new values in the fields there. Anything you enter into EEPROM will stay, and not be overwritten if you update the firmware later.
You can also update the steps by manually entering M92 E(# of steps). This will be overwritten when the board is restarted unless you save to EEPROM as above. If you are using Pronterface, or the EEPROM Config window isn’t working (happens on the Mac sometimes) you can save the current values to EEPROM by entering M500. Entering M501 will read back the values currently stored there.
As an alternative to changing the steps/mm, you can use a fudge factor in the Slic3r settings called Extrusion Multiplier. If you have determined that your extruder pulls 25% more plastic than it is supposed to, you can set the multiplier to .75 to compensate, telling Slic3r to scale back its computations by 25%. However that setting is really there to adjust for the differences between plastics. If you did your calibration using ABS, you might need to adjust a little for PLA due to the difference in how far the gear teeth cut into it. It’s best to start from a point where you know everything is calibrated correctly, then go from there.