<p>The missing/inaccurate microsteps seem to be a bug/feature of Marlin:</p>

<blockquote>
<pre><code>// Moves (or segments) with fewer steps than this will be joined with the next move  
#define MIN_STEPS_PER_SEGMENT 6
</code></pre>
</blockquote>

<p>I'm not sure what the logic for this was in the stock firmware, which I originally performed the tests with, but with Marlin 2.0 I was completely missing the first 5 steps on the right (positive X) side. Changing the value to 1 mostly fixed the problem, but there was also a corresponding bug/feature in Cura:</p>

<blockquote>
<pre><code>            "meshfix_maximum_deviation":
            {
                "label": "Maximum Deviation",
                "description": "The maximum deviation allowed when reducing the resolution for the Maximum Resolution setting. If you increase this, the print will be less accurate, but the g-code will be smaller. Maximum Deviation is a limit for Maximum Resolution, so if the two conflict the Maximum Deviation will always be held true.",
                "type": "float",
                "unit": "mm",
                "default_value": 0.05,
                "minimum_value": "0.001",
                "minimum_value_warning": "0.01",
                "maximum_value_warning": "0.3",
                "settable_per_mesh": true
            }
</code></pre>
</blockquote>

<p>The deviation should be set less than a single microstep, so 0.0125 mm.</p>

<p>With both of these fixed, I've got a perfect print:</p>

<p><img src="https://i.sstatic.net/EWggG.jpg" alt="successful print with each microstep visible"></p>

<p>Sliced printing direction was counter-clockwise for all layers. The steps on the left side are where the slicer decided to put the layer seams (perhaps I should retry forcing it to put the seam somewhere else, or even using vase mode) so they have a little extra bulging from slight ooze during the Z move that you can clearly see from the lighting, but the steps on the right side are dimensionally near perfect.</p>

<p>I think I can safely say any past problems were the fault of firmware and slicing software, not anything physical/electrical/electronic.</p>

CC BY-SA 4.0
2020-02-25T15:58:50.120Z
2020-02-26T15:39:11.960Z
2020-02-26T15:39:11.960Z
R.. GitHub STOP HELPING ICE
<p>It's worth remembering that the smaller the fraction of the step, the less torque is going to be available at that step. <a href="https://www.machinedesign.com/archive/microstepping-myths" rel="nofollow noreferrer">here is one link</a> but there are many others that explain it as well. it looks to me like you have inconsistent friction in your system, or possibly some flex/warping of the frame. it might also be easier to see with a smaller nozzle</p>

<p>edit because i forgot to actually answer the question: no, by itself it does not indicate that smoothers would help. this does not mean that they wont, just that this does not look definitive to me</p>

CC BY-SA 4.0
2019-06-28T18:14:04.750Z
2019-06-28T18:26:37.857Z
2019-06-28T18:26:37.857Z
entropicCreator
<p>Instead of getting tlsmoothers just upgrade your drivers, 2209s are good, Most TMC Drivers account for flyback</p>

CC BY-SA 4.0
2019-07-02T02:38:30.517Z
I'm pretty sure they're not socketed, so effectively this is "get a different controller board". Not a bad idea, and I might do it for this and other reasons, but it doesn't really answer the question.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2019-07-02T00:35:52.123Z
2019-07-02T00:35:52.123Z
Moana Springfeild
<p>Note: The "TL smoothers" referred to in the question title are an arrangement of 8 diodes that presumably both provide a voltage drop to address the minimum current output issue of some stepper drivers described in <a href="https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/" rel="nofollow noreferrer">How Accurate Is Microstepping Really</a>, and provide flyback protection and protection of the driver from currents induced by moving the motor in the unpowered state.</p>

<p>Now, on to the question:</p>

<p>I put together a simple test part to test Y (or X) axis microstepping accuracy:</p>

<p><img src="https://i.sstatic.net/siHlD.png" alt="Test part design - OpenSCAD screenshot"></p>

<p>Every 1mm in the Z direction, the face steps inward 1/80 mm (corresponding to my printer's [micro]steps per mm setting) in the Y direction and 1 mm in the X direction (to clearly show where the steps happen).</p>

<p>Here are the results (two runs, near-identical output):</p>

<p><img src="https://i.sstatic.net/HyDve.jpg" alt="Photo of test prints lying down">
<img src="https://i.sstatic.net/5hJWJ.jpg" alt="Photo of test prints upright"></p>

<p>Several of the steps are missing entirely, and it's the middle vertical surface, rather than the side two stepped-vertical surfaces, that shows a step-like texture.</p>

<p>Note that layers have been printed counter-clockwise, but the design with steps on both sides is to try to reduce the impact of print orientation so as not to depend on what the slicer decides to do. Print speed was 30 mm/s for outer walls, with outer walls set to be printed first so they're not affected by already-printed inner ones.</p>

<p>This looks to me like an indication that microstepping is not working accurately, and seems to agree partly with this article: <a href="https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/" rel="nofollow noreferrer">https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/</a></p>

<p>Would TL smoothers improve this? My printer is an Ender 3, seemingly the latest revision at the time it was sold (December 2018) based on the bed and other aspects. Some threads I found suggested that this was a problem with older Ender 3s that was fixed in later revisions and that TL smoothers won't help, but it looks to me like it's not fixed.</p>

<p>Update: With settings adjusted for 0 jerk and 50 mm/s² acceleration in the outer walls, I got a somewhat improved result:</p>

<p><img src="https://i.sstatic.net/CtoxR.jpg" alt="New test print (lower) compared to old (upper)"></p>

<p>All steps are clearly visible, but at the reduced and more varying speed, artifacts of the extruder motor accuracy (or maybe just bowden latency) are much worse, and at the steps the "overshoot and bounce back" effect is still happening. Is this consistent with a situation where the TL smoothers I asked about could benefit?</p>

<p>Update 2: I've further tested with leaving acceleration at default (500 mm/s²) and just disabling "jerk", i.e. "instantaneous" change in speed. The results are at least as good as the above with slow acceleration. What strikes me most is that the "overshoot then bounce back" happens outward from the model on <em>both</em> edges, rather than inward on the righthand side where the (CCW moving) nozzle is turning inward. Could this indicate that there's no microstepping accuracy problem at all, and that the artifact is purely from excess extrusion as the corner is turned?</p>

<p>Updated pic (new one below):</p>

<p><img src="https://i.sstatic.net/jeGq0.jpg" alt="Old test piece above, new with default accel and 0 jerk below"></p>

CC BY-SA 4.0
2019-06-25T17:12:44.800Z
The problem is related with parameters instead microsteping, a wrong calibration of the driver can result on missing steps. Since your first image we can notice that speed, temperature, retraction can create that under flow and that extra material on borders called coasting; you need to check each variable to reduce each problem because there are some. Jerk, max, acceleration, speed for z can help a lot.
Fernando Baltazar
CC BY-SA 4.0
2019-06-28T19:20:59.153Z
I would attempt to answer your question, but I don't know what a TL Smoother.  BUT Google knew.
cmm
CC BY-SA 4.0
2019-06-28T20:25:00.403Z
@cmm: Updated question with my understanding of what they are.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2019-06-29T06:51:39.193Z
Which stepper driver chipsets do you use?
0scar
CC BY-SA 4.0
2019-06-29T14:57:57.727Z
@0scar: My understanding from things I've seen online is that the Ender 3 uses A4988's, but I haven't verified.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2019-07-02T04:02:45.310Z
I'd like to be able to award this bounty, but there are so far no answers that even try to answer the question...
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2019-07-03T12:52:37.207Z
@R.. This is not an easy question! Generous to set the bounty, but sometimes that attracts low quality answers. Not many people have experience with TL Smoothers and there are some mixed reported results. I have them laying around, but not the time to play with them to answer your question. I may answer it after a while though! :)
0scar
<print-quality><creality-ender-3><microstepping>
Does this microstepping test result indicate need for TL smoothers?
R.. GitHub STOP HELPING ICE
# Does this microstepping test result indicate need for TL smoothers?

(Asked by: username_0 on 2019-06-22)

Note: The "TL smoothers" referred to in the question title are an arrangement of 8 diodes that presumably both provide a voltage drop to address the minimum current output issue of some stepper drivers described in [How Accurate Is Microstepping Really](https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/), and provide flyback protection and protection of the driver from currents induced by moving the motor in the unpowered state.

Now, on to the question:

I put together a simple test part to test Y (or X) axis microstepping accuracy:

![Test part design - OpenSCAD screenshot](https://i.sstatic.net/siHlD.png)

Every 1mm in the Z direction, the face steps inward 1/80 mm (corresponding to my printer's [micro]steps per mm setting) in the Y direction and 1 mm in the X direction (to clearly show where the steps happen).

Here are the results (two runs, near-identical output):

![Photo of test prints lying down](https://i.sstatic.net/HyDve.jpg)
![Photo of test prints upright](https://i.sstatic.net/5hJWJ.jpg)

Several of the steps are missing entirely, and it's the middle vertical surface, rather than the side two stepped-vertical surfaces, that shows a step-like texture.

Note that layers have been printed counter-clockwise, but the design with steps on both sides is to try to reduce the impact of print orientation so as not to depend on what the slicer decides to do. Print speed was 30 mm/s for outer walls, with outer walls set to be printed first so they're not affected by already-printed inner ones.

This looks to me like an indication that microstepping is not working accurately, and seems to agree partly with this article: <https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/>

Would TL smoothers improve this? My printer is an Ender 3, seemingly the latest revision at the time it was sold (December 2018) based on the bed and other aspects. Some threads I found suggested that this was a problem with older Ender 3s that was fixed in later revisions and that TL smoothers won't help, but it looks to me like it's not fixed.

Update: With settings adjusted for 0 jerk and 50 mm/s² acceleration in the outer walls, I got a somewhat improved result:

![New test print (lower) compared to old (upper)](https://i.sstatic.net/CtoxR.jpg)

All steps are clearly visible, but at the reduced and more varying speed, artifacts of the extruder motor accuracy (or maybe just bowden latency) are much worse, and at the steps the "overshoot and bounce back" effect is still happening. Is this consistent with a situation where the TL smoothers I asked about could benefit?

Update 2: I've further tested with leaving acceleration at default (500 mm/s²) and just disabling "jerk", i.e. "instantaneous" change in speed. The results are at least as good as the above with slow acceleration. What strikes me most is that the "overshoot then bounce back" happens outward from the model on *both* edges, rather than inward on the righthand side where the (CCW moving) nozzle is turning inward. Could this indicate that there's no microstepping accuracy problem at all, and that the artifact is purely from excess extrusion as the corner is turned?

Updated pic (new one below):

![Old test piece above, new with default accel and 0 jerk below](https://i.sstatic.net/jeGq0.jpg)

**Tags:** print-quality, creality-ender-3, microstepping
> **Comments:**
> **username_1**: The problem is related with parameters instead microsteping, a wrong calibration of the driver can result on missing steps. Since your first image we can notice that speed, temperature, retraction can create that under flow and that extra material on borders called coasting; you need to check each variable to reduce each problem because there are some. Jerk, max, acceleration, speed for z can help a lot.  
> **username_2**: I would attempt to answer your question, but I don't know what a TL Smoother.  BUT Google knew.  
> **username_0**: @cmm: Updated question with my understanding of what they are.  
> **username_3**: Which stepper driver chipsets do you use?  
> **username_0**: @0scar: My understanding from things I've seen online is that the Ender 3 uses A4988's, but I haven't verified.  
> **username_0**: I'd like to be able to award this bounty, but there are so far no answers that even try to answer the question...  
> **username_3**: @R.. This is not an easy question! Generous to set the bounty, but sometimes that attracts low quality answers. Not many people have experience with TL Smoothers and there are some mixed reported results. I have them laying around, but not the time to play with them to answer your question. I may answer it after a while though! :)  

---

## 3 answers

### Answer by username_0 on 2020-02-25. Score: 0 | Accepted answer

The missing/inaccurate microsteps seem to be a bug/feature of Marlin:

// Moves (or segments) with fewer steps than this will be joined with the next move  
#define MIN_STEPS_PER_SEGMENT 6


I'm not sure what the logic for this was in the stock firmware, which I originally performed the tests with, but with Marlin 2.0 I was completely missing the first 5 steps on the right (positive X) side. Changing the value to 1 mostly fixed the problem, but there was also a corresponding bug/feature in Cura:

            "meshfix_maximum_deviation":
            {
                "label": "Maximum Deviation",
                "description": "The maximum deviation allowed when reducing the resolution for the Maximum Resolution setting. If you increase this, the print will be less accurate, but the g-code will be smaller. Maximum Deviation is a limit for Maximum Resolution, so if the two conflict the Maximum Deviation will always be held true.",
                "type": "float",
                "unit": "mm",
                "default_value": 0.05,
                "minimum_value": "0.001",
                "minimum_value_warning": "0.01",
                "maximum_value_warning": "0.3",
                "settable_per_mesh": true
            }


The deviation should be set less than a single microstep, so 0.0125 mm.
With both of these fixed, I've got a perfect print:

Sliced printing direction was counter-clockwise for all layers. The steps on the left side are where the slicer decided to put the layer seams (perhaps I should retry forcing it to put the seam somewhere else, or even using vase mode) so they have a little extra bulging from slight ooze during the Z move that you can clearly see from the lighting, but the steps on the right side are dimensionally near perfect.
I think I can safely say any past problems were the fault of firmware and slicing software, not anything physical/electrical/electronic.


---

### Answer by username_4 on 2019-06-28. Score: 0

It's worth remembering that the smaller the fraction of the step, the less torque is going to be available at that step. [here is one link](https://www.machinedesign.com/archive/microstepping-myths) but there are many others that explain it as well. it looks to me like you have inconsistent friction in your system, or possibly some flex/warping of the frame. it might also be easier to see with a smaller nozzle

edit because i forgot to actually answer the question: no, by itself it does not indicate that smoothers would help. this does not mean that they wont, just that this does not look definitive to me


---

### Answer by username_5 on 2019-07-02. Score: 0

Instead of getting tlsmoothers just upgrade your drivers, 2209s are good, Most TMC Drivers account for flyback

> **Comments:**
> **username_0**: I'm pretty sure they're not socketed, so effectively this is "get a different controller board". Not a bad idea, and I might do it for this and other reasons, but it doesn't really answer the question.  

---

