Z axis only moving in one direction

Okay this is a weird one for me I have had my MPCNC for a while now I bought all of the electronics and belts and screws and so on from you and I must say I have had a ball using this thing. From printing to etching and now I’m trying out my hand at routing and out of no where the Z axis won’t move in both directions. I have changed the ramps board, arduino, stepper controller, updated the firmware and even changed out the stepper motor. for the life of me I can’t figure it out.



Use the RC7 firmware, and test with manual movements from repetier. If that works it’s a gcode issue if that doesn’t work we can leave gcode out of it.

Sorry I should have been more specific, that is the version that I updated to and I was trying manual movements cause my first thought was gcode as well.

check your z endstop port. If it is triggerd somehow it will only move one way.

Well that’s the funny thing, if I click on the Z up the motor goes down if I click on the Z down the motor goes down until it hits the endstop then it quits. Now if I flip the wires on the motor connector and do the same thing the motor moves in the opposite direction but it won’t move in both directions just one depending on how I plug it in???

Oh you are using endstops…check your firmware settings there are multiple things you need to adjust.
Sorry but I don’t support endstops because of this. You have a min and max setting, direction setting, safety setting, home direction setting, home speed setting, bump setting.

Ah ha I am used to the older version with just the true/false statement on the min. let me check those out and I will let you know.

And thank you very much for the help.

well I disabled endstops altogether and it still only moves in one direction

Here is my config.h file

Configuration.h (52 KB)

Use my firmware and physically unplug them and see what happens.

I get this when I try to upload

exit status 1
using typedef-name ‘fpos_t’ after ‘struct’

this is the ver. im trying B16_32_fullG-112515

I ran into that error at one point also. You can rename that variable throughout the code, to something other than fpos_t like fpos_t1 or fpos_tbacon for example, and then save and compile.

Found my answer here originally


Thank you John, It’s going to be a couple of days before I can try it out but I will let you know.

Well here is the update, I have brought the mega and the ramps into the house along with a power supply and a stepper for the z axis. In response to Johns post I did get the B16_32_fullG-112515 version to load by changing the fpos_t to fpost instead of fpos_t1 after looking trough the forum he suggested that seemed to work better. Now I did not change any settings in the firmware just loaded it and tested with repetier manually moving the z axis and I still have the same problem, if I move the stepper to x or y it functions normally???

I don’t believe changing the firmware was the best of options. This is not a common issue around here.

What manual speeds are set in your repetier?

the firmware you are using is also an old one. If you use the newer RC7 I have a feeling it would compile properly for you. either comment out the lcd or install the lcd library. as soon as the nest working reviosn comes out I will put up another non lcd version.

I didn’t have a problem with the RC7 compiling I only went back to the old one after you posted this “Use my firmware and physically unplug them and see what happens.” I thought that’s what you meant, no problem though i will go back to RC7 and see what happens. the manual speeds are set to; Travel feed rate 500 and z axis feed rate 100.

the z axis can only go 8mm/s

and the x and y are maxxed at 190mm/s, but 80 is more reasonable