Extruder Direction Reversed


Not sure how or why it happened, but since downloading and installing the custom firmware for my CR-10 S5 the extruder runs in reverse. There must be some setting I chose in the custom firmware build that has caused this condition. I want to re-do it, but your server just says the builds “failed” (I see the previous poster is having the same problem). I’ve tried using an m92 command and entering a negative value for the extruder, but then the extruder won’t work at all.

I guess I will try reversing the polarity of the motor’s wires, but it seems very odd that this is going on.



If you can give me a build ID, I can take a look - otherwise its just random guesses…

EDIT: Looks like from tracking down a different build ID that there was a problem with disk space in one of the build nodes. That’s now been fixed…

Okay, thanks! I’ll try using the firmware builder again. Not sure if it’s relevant now, but the build ID of the first one that ‘failed’ is:


I am still having the problem that the extruder runs in reverse with the firmware your service supplied. I’ve tried using M92 and reversing the estep value to a negative integer, but that doesn’t seem to work. Not sure why this should be happening.

If this is via the builder, the select the “Invert E stepper direction” option here:

That’s good to know, thanks! I already went ahead and reversed the wires and that worked, but I prefer to do it by command. I kept looking through the marlin website for a gcode command to reverse the stepper motor direction, but I couldn’t find it.


I cannot move the head below zero on the Z axis with this firmware installed. This makes it really hard to adjust the Z-offset. It seems like I found some work around in setting an offset in home position by using M206 command, but I’d prefer that I am able to move in -Z. How can I set this properly in the Builder?


With the option for Filament Runout Sensor enabled I have had crazy errors. I recompiled it with that option off, and now I seem to be able to print (it wouldn’t let me print for more than 1 minute without a filament sensor error). I need to have a working filament sensor because I’m doing large prints requiring multiple rolls of filament.

Thanks for your input.

  • David

Ah! I just noticed the field for min. z value which is default 0, so I set it for a negative value. That should fix it, right?

Well, no, that didn’t have the desired effect whatsoever.

How do you set things so that movement can go below 0 on z axis? That seems very important.

Z Min should always be 0 - unless you have a weird setup.

Depending on your screen etc, the Z Offset can be set either via the probe wizard on the screen, or by disabling the soft-endstops.

You can see the steps to do this in the Ender 3 V2 FAQ on how to set the Z-Offset here:

Thanks for this - I appreciate it. I already resolved this partly through getting the z-offset configured properly, but also by adding rubber bushings under the printbed springs.