Z axis fails movement in positive direction

Our system operates on v1.3 and we’ve continually updated out OS [currently 9.1.2]

Since fall of 2018 the system operated smoothly. Fall of 2019 the z axis developed an issue in moving in the positive [up] direction. When given a command to move up, it chatters loudly and actually falls in the negative direction. If assisted by hand [use hand to provide upward lift] it will complete the movement command. Movement in the negative [down] direct functions smoothly and without noise.

In default motor settings the issue occurs. In modified Z settings [max/min speed = 150/50; accelerate = 450;steps = 25; microstep = 1] the issue is the same.

I have used new stepper drivers and swapped the motor - issue was unchanged. I have checked alignment of v-wheels, lead screw bracket, and the coupling.

All other X, Y, and Z [in negative direction] work fine. Clearly the stepper motor is not able to pull the z axis upward.

Is there a way to increase the torque of the stepper motor?
What other options are there to get the power needed from the z axis stepper motor?

@JWells It is possible sediment collecting on the Z-axis threads is increasing friction. Have you tried lubricating the threads with a graphite-based lubrricant? Some of our users swear by the Jig-A-Loo spray graphite (shown below).


Please let me know if lubricating the threads helps.

Thank you for the suggestion. We’ve not tried a graphite lubricant, but will do so tomorrow.

Are there no other options for increasing the torque or power of the motor to lift the UTM? As I understand it, there are ways in which this can be done.

@JWells Can you send us a screenshot of your motor device settings. I believe your Z-Axis speed is too high.

I would suggest getting the Jig-A-Loo Graphite Lubricant and then also lowering the Z-Axis speed until you don’t get the motor stall.

Hi @JWells,
You can increase the A4988 stepper motor current follow the tutorial–

or refer to

1 Like

I am attaching a screenshot of the motor device settings, which also shows the encoder settings.

These are the “current” settings. I keep and troubleshooting log, and over the past several months I have tried multiple settings for max/min speeds, steps per mm, etc. (see below), changing one variable at a time, to see if I could get the Z up-movement to work. None of them were successful.

The frustrating part is that this system functioned flawlessly for over a year. Non-function of the Z seems to be associated with OS upgrades as Z movement issues occurred after 7.1.

Min Speed - used default, plus other settings (10/10/2; 50/50/50; etc.)
Max Speed - default, plus others (80/80/16; 400/400/150; etc.)
Accelerate - default, plus others (60/60/12; 300/300/450; etc.)
Steps per mm - default, plus others (5/5/25; 5/5/55; etc.)
Microsteps - default, plus others (1/1/1; 1/1/2; etc.)
Encoders - on and off

Thank you for your reply. I have read your tutorial, which is great. However, my Farmduino does not have the toggles for each of the stepper motors. If you know of other ways to tune the current without having toggles, please let me know.

I’d love some clarification ::

  • By “toggles”, do you mean hardware “DIP switches” on some stepper control PCBs (aka ‘sticks’) ?

  • Is the procedure to set current max. by using the multimeter + screwdriver “Ref. setting” not useful in your situation ?

Thank you for responding. Yes - correct term is DIP switches on the PCB. In the tutorial mentioned earlier in this conversation, the suggestion was to adjust the DIP switches (as shown in the image below). However, my PCB does not look like the image below and does not have these switches.


The DIP-switches (toggles) are not related to the drivers output current, as these switches only enable microstepping for the motor. There might be a stack of jumper pins on the Farmduino board right under the stepper driver, similar to the RAMPS board.

The procedure to increase the current is just as jsimmonds mentioned. Both links that JoeHou shared show nicely how to do that. Just grab a multimeter to measure the Ref.Voltage and follow the instructions that were linked earlier.

Thank you for the reply and additional information about the output current vs. microstepping. However, on my circuit board (Farmduino image below) there are no such toggles that I can see. I feel as though I’ve exhausted most options that have been suggested, but still cannot get the Z motor to move upward as it had done so all of last year.

Any further suggestions are certainly welcomed!

No doubt that there are none, you own a Farmduino V1.3 and the DIP-Switches were introduced in Farmduino V1.4. But there is still a way to activate microstepping. Take the stepper driver off (pull it when power off!!) and plug the jumper similar to the photo below, just match your desired configuration.
But please note that this procedure presumably does not help you with the moving issues that you are experiencing, it may do even worse since the torque decrease in trade for precision.

I think you just got some things mixed up with all these informations flowing from so many nice people ( :+1:), so I just want to get this one clear:

  • The jumpers/toggles are only needed for microstepping, and not for current adjustment!
  • The Motor current is adjusted by rotating the little screw on the stepper driver. You can read the set current by measuring the voltage (reference Voltage Vref) from the screw against the electrical ground potential as seen on the ardufocus guide. Always make sure that the device is powered off when operating at the electronics.

This rather sounds like a mechanical issue, like increased friction. Did you already try using a lubricant on the thread of the leadscrew as mentioned by Rick and Marc earlier? If that is the issue, you definitely should go this way, since running the stepper drivers with a higher current can cause them to overheat and can decrease its lifetime in general as they are usually supposed to run in ~80% of the capacity.

Feel free to ask if something is unclear :slightly_smiling_face:


Thank you for this reply - it clarifies a number of things. The mechanical approach will certainly be my first move in trying to improve the Z up movement. I have lubricated the lead screw before, but not using graphite. I will clean the lead screw and apply graphite lubricant to see if that resolves the movement issue.

We started here with one of the very first Farmbot kits, and continually upgraded to the v1.3 version. Over the years there have been several redesigns that have added components to the Z column. These were all logical and good redesigns, but it has increased the weight on that column and therefore to some degree the load on the Z motor. Perhaps the added load is not appreciable, but it might be a factor to consider with respect to the type motor used for the Z axis.