Firmware feed tweaking

After seeing a lot of youtube video’s of printers moving at strange speeds (or what I see at strange speeds), I am trying to share my firmware configuration again again. ūüôā

First, what is sensible speeds? To me a sensible speed is when the machine (printer/lathe/mill/laser cutter/…..) is running at the set speed when doing a G01 move, and at its max speed at a G00 move. In many of the video’s I have seen the printer seems to be running faster when doing¬†perimeters¬†than it performs travel moves. In this post I will only focus on 3D printing and the marlin firmware (but the values should be¬†compatible¬†with sprinter too).

First we need to find the max speed the printer can run at, to find that I started by trial and error to find the highest my printer would do, and I then took 25% off that and rounded down, so I would get a bit headroom, just in case.

#define DEFAULT_MAX_FEEDRATE          {1000, 1000, 3.5, 50}    // (mm/sec)

But to get it to move at that speed it does require some acceleration. These values was also found with trial and error, and might be higher on other printers as my X and Y assemblies are both very heavy.

#define DEFAULT_MAX_ACCELERATION      {800,800,100,100}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          2500    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  2500   // X, Y, Z and E max acceleration in mm/s^2 for r retracts

When we are up in speed, we can then tweak how fast it can change speed, I found these values to give me the best results.

#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)

And that is about all that is to it, only thing left is to make sure your Slic3r got a travel move at the same, or higher speed than what you set as your max feed-rate in your firmware. In Slic3r I set mine to 1500 mm/s to be well above what I got in my firmware, just so when I play around in the firmware all my g-code files will be running at the new speed too.

But the question some might have, why is this needed? Is it worth the hassle? Indeed it is! The great thing about having the firmware set up to limit the printer to what it can actually do, means that you can just slice the models and throw them at the printer, and no matter what you have done it will be able to handle it. No missing steps just because there are a lot of small fast moves, no/less strings because the plastic got less time to ooze back out, and faster print time because the time it does not extrude is cut to a minimum.

And last but not least, here is how my printer is running with the above settings.


Leave a Comment