I have two otherwise-identical machines (called "Lefty" and "Righty"), so I have a baseline to compare. I am running Marlin 2.0.7.2 on both machines. They are Creality CR-10 printers with BTT SKR e3 Mini v1.2 boards, with Marlin I compiled myself. Both machines are (as far as I know!) running the same exact firmware binary.
When running the same G-code on both printers, Lefty prints fine. But, Righty fires the plastic through -- I need to set the flow rate to 50 % (!) to be correct. I have checked the esteps, both are identical at 415, and this produces 39.5 mm of 40 mm commanded when bumped through 1 mm at a time via the extrusion menu, even on Righty. The XY movement on both machines is 100 % correct.
Volumetric extrusion is disabled in the firmware on both machines, and disabled in the slicer. Both machines are running TMC2209 drivers, set to Spread Spectrum at 650 mA for the extruder. Both machines are set to 1250 accel. The steppers are rated for 1 A, and they are not skipping steps.
The machines were working side-by-side perfectly until I killed Righty's stepper driver with static, and replaced the board. No other hardware was modified.
Why do both machines behave the same with identical G-code, until extrusion moves? Why does Righty try and extrude nearly double what it should be, only during printing, when Lefty works perfectly?