Slow Printing After Power Cycle

I have my BLTouch installed and functioning with the latest 4.0.3 FW. It was working great until We had a power failure in the neighborhood. Now The print speed is 1/10 of what it should be. The homing and auto-leveling speeds are fine. I have checked the steps, feedrate, accelerations, and jerk in the settings and they seem ok. I was using 20mm/sec in Cura with good results but now the speed is really slow. I increased the speeds to 40 in Cura but it had no effect.
Here is a video of the last 3 leveling moves a purge line then the printng.

IMG_1866 IMG_1865
I am familiar with the Arduino IDE. Do you have any suggestions as to which variables I should check?

Have you tried to reset the settings?

Thanks Sebastion for the prompt reply. I will try the reset and let you know how it goes.

I tried resetting to Factory Defaults but there was no change in the printing speed.
Anything else I can try?

It looks like your mainboard was damaged because of the power outage. Or maybe the PSU.

I was able to recover the printing speed. I used this Arduino code to clear the SRAM then built V4.0.3 with Arduino V1.8.10 and up loaded it to the printer.

Here is a video of my printer working:

Great and good to know

For info, this is not a “RAM” cleaner. This script erases the EEPROM memory.

I have made some minor modifications of the code. Here it is:

 * EEPROM Clear
 * Sets all of the bytes of the EEPROM to 0.
 * Please see eeprom_iteration for a more in depth
 * look at how to traverse the EEPROM.
 * This example code is in the public domain.

#include <EEPROM.h>

void setup() {
    Iterate through each byte of the EEPROM storage.

    Larger AVR processors have larger EEPROM sizes, E.g:
    - Arduno Duemilanove: 512b EEPROM storage.
    - Arduino Uno:        1kb EEPROM storage.
    - Arduino Mega:       4kb EEPROM storage.

    Rather than hard-coding the length, you should use the pre-provided length function.
    This will make your code portable to all AVR processors.

  for (int i = 0 ; i < EEPROM.length() ; i++) {
    EEPROM.write(i, 0);


void loop() {
  /** Empty loop. **/

How do you use this script?
After upgrading to 4.0.3, I can no longer adjust or set my Z-height. Worked fine with 3.0.2.
Selecting Z-height adjustment the it will move to the center of the bed than stops. The screen displace “STOPPED”. The only way to unfreeze the printer is a power cycle.

I use the Arduino IDE; development program from

After I ran the script I had to build and upload the 4.0.3 from the source code in the Arduino IDE.

Salty Doug

@lewilewi Do you use a BLTouch? “STOPPED” means in general that there is a connection problem with the z-end wire.

Checked and re-seated all connections, cleared eeproms. Reloaded 4.0.3.
Was able to set Z-height but once I leave that screen the Z-height isn’t saved.
Starting to wonder if there is something wrong with my mainboard.

Do you use a BLTouch?

I do have a BLTouch. It was work fine with 3.0.2 but has been having issues since updating to 4.0.3.

Than again that’s half the fun. Figuring these things out.

How do you connect the BLTouch to the mainboard? Is it connected to the Z-probe connector or to the Z-min one?

It was originally connected to the z-min but I was getting the “Stopped” freeze.

Moved it to z-probe and now I can at least move and adjust the z-height. It just doesnt want to save. When trying to automatically level, it gets stuck at the “homing” screen and stops till I cycle the power.

Thank you again for all your help.

Finally had a chance to read through other post and THANK-YOU Darrly for your Jul 6th post about changing the X offset to 1.50. Instantly started working.

Cheer’s Everyone and Merry Christmas.