<p>Sadly this does not work at present. Setting an <code>M203 E3</code> resulted in 6 mm retractions via <code>G10</code> taking 2 seconds each vs the fraction of a second they're supposed to take.</p>

<p>Since it seems desirable for this to work, I've filed <a href="https://github.com/MarlinFirmware/Marlin/issues/16927" rel="nofollow noreferrer">a Marlin issue</a> to see if it's intentional or something that can be fixed.</p>

<p>In principle, <code>G10</code> firmware retractions still make it easier to script a soluton (replacing each <code>G10</code> or <code>G11</code> by a sequence of <code>M203</code>, <code>G10</code>/<code>G11</code>, <code>M203</code> to set E-axis speed then reset it around the operation) but this is less friendly to direct usage of same sliced files with different extrusion speed limits.</p>

CC BY-SA 4.0
2022-03-14T02:13:12.070Z
As a follow-up, I've been on Klipper instead of Marlin for roughly a year now, and it's easy to patch Klipper to have an extrusion rate limit for print moves only (not for retraction). So I have this working entirely with Klipper.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2020-02-22T18:45:11.043Z
2020-02-22T18:45:11.043Z
R.. GitHub STOP HELPING ICE
<p>One frustration I have with Cura is that it has no way to set print speed in terms of a volumetric extrusion rate, when extrusion rate is the main physical limiting factor for how fast you can print. It's a pain having to have different speed profiles for different layer heights (and doesn't work with adaptive layers!), different line widths, different materials, etc. I'd like to just set a feedrate limit on the extruder axis, which would achieve this and make it easy to switch already-sliced models between different materials. However, having a low extruder feedrate limit would make retraction and recovery from retraction incredibly slow, to the point of being unusable - since I've found quality so much better without combing, I now have <em>a lot</em> of retractions.</p>

<p>I'm thinking about building Marlin with support for firmware retraction in hopes that the firmware-retract command can ignore the configured extruder feedrate limit to still do rapid retract/restore, but I don't want to waste a lot of time on it if that doesn't work. Can anyone with experience with this feature confirm whether it ignores the normal extruder feedrate limit? Or, if you have experience with a similar configuration, can you share results on how well it worked?</p>

<marlin><speed><retraction>
Extusion rate limiting and firmware retract
R.. GitHub STOP HELPING ICE
# Extusion rate limiting and firmware retract

(Asked by: username_0 on 2020-02-22)

One frustration I have with Cura is that it has no way to set print speed in terms of a volumetric extrusion rate, when extrusion rate is the main physical limiting factor for how fast you can print. It's a pain having to have different speed profiles for different layer heights (and doesn't work with adaptive layers!), different line widths, different materials, etc. I'd like to just set a feedrate limit on the extruder axis, which would achieve this and make it easy to switch already-sliced models between different materials. However, having a low extruder feedrate limit would make retraction and recovery from retraction incredibly slow, to the point of being unusable - since I've found quality so much better without combing, I now have *a lot* of retractions.

I'm thinking about building Marlin with support for firmware retraction in hopes that the firmware-retract command can ignore the configured extruder feedrate limit to still do rapid retract/restore, but I don't want to waste a lot of time on it if that doesn't work. Can anyone with experience with this feature confirm whether it ignores the normal extruder feedrate limit? Or, if you have experience with a similar configuration, can you share results on how well it worked?

**Tags:** marlin, speed, retraction

---

## 1 answers

### Answer by username_0 on 2020-02-22. Score: 1

Sadly this does not work at present. Setting an `M203 E3` resulted in 6 mm retractions via `G10` taking 2 seconds each vs the fraction of a second they're supposed to take.

Since it seems desirable for this to work, I've filed [a Marlin issue](https://github.com/MarlinFirmware/Marlin/issues/16927) to see if it's intentional or something that can be fixed.

In principle, `G10` firmware retractions still make it easier to script a soluton (replacing each `G10` or `G11` by a sequence of `M203`, `G10`/`G11`, `M203` to set E-axis speed then reset it around the operation) but this is less friendly to direct usage of same sliced files with different extrusion speed limits.

> **Comments:**
> **username_0**: As a follow-up, I've been on Klipper instead of Marlin for roughly a year now, and it's easy to patch Klipper to have an extrusion rate limit for print moves only (not for retraction). So I have this working entirely with Klipper.  

---

