Under extruding move from Marlin to Klipper

Basic Information:

Printer Model: ender 3 v2 with an sprite pro extruder
MCU / Printerboard: STM 32-bit board (4.2.7)

klippy.log (530.1 KB)

Hi, I am relatively new to 3d printing. I have an ender 3 v2 with an sprite pro extruder and 4.2.7 version print board.

All works very well with Marlin and Octoprint. but like alot of people want to move to Klipper due to the possible speeds.

I have installed the firmware and done all the calibration steps. (i have done the extruder rotation calibration many times!) but all the prints are coming out terrible, I did the same print on the 2 different firmwares and the Klipper one was about half the weight.

In the slicer I have increased the flow rate to 200% and the quality of the prints are much better (not prefect).

So the question is, what calibration step or setting should i be looking at within Klipper to solve this correctly and not use this slicer workaround?

Any help would be great/

1 Like

Hello @pete !

Have you checked the correct value of rotation_distance for the extruder?

Setting your slicer to 200% EM is definately the wrong approach.
Do a proper extruder calibration and go from there.
You need to make sure that your extruder extrudes i.e. 100mm of filament when 100mm is requested (not on the output side of course!)

Hi I have done this, following the “measure and trim” procedure found here: Rotation distance - Klipper documentation

When I make the mark at 70mm and extrude 50mm i am left with 20mm (on the input side :rofl:)

my extruder config is as follows:

max_extrude_only_distance: 200.0
step_pin: PB3
dir_pin: PB4
enable_pin: !PC3
microsteps: 16
gear_ratio: 42:12
rotation_distance: 26.359
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
pid_Kp: 23.561
pid_Ki: 1.208
pid_Kd: 114.859
min_temp: 0
max_temp: 260
pressure_advance: 0.04

I have got these values from klipper/printer-creality-ender3-s1-2021.cfg at master · Klipper3d/klipper · GitHub. this printer come with the sprite extruder as standard (same extruder mine has been upgraded with) so these setting are the same for my printer (pin numbers slightly different due to different printboard)

And the slicer setting are the same? If mechanically all seems to be ok (that’s what your extrution test points to), slicer setting could be different or wrong… Could you upload a picture of the wrong print?

Maybe it is wrong with the gear_ratio and rotation_distance parameters?
Just calibrate the feeder and enter the calculated rotation_distance and omit the gear_ratio.

Here is is, (ignore it being bent, i took it off the plate while it was still hot)

One is set at 100% and the other is set at 200%

are you saying remove the gear ration from the printer.cfg and run the ‘measure and trim’ calibration steps again?

If you command your feeder to “extrude”/feed 100 mm of filament it should extrude/feed 100 mm (not through the nozzle!).
Not more or less.
So comment out the gear ratio line and then calibrate your feeder after a restart and adjust the rotational_distance accordingly.

sorry, i don’t fully understand (I have a direct feed extruder).

Should i be taking the nozzle off for this?

Yeah in your case as this is an all-in-one-part you should remove the nozzle and then calibrate the feeder.
That is the disadvantage of such a solution.

You shouldn’t need to remove the nozzle - I’ve never done that when calibrating the extruder.

I mark a point 120mm from the input of the extruder, run a G1 E100 F60 command (I do 100mm, not 50mm) and then adjust the rotation distance from there.

Obviously, I heat up the extruder, but I don’t take it off.


1 Like

Thanks, however is this Just for marlin, If so i have this, My printer running marlin works fine, it is when using Klipper there is the issue.

The e steps in marlin is: 429.4

What about TMC settings? Maybe you extruder works fine with Klipper if there is no load and if it get’s tough, the stepper skips because of too low current/voltage? Sorry I have no Idea, if your system even has TMCs…

What I see is: massive underextrusion. Reasons could be:

  • Wrong Calibration of Extruder (I think you checked thisone? See comment of Brian and myke)
  • Extruder Motor fails (wrong TMC settings, technical problem)
  • Slicer settings wrong (using 0,6Nozzle but slicer is set to 0,4er nozzle) But I think you use just the same GCODE File for both test? So we can check thisone
  • Nozzle blocked (checked, since Marlin works fine)
  • Z-Position error (maybe your layerhight is not what you expect? You said, the weight of the output is half what you expected? If so, thione is checked)
  • Temperature at the hotend not reached (“cold extrusion”)

Any other ideas what could result in an underextrusion?

From your config

gear_ratio = 42:12
rotation_distance = 26.359
  • Taking the gear_ratio into account, you have: rotation_distance = 7,53
  • Calculation it from Marlins e-steps: rotation_distance = 7,45

This is close enough so that it cannot be the reason. Quite strange, since the general settings for an Ender 3 v2 are looking good.

Do you have any modifications in place like different steppers (0.9°) etc?

No the extruder is an upgraded from the 3v2 standard to the sprite pro. However this is straight out the box and on to the machine.

I’m facing the same issue. Could you resolve it?

Hello @cs.csaba4 !

Could you please open a new thread (with all required information) instead of reactivating an old one?
Without further information, help is almost impossible.

1 Like

Hello @EddyMI3D,

I’m in the very same shoes as OP and since I didn’t see here that he resolved his issue, I just wanted to catch up.