<p>In a <a href="https://3dprinting.stackexchange.com/questions/5604/how-to-re-program-prusa-firmware-to-accept-a-taller-z-axis">previous question</a>, I have modified the Z-axis-height of my Prusa Mk3 from 250 mm to 350 mm.</p>
<p>Prior to the MMU2 upgrade, I changed the code in my printer to accept the new height the following way:  I changed Arduino → Configuration_prusa.h → Axis settings → line 54 to  <code>#define Z_MAX_POS 210</code> (it worked perfectly).</p>
<p>However, the layout is different for the new firmware v. 3.4.1, and I have no idea where the Z axis settings have gone, if they are even still there.
Can anyone point me in the right direction to find the Z MAX POS settings, please?</p>
<p>Obviously, I'm not very good with coding, but it looks like the entire code layout has changed for the v. 3.4.1</p>
<h1>Firmware</h1>
<p><a href="https://www.prusa3d.com/drivers/firmware-changelog/#mk3" rel="nofollow noreferrer">Prusa MK3 (firmware 3.4.1)</a> MMU2 (firmware 1.0.1). The source code on Github is found <a href="https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.4.1" rel="nofollow noreferrer">here</a>.</p>

[{'answer_id': 7456, 'author': '0scar', 'author_id': 5740, 'author_profile': 'https://3dprinting.stackexchange.com/users/5740', 'pm_score': 3, 'selected': True, 'text': '<p>Basically, the <a href="/a/5606/5740">answer</a> on your <a href="/questions/5604/how-to-re-program-prusa-firmware-to-accept-a-taller-z-axis">previous question</a> is still valid, but your specific questions will be addressed below.</p>\n\n<h2>To answer where the setting has gone by answering:</h2>\n\n<blockquote>\n  <p>However, the layout is different for the new firmware v. 3.4.1, and <strong>I\n  have no idea where the Z axis settings have gone</strong>, if they are even\n  still there. <strong>Can anyone point me in the right direction to find the Z\n  MAX POS settings, please?</strong></p>\n</blockquote>\n\n<p>To find where the setting is, you need to go to the source code repository of Prusa firmware (which is based on Marlin firmware) or <a href="https://github.com/prusa3d/Prusa-Firmware/archive/v3.4.1.zip" rel="nofollow noreferrer">download the zip file with the sources</a> and use a "grep" search utility to search in files. </p>\n\n<p>The setting <code>Z_MAX_POS</code> is located in the board configuration file (so in <code>1_75mm_MK3-EINSy10a-E3Dv6full.h</code> if you have the MK3). This can be found in the online sources (the github page). The online repository is located <a href="https://github.com/prusa3d/Prusa-Firmware" rel="nofollow noreferrer">here</a>. Using the search functionality to search within the source code files on that page you are able to find any setting you need to find. If you type in <a href="https://github.com/prusa3d/Prusa-Firmware/search?utf8=%E2%9C%93&amp;q=Z_MAX_POS&amp;type=" rel="nofollow noreferrer">"Z_MAX_POS"</a> and scroll down till you see</p>\n\n<pre><code>#define Z_MAX_POS 210\n</code></pre>\n\n<p>You have found what you where looking for if you located the <a href="https://github.com/prusa3d/Prusa-Firmware/blob/3d97d81734e18214afa712cac5066e168016f709/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h" rel="nofollow noreferrer">MK3 board</a>.</p>\n\n<h2>To solve your problem by answering:</h2>\n\n<blockquote>\n  <p>How to re-program NEW Prusa MK3 MMU2 to accept taller Z axis?</p>\n</blockquote>\n\n<p>Prusa development team has got rid of <code>Configuration_prusa.h</code>, <strong><em>you will not find this file in the repository anymore</em></strong>! </p>\n\n<p>Instead, it is <strong>you</strong> that has to <strong>rename one of the board variant files</strong> (from the <a href="https://github.com/prusa3d/Prusa-Firmware/tree/MK3/Firmware/variants" rel="nofollow noreferrer">"Firmware/variants"</a> folder) corresponding to the machine you have to "Configuration_prusa.h" and place it in the "Firmware" folder prior to compiling (note that these are simple actions that you can do on any operating system; i.e. copy file, paste file, rename file).  Before you compile the sources, you need to change the value of <code>Z_MAX_POS 210</code> to <code>Z_MAX_POS 350</code>. Please read the <a href="https://github.com/prusa3d/Prusa-Firmware/blob/f7cd0ffbb0ced452d1d1307af13ba5f9d24d5a05/README.md" rel="nofollow noreferrer">README file</a> as this describes exactly in more detail than worded above what you need to do (e.g. use the correct Arduino IDE, e.g. 1.6.9  as this is used by Prusa development team themselves).</p>\n\n<p>Quoting from the README file:</p>\n\n<h3>section describing the renaming of the file:</h3>\n\n<blockquote>\n  <p>in the subdirectory "Firmware/variants/" select the configuration file\n  (.h) corresponding to your printer model, make copy named\n  "Configuration_prusa.h" (or make simple renaming) and copy them into\n  "Firmware/" directory</p>\n</blockquote>\n\n<h3>section describing the compiling:</h3>\n\n<blockquote>\n  <p>run "Arduino IDE"; select the file "Firmware.ino" from the\n  subdirectory "Firmware/" at the location, where you placed the source\n  codes File->Open make the desired code customizations; all changes are\n  on your own risk!</p>\n  \n  <p>select the target board "RAMBo" Tools->Board->RAMBo note: it is not\n  possible to use any of the variants "Arduino Mega …", even though it\n  is the same MCU</p>\n  \n  <p>run the compilation Sketch->Verify/Compile</p>\n  \n  <p>upload the result code into the connected printer Sketch->Upload</p>\n  \n  <p>or you can also save the output code to the file (in so called\n  HEX-format) "Firmware.ino.rambo.hex": Sketch->ExportCompiledBinary and\n  then upload it to the printer using the program "FirmwareUpdater"\n  note: this file is created in the directory "Firmware/"</p>\n</blockquote>\n\n<hr>\n\n<blockquote>\n  <p>To compile the sources correctly please take care in using the correct\n  software versions and libraries (Arduino IDE 1.6.9, RepRap\n  Arduino-compatible Mother Board RAMBo by Ultimachine v. 1.0.1, Arduino\n  AVR Boards Built-in by Arduino updated to v.1.6.23)</p>\n</blockquote>\n\n<hr>\n\n<hr>\n\n<p><em>Sidenote:</em></p>\n\n<p>A little more in depth for those who are interested to know (and have some programming skills) why you need to change the name of one of the variants configuration files. Basically, Prusa uses different boards with different settings for the different printers they sell. All the settings for these printer variations are stored in the <code>Firmware/variants</code> folder. When you rename the variant file and put it a folder layer higher to <code>Configuration_prusa.h (e.g.</code>Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h<code>to</code>Firmware/Configuration_prusa.h<code>)</code>, these specific printer and board settings are included into the <code>Configuration.h</code> file (<a href="https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/Configuration.h" rel="nofollow noreferrer">line 43 to be precise</a>) by the C-code include statement:</p>\n\n<pre><code>#include "Configuration_prusa.h"\n</code></pre>\n\n<p>This include statement will basically insert (like copy in memory) the statements from the <code>Configuration_prusa.h</code> file and thus set important constants like:</p>\n\n<pre><code>#define MOTHERBOARD BOARD_EINSY_1_0a\n</code></pre>\n\n<p>and many more.</p>\n'}, {'answer_id': 7487, 'author': 'Kryss', 'author_id': 10141, 'author_profile': 'https://3dprinting.stackexchange.com/users/10141', 'pm_score': 0, 'selected': False, 'text': '<p>Latest firmware: Prusa-Firmware-3.5.0\\Prusa-Firmware-3.5.0\nArduino 1.6.9, RepRap Arduino-compatible Mother Board RAMBo by Ultimachine latest version 1.0.1, Arduino AVR Boards Built-in by Arduino latest version v.1.6.23.</p>\n\n<p>Copy the 1_75mm_MK3-EINSy10a-E3Dv6full file from\nPrusa-Firmware-3.5.0\\Prusa-Firmware-3.5.0\\Firmware\\variants into \nPrusa-Firmware-3.5.0\\Prusa-Firmware-3.5.0\\Firmware and rename it Configuration_prusa.h.<br>\nOpen Firmware Arduino file.  Configuration_prusa.h shows in the tabs next to Configuration_adv.h.  Change //Travel limits after homing #define Z_MAX_POS from 210 to 350.  Verify → \nSketch uses 225,482 bytes (87%) of program storage space. Maximum is 258,048 bytes.\nGlobal variables use 6,091 bytes of dynamic memory.</p>\n'}]
['https://3dprinting.stackexchange.com/questions/7455', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/10141/']