I recently upgraded my Creality Ender 5 with an SKR Mini E3 V2.0 running Marlin 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

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

My next steps:

  • Re-enable Classic Jerk in Marlin and see if the print behavior changes
  • Other?
  • $\begingroup$ To be sure, you aren't printing these cubes at high speeds? What is the speed? $\endgroup$
    – 0scar
    Dec 22, 2020 at 7:10
  • $\begingroup$ @0scar: At low speed you should see the issue mostly go away. $\endgroup$ Dec 22, 2020 at 17:07
  • $\begingroup$ 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. $\endgroup$ Dec 24, 2020 at 6:23
  • 1
    $\begingroup$ 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. $\endgroup$
    – 0scar
    Dec 24, 2020 at 8:20

2 Answers 2


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 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 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.

  • $\begingroup$ 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? $\endgroup$ Dec 24, 2020 at 6:24
  • $\begingroup$ 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. $\endgroup$ Dec 24, 2020 at 20:48

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.

  • $\begingroup$ 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. $\endgroup$
    – Longblog
    Jun 20, 2022 at 5:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .