Note to self: The most important calibration to do when loading new 3D printer filament (even if it's the same brand and type, because the formulation may have changed) is to calibrate the extruder steps/mm (also called E-steps/mm).
Details of this calibration is given here.
The (simplified) steps I take are:
Power up the 3D printer and hook it up to the laptop via a USB cable.
Install and run a program that is able to talk to the 3D printer via the virtual serial port (eg. Prointerface).
Mark 10cm of filament, starting from the hole where the filament enters the extruder stepper mechanism and work backwards. An extra piece of filament that is measured to exactly 10cm helps here.
Use the following G-Code to find out your current E-step value.
The current E-step value is the last value (96.5) on this line:
Steps per unit:
M92 X80.00 Y80.00 Z400.00 E96.5
Issue the following G-Code:
// Set nozzle temp to 190c. Set to temperature you'd be printing the filament at. M104 S190 // Relative positioning M83 // Extrude 100mm at 50mm/s rate G1 E100 F50 // Reset extruder's origin G92 E0
Visually inspect how much over or under extrusion there is. If there is over-extrusion, it helps to make a 11-cm marking to estimate how much over-extrusion there is.
The new E-step value is calculated simply as:
10 / actual-extruded-length * current-e-step
The new E-step value can be saved to firmware using:
M92 E100.9 // 100.9 is the new E-step value
M500 // Persist to firmware
Try again and make sure approximately 10cm of filament is extruded. Some filament requires a higher temperature than the typical 190c for this to happen.
Another important calibration to do is to adjust the retraction distance until there is no stringing for the target temperature and filament using one of the models designed for this purpose on Thingiverse.