<p>Contrary to what's implied by its name, <em>junction deviation</em> does not produce rounded corners. It merely allows violations of the acceleration profile at corners that would be allowed <em>if the corner were rounded</em> by the deviation. So you should not expect changes to it to create or eliminate unwanted &quot;rounded corners&quot;.</p>
<p>However I don't think what you're seeing are rounded corners. They're <em>bulging</em> corners, likely produced as a consequence of the toolhead moving slower just before and after the corner in order to honor the acceleration profile. My guess is that your acceleration limits in Marlin 2.0 (500 mm/s² if I recall correctly) are a lot lower than on the original Creality firmware.</p>
<p>You can and probably should increase the acceleration limits. The machine should handle 1000 mm/s² easily and up to 3000 mm/s² or even higher with some ringing; I use lower acceleration for the outer walls and let it run wild for inner walls and infill. But the real solution to your bulging corners problem is to enable and calibrate <a href="https://marlinfw.org/docs/features/lin_advance.html" rel="noreferrer">Linear Advance</a> to get a consistent extrusion rate with varing speed. For my Ender 3, the right constant is around 0.5-0.6 s (yes the units are seconds - it's mm/(mm/s)) for PLA. You can use the <a href="http://marlinfw.org/tools/lin_advance/k-factor.html" rel="noreferrer">calibration pattern generator</a> to run the calibration yourself, but I would expect the same results.</p>
<p>This will significantly impact your print speed, since Marlin applies E-axis speed, acceleration, and jerk limits to the advance offsets. You can get a lot of it back though by increasing those limits though; the defaults are a whole lot lower than what the machine can handle. 200 mm/s speed limit and 10000-15000 mm/s² acceleration limit (vs 25 and 5000 defaults in Marlin, respectively) are within reason.</p>

CC BY-SA 4.0
2020-12-24T06:24:37.557Z
I commented above, but wanted to add here as well.  I have modified my Ender 5 to include an all-metal hotend as well as a direct drive conversion using the original extruder stepper motor.  Do your recommended acceleration limits still apply for this setup?
user3883001
CC BY-SA 4.0
2020-12-24T20:48:50.193Z
I'm not sure, but that would be relevant info to include in the question. As long as the extruder and hotend still weight less than the bed though any acceleration that works for Y should probably work ok for X.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2020-12-22T01:56:15.090Z
2020-12-22T01:56:15.090Z
R.. GitHub STOP HELPING ICE
<p>When a junction deviation is set too low it will mess up every other thing you have been trying to do to perfect your extrusion.</p>
<p>It messes up</p>
<ul>
<li>retraction,</li>
<li>linear advance,</li>
<li>s-curve,</li>
<li>the entire print.</li>
</ul>
<p>I had been messing around with my jerk and acceleration values, my retraction values, and my linear advance values, and no matter what I did, nothing fixed the actual issues. I even gave up on Bowden and tomorrow a Hemera direct drive will be delivered.</p>
<p>Now I found this setting in my printer menu, changed the value from 0.017 to 0.2  and those bulging corners are now gone (in fact I had to up my linear advance a bit because it was actually rounding off the corners making them too thin).</p>
<p>The stringing is gone now as well (low jerk on retraction and you might as well not retract at all).</p>
<p>Seriously, unless you are using a CNC or CoreXY, I don't see why you would even use junction deviation.</p>
<p>As to why nothing is changing for you, this is because other settings are bad as well. So it's still slowing down too much in the corners while material is still oozing out.</p>

CC BY-SA 4.0
2022-06-20T05:38:22.883Z
That’s cool to hear that jerk/JD speed can help with the retraction issues. I have been having a hell of a time getting retraction fixed and I think this may be the issue. I’m calibrating now. That said I do use JD because it’s what came with the firmware I got for my BLtouch. I haven’t figured out how compile my own firmware yet, but I really need to, because there’s issues with every version I have found. Just settings that are less than optimal like JD enabled, or soft endstops set to true.
Longblog
CC BY-SA 4.0
2021-04-19T11:34:15.307Z
2021-04-19T15:02:08.893Z
2021-04-19T15:02:08.893Z
Estaworks3d
<p>I recently upgraded my Creality Ender 5 with an SKR Mini E3 V2.0 running Marlin 2.0.7.2.  The printer has also been modified with an all-metal hotend and a direct drive conversion kit that uses the extruder stepper motor.   In test prints of the XYZ calibration cube, I have found that the edges of the cube are rounded over.  After some research, it appears this is due to either the acceleration/jerk settings or the junction deviation settings.</p>
<p>The issue now comes in that no matter what setting I change, the prints do not change.  Currently in the Marlin firmware, I found that the Classic Jerk is disabled in Configuration.h line ~786.  The default JUNCTION_DEVIATION_MM is 0.013. Since Classic Jerk is disabled, Junction Deviation shows up in the menu under Menu --&gt; Configuration --&gt; Advanced Settings. I printed 4 cubes for 4 different Junction Deviation settings:  0.013, 0.075, 0.130, 0.300.  All cubes have the same characteristic over-corrected corner with no visible changes (Picture below)
<a href="https://i.sstatic.net/eue3y.jpg" rel="noreferrer"><img src="https://i.sstatic.net/eue3y.jpg" alt="enter image description here" /></a></p>
<p>My questions are:</p>
<ul>
<li>Why aren't the prints being affected by changing the Junction Deviation setting via the menu?  The Junction Deviation setting is stored in memory using Menu --&gt; Configuration --&gt; Store Settings and I have confirmed the values remain in memory after cycling the printer.</li>
<li>If Classic Jerk is disabled in Marlin firmware, would an M205 X[Jerk] Y[Jerk] Z[Jerk] command before a print enable Classic Jerk for that print?</li>
<li>What happens if an M205 command is sent that sets XYZ as well as J? (e.g. M205 X[Jerk] Y[Jerk] Z[Jerk] J[Dev]).  Would it ignore Classic Jerk values if Classic Jerk is disabled in firmware?</li>
</ul>
<p>I have read through the following posts already</p>
<ul>
<li><a href="https://3dprinting.stackexchange.com/questions/11261/setting-junction-deviation-in-firmware-has-no-effect">Setting Junction Deviation in firmware has no effect</a></li>
<li><a href="https://reprap.org/forum/read.php?1,739819" rel="noreferrer">https://reprap.org/forum/read.php?1,739819</a></li>
<li><a href="https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html" rel="noreferrer">https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html</a></li>
<li><a href="https://www.reddit.com/r/3Dprinting/comments/dx8bd/here_is_why_you_should_disable_junction_deviation/" rel="noreferrer">https://www.reddit.com/r/3Dprinting/comments/dx8bd/here_is_why_you_should_disable_junction_deviation/</a></li>
</ul>
<p>My next steps:</p>
<ul>
<li>Re-enable Classic Jerk in Marlin and see if the print behavior changes</li>
<li>Other?</li>
</ul>

CC BY-SA 4.0
2020-12-22T07:10:25.630Z
To be sure, you aren't printing these cubes at high speeds? What is the speed?
0scar
CC BY-SA 4.0
2020-12-22T17:07:54.843Z
@0scar: At low speed you should see the issue mostly go away.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2020-12-24T06:23:23.353Z
I am printing at 70mm/s in X and Y.  Other details that I neglected to mention in the main post but will add:  I have modified my Ender 5 with an all-metal hotend and direct drive using the standard stepper motor.
user3883001
CC BY-SA 4.0
2020-12-24T08:20:09.060Z
Apart from the corners, the extrusion process doesn't look that good either. What material are you printing? E.g. PLA doesn't really benefit from an all metal hotend, it is not an upgrade as many believe it is. An all metal hotend is an upgrade if you print 260+ °C materials like some nylons or PP.
0scar
<marlin><creality-ender-5><skr-mini-e3>
What can I do to remove the rounded corners using Junction Deviation?
user3883001
# What can I do to remove the rounded corners using Junction Deviation?

(Asked by: username_0 on 2020-12-21)

I recently upgraded my Creality Ender 5 with an SKR Mini E3 V2.0 running Marlin 2.0.7.2. The printer has also been modified with an all-metal hotend and a direct drive conversion kit that uses the extruder stepper motor. In test prints of the XYZ calibration cube, I have found that the edges of the cube are rounded over. After some research, it appears this is due to either the acceleration/jerk settings or the junction deviation settings.

The issue now comes in that no matter what setting I change, the prints do not change. Currently in the Marlin firmware, I found that the Classic Jerk is disabled in Configuration.h line ~786. The default JUNCTION\_DEVIATION\_MM is 0.013. Since Classic Jerk is disabled, Junction Deviation shows up in the menu under Menu --> Configuration --> Advanced Settings. I printed 4 cubes for 4 different Junction Deviation settings: 0.013, 0.075, 0.130, 0.300. All cubes have the same characteristic over-corrected corner with no visible changes (Picture below)
[![enter image description here](https://i.sstatic.net/eue3y.jpg)](https://i.sstatic.net/eue3y.jpg)

My questions are:

* Why aren't the prints being affected by changing the Junction Deviation setting via the menu? The Junction Deviation setting is stored in memory using Menu --> Configuration --> Store Settings and I have confirmed the values remain in memory after cycling the printer.
* If Classic Jerk is disabled in Marlin firmware, would an M205 X[Jerk] Y[Jerk] Z[Jerk] command before a print enable Classic Jerk for that print?
* What happens if an M205 command is sent that sets XYZ as well as J? (e.g. M205 X[Jerk] Y[Jerk] Z[Jerk] J[Dev]). Would it ignore Classic Jerk values if Classic Jerk is disabled in firmware?

I have read through the following posts already

* [Setting Junction Deviation in firmware has no effect](https://3dprinting.stackexchange.com/questions/11261/setting-junction-deviation-in-firmware-has-no-effect)
* <https://reprap.org/forum/read.php?1,739819>
* <https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html>
* <https://www.reddit.com/r/3Dprinting/comments/dx8bd/here_is_why_you_should_disable_junction_deviation/>

My next steps:

* Re-enable Classic Jerk in Marlin and see if the print behavior changes
* Other?

**Tags:** marlin, creality-ender-5, skr-mini-e3
> **Comments:**
> **username_1**: To be sure, you aren't printing these cubes at high speeds? What is the speed?  
> **username_2**: @0scar: At low speed you should see the issue mostly go away.  
> **username_0**: I am printing at 70mm/s in X and Y.  Other details that I neglected to mention in the main post but will add:  I have modified my Ender 5 with an all-metal hotend and direct drive using the standard stepper motor.  
> **username_1**: Apart from the corners, the extrusion process doesn't look that good either. What material are you printing? E.g. PLA doesn't really benefit from an all metal hotend, it is not an upgrade as many believe it is. An all metal hotend is an upgrade if you print 260+ °C materials like some nylons or PP.  

---

## 2 answers

### Answer by username_2 on 2020-12-22. Score: 5

Contrary to what's implied by its name, *junction deviation* does not produce rounded corners. It merely allows violations of the acceleration profile at corners that would be allowed *if the corner were rounded* by the deviation. So you should not expect changes to it to create or eliminate unwanted "rounded corners".

However I don't think what you're seeing are rounded corners. They're *bulging* corners, likely produced as a consequence of the toolhead moving slower just before and after the corner in order to honor the acceleration profile. My guess is that your acceleration limits in Marlin 2.0 (500 mm/s² if I recall correctly) are a lot lower than on the original Creality firmware.

You can and probably should increase the acceleration limits. The machine should handle 1000 mm/s² easily and up to 3000 mm/s² or even higher with some ringing; I use lower acceleration for the outer walls and let it run wild for inner walls and infill. But the real solution to your bulging corners problem is to enable and calibrate [Linear Advance](https://marlinfw.org/docs/features/lin_advance.html) to get a consistent extrusion rate with varing speed. For my Ender 3, the right constant is around 0.5-0.6 s (yes the units are seconds - it's mm/(mm/s)) for PLA. You can use the [calibration pattern generator](http://marlinfw.org/tools/lin_advance/k-factor.html) to run the calibration yourself, but I would expect the same results.

This will significantly impact your print speed, since Marlin applies E-axis speed, acceleration, and jerk limits to the advance offsets. You can get a lot of it back though by increasing those limits though; the defaults are a whole lot lower than what the machine can handle. 200 mm/s speed limit and 10000-15000 mm/s² acceleration limit (vs 25 and 5000 defaults in Marlin, respectively) are within reason.

> **Comments:**
> **username_0**: I commented above, but wanted to add here as well.  I have modified my Ender 5 to include an all-metal hotend as well as a direct drive conversion using the original extruder stepper motor.  Do your recommended acceleration limits still apply for this setup?  
> **username_2**: I'm not sure, but that would be relevant info to include in the question. As long as the extruder and hotend still weight less than the bed though any acceleration that works for Y should probably work ok for X.  

---

### Answer by username_3 on 2021-04-19. Score: 1

When a junction deviation is set too low it will mess up every other thing you have been trying to do to perfect your extrusion.

It messes up

* retraction,
* linear advance,
* s-curve,
* the entire print.

I had been messing around with my jerk and acceleration values, my retraction values, and my linear advance values, and no matter what I did, nothing fixed the actual issues. I even gave up on Bowden and tomorrow a Hemera direct drive will be delivered.

Now I found this setting in my printer menu, changed the value from 0.017 to 0.2 and those bulging corners are now gone (in fact I had to up my linear advance a bit because it was actually rounding off the corners making them too thin).

The stringing is gone now as well (low jerk on retraction and you might as well not retract at all).

Seriously, unless you are using a CNC or CoreXY, I don't see why you would even use junction deviation.

As to why nothing is changing for you, this is because other settings are bad as well. So it's still slowing down too much in the corners while material is still oozing out.

> **Comments:**
> **username_4**: That’s cool to hear that jerk/JD speed can help with the retraction issues. I have been having a hell of a time getting retraction fixed and I think this may be the issue. I’m calibrating now. That said I do use JD because it’s what came with the firmware I got for my BLtouch. I haven’t figured out how compile my own firmware yet, but I really need to, because there’s issues with every version I have found. Just settings that are less than optimal like JD enabled, or soft endstops set to true.  

---

