<p><a href="https://i.stack.imgur.com/Fpc5P.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/Fpc5P.jpg" alt="enter image description here"></a></p>

<p>By what process does the Prusa i3 determine it's home position?  </p>

<p>I have a feeling that it works like this, but I'm not entirely sure about it:</p>

<ol>
<li>If none of the end stops are activated; assume you are somewhere between Max-X, Max-Y, Max-Z and the point 0,0,0.</li>
<li>do

<ol>
<li>For axis in Axies

<ol>
<li>If axis endstop not signaling

<ol>
<li>subtract 100 steps from axis.</li>
</ol></li>
</ol></li>
</ol></li>
<li>while endstops are not signaling, or if point 0,0,0 not reached; </li>
</ol>

[{'answer_id': 2594, 'author': 'Flautarian', 'author_id': 3764, 'author_profile': 'https://3dprinting.stackexchange.com/users/3764', 'pm_score': 4, 'selected': True, 'text': '<p>It works like you describe, but it does not move all axes at the same time. It first moves the X-axis, subtracting steps while the X endstop is not pressed. When the X-axis is is homed (the X-endstop is gets pressed) it repeats the procedure for the Y-axis and finally the Z-axis.</p>\n'}, {'answer_id': 2605, 'author': 'StarWind0', 'author_id': 2146, 'author_profile': 'https://3dprinting.stackexchange.com/users/2146', 'pm_score': 1, 'selected': False, 'text': '<p>You have the endstop which sends a on or off to the controller board.</p>\n\n<p>The boards firmware knows if it is a close or open switch.</p>\n\n<p>Lets assume pressed is on and unpressed is off.</p>\n\n<p>When the axis is at home it will read as ON. The firmware then will not allow the axis to move in the direction you have designated is the Home direction. Now this is probably where you got confused. You in fact are the one to open a code file, and say what direction is home. When your turn it on the first time, chances are you have done it wrong on at least one. Then you will frantically go and manually press it yourself as your printers hotend crashes HARD into the bed.. All of us have been there !</p>\n\n<p>Generally Prusas use ramps 1.4</p>\n\n<p><a href="http://reprap.org/wiki/RAMPS_1.4" rel="nofollow">http://reprap.org/wiki/RAMPS_1.4</a></p>\n\n<p>Your code is your firmware. Usually you just edit a header file (single file). These files are heavily documented, depending which you use. Your seller might provider you with a preconfigured header file.</p>\n\n<p>Will note that yes, if the endstop slips or is not position right, the printer will crash into it self. Usually no damage, but it is a very unpleasant thing to happen. </p>\n\n<p>Also worth noting that some firmware will force you to home before you move. Others will let you crash the printer on the opposite side. Just a motor, will do whatever you tell it to.</p>\n\n<p>In short. You tell it how the endstops work and what direction is home on a printer.</p>\n'}]
['https://3dprinting.stackexchange.com/questions/2593', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/37/']