<p>After gaining more of an understanding of how Marlin works, I decided to look through the  the pins file for the motherboard I am using "pins_ULTIMAIN_2.h".  Sure enough, It had a the wrong pin number for the z stop specified. After changing that number, I gained full functionality.</p>

<p>This is what they should be:</p>

<pre><code>#define X_STOP_PIN         22
#define Y_STOP_PIN         26
#define Z_STOP_PIN         29
</code></pre>

CC BY-SA 4.0
2018-10-06T18:13:18.123Z
2018-10-06T18:23:21.837Z
2018-10-06T18:23:21.837Z
Jeff Clark
<p>I've had my Monoprice Maker Ultimate for a few months and have started doing upgrades to it. My most recent change is in upgrading the firmware to  a newer version of Marlin so that I can better control the thermal settings and implement a probe in the future. For now, I intend to level the bed manually.</p>

<p>Well the issue I'm having now is that after flashing the firmware (Marlin Firmware 1.1.9) and attempting to home, the z axis limit switch is unresponsive. X and Y work as they should. I send M119 codes to the printer in Pronterface when holding the Z switch with my finger and get that the z axis is open. I even flipped over the machine and shorted out the two pins on the board leading to the switch and I get that its still open.(It is open when not pressing the switch, the switch is not inverted. If I flash the firmware back to the original, it functions fine.</p>

<p>I've been digging through the Marlin files learning how it works and am wondering if there are any extra steps I have to take to designate the switches in the config file. Or if a conflicting bed leveling/probe setting may be overriding with the switch's functionality. I've been searching around but haven't seen much about this issue. Wondering if someone could point me in the right direction. </p>

<p>Here's a repository of my <code>configuration.h</code> and <code>*_adv.h</code> files: <a href="https://github.com/jeffc-git/3dimensify" rel="nofollow noreferrer">https://github.com/jeffc-git/3dimensify</a></p>

<marlin><z-axis><endstop><monoprice-maker-ultimate>
Z-axis endstop not functioning after Marlin Firmware installation
Jeff Clark
# Z-axis endstop not functioning after Marlin Firmware installation

(Asked by: username_0 on 2018-08-13)

I've had my Monoprice Maker Ultimate for a few months and have started doing upgrades to it. My most recent change is in upgrading the firmware to a newer version of Marlin so that I can better control the thermal settings and implement a probe in the future. For now, I intend to level the bed manually.

Well the issue I'm having now is that after flashing the firmware (Marlin Firmware 1.1.9) and attempting to home, the z axis limit switch is unresponsive. X and Y work as they should. I send M119 codes to the printer in Pronterface when holding the Z switch with my finger and get that the z axis is open. I even flipped over the machine and shorted out the two pins on the board leading to the switch and I get that its still open.(It is open when not pressing the switch, the switch is not inverted. If I flash the firmware back to the original, it functions fine.

I've been digging through the Marlin files learning how it works and am wondering if there are any extra steps I have to take to designate the switches in the config file. Or if a conflicting bed leveling/probe setting may be overriding with the switch's functionality. I've been searching around but haven't seen much about this issue. Wondering if someone could point me in the right direction.

Here's a repository of my `configuration.h` and `*_adv.h` files: <https://github.com/jeffc-git/3dimensify>

**Tags:** marlin, z-axis, endstop, monoprice-maker-ultimate

---

## 1 answers

### Answer by username_0 on 2018-10-06. Score: 5

After gaining more of an understanding of how Marlin works, I decided to look through the  the pins file for the motherboard I am using "pins_ULTIMAIN_2.h".  Sure enough, It had a the wrong pin number for the z stop specified. After changing that number, I gained full functionality.
This is what they should be:
#define X_STOP_PIN         22
#define Y_STOP_PIN         26
#define Z_STOP_PIN         29


---

