<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Duet Codes and info setting up - LocalAd.com ForumLA Forum				            </title>
            <link>https://localad.cc/community/duet-codes-and-info-setting-up/</link>
            <description>LocalAd.com ForumLA Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Mon, 03 Aug 2026 13:09:12 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>Printer Not Homing correctly Voron R2.4 350x350 Tap</title>
                        <link>https://localad.cc/community/duet-codes-and-info-setting-up/printer-not-homing-correctly-voron-r2-4-350x350-tap/</link>
                        <pubDate>Sat, 08 Mar 2025 21:06:18 +0000</pubDate>
                        <description><![CDATA[Recovering from Failure: Getting Your Duet 3 Back Online
Setting up and troubleshooting a Duet 3 Mainboard 6HC can be a complex process, especially when things go wrong. This guide walks th...]]></description>
                        <content:encoded><![CDATA[<p> </p>
<h1>Recovering from Failure: Getting Your Duet 3 Back Online</h1>
<p>Setting up and troubleshooting a Duet 3 Mainboard 6HC can be a complex process, especially when things go wrong. This guide walks through the steps taken to recover from a system failure, correct machine positioning, and get the Duet 3 running properly.</p>
<hr />
<h2><strong>Identifying the Issue</strong></h2>
<p>The main problem encountered was that the machine incorrectly recognized the bed size as <strong>150x150</strong>, even though the real bed size was <strong>350x350</strong>. This led to:</p>
<ul>
<li>Incorrect movements and homing behavior.</li>
<li>The toolhead crashing into corners when moving to expected positions.</li>
<li>The machine reporting the wrong coordinates after homing.</li>
</ul>
<hr />
<h2><strong>Step 1: Checking Machine Limits in <code>config.g</code></strong></h2>
<p>The <code>M208</code> command in <code>config.g</code> defines the machine’s <strong>minimum and maximum</strong> travel limits. The incorrect values were causing the firmware to restrict movement to a 150x150 workspace.</p>
<h3><strong>&#x2705; Fix: Correct <code>M208</code> Configuration</strong></h3>
<p>The following settings were updated in <code>config.g</code> to reflect the real machine limits:</p>
<pre contenteditable="false"><code class="language-gcode">M208 X0 Y0 Z0 S1     ; Set axis minima (home at 0,0)
M208 X350 Y350 Z300 S0  ; Set axis maxima (full bed range)
</code></pre>
<p>This ensures that the machine correctly understands the physical workspace.</p>
<hr />
<h2><strong>Step 2: Correcting Steps Per Millimeter (<code>M92</code>)</strong></h2>
<p>The printer’s <strong>steps per mm settings</strong> determine how far the machine moves per step. Incorrect values can cause movement scaling issues, where:</p>
<ul>
<li>A command to move <strong>350mm</strong> only moves the machine <strong>150mm</strong>.</li>
<li>Positions appear correct numerically but do not match physical reality.</li>
</ul>
<h3><strong>&#x2705; Fix: Adjust <code>M92</code> Steps Per mm</strong></h3>
<pre contenteditable="false"><code class="language-gcode">M92 X80.00 Y80.00 Z400.00 E708.00  ; Adjust steps per mm
</code></pre>
<p>Reducing the X and Y steps per mm <strong>doubled the travel distance</strong>, fixing the scaling issue.</p>
<hr />
<h2><strong>Step 3: Verifying Homing Behavior</strong></h2>
<p>After correcting the bed size and steps per mm, the machine still reported incorrect positions after homing. The solution was to <strong>force the firmware to recognize (0,0) at the correct location</strong>.</p>
<h3><strong>&#x2705; Fix: Update <code>homeall.g</code> to Properly Reset Position</strong></h3>
<pre contenteditable="false"><code class="language-gcode">G1 H1 X-350 F3000  ; Home X (Move to X minimum)
G92 X0          ; Set X coordinate to 0 after homing
G1 H1 Y-350 F3000  ; Home Y (Move to Y minimum)
G92 Y0          ; Set Y coordinate to 0 after homing
</code></pre>
<p>This ensures that the printer knows that the <strong>front-left corner is (0,0)</strong> after homing.</p>
<hr />
<h2><strong>Step 4: Testing and Verification</strong></h2>
<p>Once all the above changes were made, the following tests were performed:</p>
<ol>
<li>
<p><strong>Home all axes</strong> and verify that the machine correctly reports <strong>(X0, Y0, Z0)</strong>:</p>
<pre contenteditable="false"><code class="language-gcode">G28
M114
</code></pre>
<p>&#x2705; Expected output: <code>X:0.000 Y:0.000 Z:XXX</code></p>
</li>
<li>
<p><strong>Move to the center of the bed (X175, Y175)</strong>:</p>
<pre contenteditable="false"><code class="language-gcode">G1 X175 Y175 F3000
</code></pre>
<p>&#x2705; The toolhead moves to the exact center.</p>
</li>
<li>
<p><strong>Test full movement range to ensure no unexpected limits</strong>:</p>
<pre contenteditable="false"><code class="language-gcode">G1 X350 Y350 F3000
</code></pre>
<p>&#x2705; No crashes, machine moves correctly.</p>
</li>
<li>
<p><strong>Test Z probing behavior to confirm correct offset application</strong>:</p>
<pre contenteditable="false"><code class="language-gcode">G30
</code></pre>
<p>&#x2705; Z-probing works at the correct position.</p>
</li>
</ol>
<hr />
<h2><strong>Conclusion</strong></h2>
<p>Recovering from a misconfigured Duet 3 setup requires a methodical approach:</p>
<ol>
<li><strong>Fix machine limits (<code>M208</code>).</strong></li>
<li><strong>Correct movement scaling (<code>M92</code>).</strong></li>
<li><strong>Ensure homing properly resets positions (<code>G92</code>).</strong></li>
<li><strong>Run movement tests (<code>G1 X/Y</code> &amp; <code>M114</code>).</strong></li>
</ol>
<p>By carefully troubleshooting each aspect, the machine was fully restored to operational status. If you encounter similar issues, following these steps should help diagnose and correct misconfigurations efficiently.</p>
<p>&#x1f680; <strong>Happy Printing!</strong></p>]]></content:encoded>
						                            <category domain="https://localad.cc/community/duet-codes-and-info-setting-up/">Duet Codes and info setting up</category>                        <dc:creator>admin</dc:creator>
                        <guid isPermaLink="true">https://localad.cc/community/duet-codes-and-info-setting-up/printer-not-homing-correctly-voron-r2-4-350x350-tap/</guid>
                    </item>
				                    <item>
                        <title>Duet3 6hc-1lc SD Card issues</title>
                        <link>https://localad.cc/community/duet-codes-and-info-setting-up/duet3-6hc-1lc-sd-card-issues/</link>
                        <pubDate>Sat, 08 Mar 2025 21:01:35 +0000</pubDate>
                        <description><![CDATA[How to Set Up a Duet 3 6HC SD Card and Troubleshoot Startup Issues
If your Duet 3 6HC is not starting from the SD card, follow this guide to properly set up the SD card and troubleshoot any...]]></description>
                        <content:encoded><![CDATA[<p> </p>
<p><strong>How to Set Up a Duet 3 6HC SD Card and Troubleshoot Startup Issues</strong></p>
<p>If your Duet 3 6HC is not starting from the SD card, follow this guide to properly set up the SD card and troubleshoot any issues.</p>
<hr />
<h3><strong>1. Format the SD Card Properly</strong></h3>
<ul>
<li>Use a fresh SD card, preferably <strong>8GB or 16GB</strong> (avoid very large sizes like 128GB).</li>
<li>Format it as <strong>FAT32</strong> (not exFAT).
<ul>
<li><strong>Windows</strong>: Use the built-in formatter or <a href="https://rufus.ie">Rufus</a>.</li>
<li><strong>Linux/Mac</strong>: Use <code>gparted</code> or <code>diskutil</code>.</li>
</ul>
</li>
</ul>
<hr />
<h3><strong>2. Copy Files to the SD Card</strong></h3>
<ol>
<li><strong>Download the required files</strong>: <a href="/mnt/data/duet3_full_sd_card.zip">duet3_full_sd_card.zip</a></li>
<li>Extract the contents to the <strong>root of the SD card</strong> (not inside another folder).<br />The folder structure should look like this:
<pre contenteditable="false"><code>/sys/
/gcodes/
/macros/
/www/
/firmware/
/menu/
</code></pre>
</li>
<li>Verify that <code>config.g</code> is inside the <strong><code>/sys/</code></strong> folder.</li>
</ol>
<hr />
<h3><strong>3. Insert the SD Card &amp; Power On</strong></h3>
<ol>
<li>Insert the SD card into the <strong>Duet 3 6HC</strong> SD card slot.</li>
<li>Power the Duet 3 <strong>via VIN power</strong> (recommended) or USB.</li>
<li>If the board does <strong>not start</strong>, check the <strong>Diag LED</strong> status:
<ul>
<li><strong>LED On Constantly</strong>: The board is not reading the SD card.</li>
<li><strong>LED Blinking</strong>: The firmware is booting correctly.</li>
</ul>
</li>
</ol>
<hr />
<h3><strong>4. Check Duet 3 Connection via USB</strong></h3>
<p>If the board isn’t responding:</p>
<ol>
<li>Connect a <strong>USB cable</strong> to your PC.</li>
<li>Open a <strong>serial terminal</strong> (e.g., <strong>YAT on Windows</strong>, <code>screen</code> on Linux/Mac):
<ul>
<li><strong>Windows</strong>: Use <strong>YAT</strong>, set <strong>baud rate to 115200</strong>, and connect to the COM port.</li>
<li><strong>Linux/Mac</strong>: Open a terminal and type:
<pre contenteditable="false"><code class="language-bash">ls /dev/ttyUSB*
screen /dev/ttyUSB0 115200
</code></pre>
</li>
</ul>
</li>
<li>Send the command:
<pre contenteditable="false"><code>M115
</code></pre>
This should return the firmware version.</li>
</ol>
<hr />
<h3><strong>5. Flash Duet 3 Firmware (If Needed)</strong></h3>
<h4><strong>A. Manually Load Firmware (If Board Doesn’t Boot)</strong></h4>
<ol>
<li>Download the latest <strong>Duet3Firmware.bin</strong> from <a href="https://github.com/Duet3D/RepRapFirmware/releases">Duet3D GitHub</a>.</li>
<li>Copy <strong><code>Duet3Firmware.bin</code></strong> to the <strong><code>/firmware/</code></strong> folder on the SD card.</li>
<li>Reinsert the SD card and power cycle the board.</li>
</ol>
<h4><strong>B. Flash Firmware via USB</strong></h4>
<p>If the SD card method doesn’t work, manually flash via USB:</p>
<ol>
<li>Download <strong>BOSSA</strong> (for flashing Duet firmware):
<ul>
<li><a href="https://github.com/shumatech/BOSSA/releases">Windows</a></li>
<li><strong>Linux/Mac</strong>: Install via:
<pre contenteditable="false"><code class="language-bash">sudo apt install bossa-cli  # Ubuntu/Debian
brew install bossac         # macOS
</code></pre>
</li>
</ul>
</li>
<li>Put the Duet into <strong>"bootloader mode"</strong>:
<ul>
<li>Press and <strong>hold the "Erase" button</strong>.</li>
<li>While holding it, press and release the "Reset" button.</li>
<li>Release "Erase" after 2-3 seconds.</li>
</ul>
</li>
<li>Flash the firmware using <strong>BOSSA</strong>:
<pre contenteditable="false"><code class="language-bash">bossac -e -w -v -b Duet3Firmware.bin
</code></pre>
</li>
<li>Restart the Duet.</li>
</ol>
<hr />
<h3><strong>6. Verify Network Connectivity (If Using SBC Mode)</strong></h3>
<ul>
<li>If the Duet 3 was previously in <strong>SBC mode (with a Raspberry Pi)</strong>, it may expect the Pi.</li>
<li>To use <strong>Standalone mode</strong>, ensure:
<ul>
<li>The <code>config.g</code> file contains:
<pre contenteditable="false"><code>M552 S1  ; Enable networking
</code></pre>
</li>
<li>The <code>/www/</code> folder has <strong>Duet Web Control</strong> files.</li>
</ul>
</li>
</ul>
<hr />
<h3><strong>7. Last Resort: Test Another SD Card</strong></h3>
<ul>
<li>Some SD cards are <strong>not compatible</strong> with the Duet 3.</li>
<li>Try using a <strong>SanDisk Ultra</strong> (8GB-32GB).</li>
<li>If possible, test with another <strong>Duet 3 board</strong> to rule out hardware issues.</li>
</ul>
<hr />
<h3><strong>Conclusion</strong></h3>
<ol>
<li><strong>Ensure the SD card is formatted correctly and files are in the right place.</strong></li>
<li><strong>Verify via USB that the board is detected.</strong></li>
<li><strong>Check the firmware and reflash if necessary.</strong></li>
<li><strong>If using standalone mode, enable networking in <code>config.g</code>.</strong></li>
</ol>
<p>By following these steps, your <strong>Duet 3 6HC</strong> should be up and running. Let us know in the comments if you have any issues!</p>]]></content:encoded>
						                            <category domain="https://localad.cc/community/duet-codes-and-info-setting-up/">Duet Codes and info setting up</category>                        <dc:creator>admin</dc:creator>
                        <guid isPermaLink="true">https://localad.cc/community/duet-codes-and-info-setting-up/duet3-6hc-1lc-sd-card-issues/</guid>
                    </item>
				                    <item>
                        <title>Duet wifi cheat sheet</title>
                        <link>https://localad.cc/community/duet-codes-and-info-setting-up/duet-wifi-cheet-sheet/</link>
                        <pubDate>Wed, 18 Jan 2023 20:32:30 +0000</pubDate>
                        <description><![CDATA[Probing-related G-code




G30&nbsp;- run a single probe.



G31&nbsp;- set up probe, in particular the Z height at which the probe triggers; note the firmware supports multiple probes, so y...]]></description>
                        <content:encoded><![CDATA[<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Probing-related G-code</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_G30_Single_Z_Probe">G30</a>&nbsp;- run a single probe.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_G31_Set_or_Report_Current_Probe_status">G31</a>&nbsp;- set up probe, in particular the Z height at which the probe triggers; note the firmware supports multiple probes, so you must run M558 first to specify which one.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_G32_Probe_Z_and_calculate_Z_plane">G32</a>&nbsp;- run a full autoprobe (that is, execute bed.g or uses the matrix defined by M557)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_G92_Set_Position">G92</a>&nbsp;- redefine coordinates so that current position is zero (or values specified)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M114_Get_Current_Position">M114</a>&nbsp;- report current position.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M557_Set_Z_probe_point_or_define_probing_grid">M557</a>&nbsp;- Set Z probe point or define probing grid.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type">M558</a>&nbsp;- set probe type (e.g. analog); also select which probe to use, so run this early in the setup process</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M561_Set_Identity_Transform">M561</a>&nbsp;- clear all autocalibration or G92 settings</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M665_Set_delta_configuration">M665</a>&nbsp;- set delta configuration; this includes the manual calibration values that are the starting point for autocalibration. You can also use this command after an autoprobe to see the fitted values</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M666_Set_delta_endstop_adjustment">M666</a>&nbsp;- set delta endstop adjustment; this includes the manual calibration values that are the starting point for autocalibration. You can also use this command after an autoprobe to see the fitted values</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>To enable the extruder motor and move it, send:</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>T0</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>G1 E10 F60</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>File config.g</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M584 X0 Y1 Z2:4 E3; two Z motors connected to driver outputs Z and E1</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M208 X-5:205 Y0:300 ; X carriage moves from -5 to 305, Y bed goes from 0 to 300</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>...</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>File bed.g:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G28 ; home</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M401 ; deploy Z probe (omit if using bltouch)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G30 P0 X20 Y100 Z-99999 ; probe near a leadscrew, half way along Y axis</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G30 P1 X180 Y100 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M402 ; retract probe (omit if using bltouch)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G92 z0 reset z to 0 or M564 S0 to disable axis limits.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Send G30 S-1 to probe the bed without resetting the Z=0 position</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>restart the Duet by sending M999</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M208 S1 Z-3 to temporarily allow Z moves down to Z=-3mm. This is to ensure that you can lower the nozzle all the way to the bed in step</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M564 S0 to disable axis limits</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M401 deploy</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M402 retract</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>X_PROBE_OFFSET_FROM_EXTRUDER -42 // X offset: -left +right <br>Y_PROBE_OFFSET_FROM_EXTRUDER -5 // Y offset: -front +behind </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Calibrate the Z probe trigger height</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ol><!-- wp:list-item -->
<li>Make sure the dynamic test is successful (Z probe stops when it senses the bed) before doing this.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Cancel any currently active mesh compensation with&nbsp;<a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M561_Set_Identity_Transform"><u>M561</u></a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Use the X and Y jog buttons to position the nozzle over the centre of the bed</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jog the nozzle down until it is just touching the bed or just gripping a sheet of paper. If the firmware doesn't let you jog it down far enough, send M564 S0 to disable axis limits.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Once you have the nozzle touching the bed, send command G92 Z0 to tell the firmware that the head is at Z=0</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jog the head up by 5 to 10mm</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Send command G30 S-1. The nozzle will descend or the bed rise until the probe triggers and the Z height at which the probe stopped will be reported. If you are using a nozzle-contact Z probe, the trigger height will be slightly negative. For any other type of Z probe where the probe triggers before the nozzle contacts the bed, it will be positive.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Repeat from step 5 two or three times to make sure that the trigger height is consistent.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>In Duet Web Control, go to Settings -&gt; System Editor and edit the config.g file. Set the Z parameter in the G31 command to the trigger height that was reported. Save the file.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open config-override.g and check that there are no G31 commands in it. If you find any, delete those lines and save the file.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>To apply the new trigger height, restart the Duet by sending M999 or pressing Emergency Stop.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Adjusting z-offset</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ol><!-- wp:list-item -->
<li>Cancel any currently active mesh compensation with&nbsp;<a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M561_Set_Identity_Transform">M561</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Use the X and Y jog buttons to position the nozzle over the centre of the bed</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jog the nozzle down until it is just touching the bed or just gripping a sheet of paper. If the firmware doesn't let you jog it down far enough, send M564 S0 to disable axis limits.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Once you have the nozzle touching the bed, send command G92 Z0 to tell the firmware that the head is at Z=0</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jog the head up by 5 to 10mm</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Send command G30 S-1. The nozzle will descend or the bed rise until the probe triggers and the Z height at which the probe stopped will be reported. If you are using a nozzle-contact Z probe, the trigger height will be slightly negative. For any other type of Z probe where the probe triggers before the nozzle contacts the bed, it will be positive.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>-- BL-TOUCH START GCODE --<br>G21 ; metric values<br>G90 ; absolute positioning<br>M82 ; set extruder to absolute mode<br>M107 ; start with the fan off<br>; confirm BL-touch safety<br>M280 P0 S160 ; BL-Touch Alarm release<br>G4 P100 ; Delay for BL-Touch homing<br>G28 X0 Y0 ; move X/Y to min endstops<br>G28 Z0 ; move Z to min endstops<br>; reconfirm BL-touch safety<br>M280 P0 S160 ; BL-Touch Alarm realease<br>G4 P100 ; Delay for BL-Touch<br>; bed leveling<br>G29; Auto leveling<br>M420 Z5 ; set LEVELING_FADE_HEIGHT<br>M500 ; save data of G29 and M420<br>M420 S1 ; enable bed leveling<br>; prepare hot-end<br>G92 E0 ; zero the extruded length<br>G1 F200 E3 ; extrude 3mm of feed stock<br>G92 E0 ; zero the extruded length again<br>M117 Printing<br>; -- end of BL-TOUCH START GCODE –</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A valid M671 command enables auto calibration of the Z motors. When you run G32 to perform bed probing, the final G30 command (the one with the S parameter) in bed.g will then cause auto calibration to be performed. The auto calibration uses a least squares algorithm that minimises the sum of the height errors. The deviation before and expected deviation after calibration is reported.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you have two Z motors, the calibration process adjusts the bed tilt along a line between the two leadscrew positions, on the assumption that the tilt at right angles to this will not change. With three motors, it adjusts the tilt in both directions. With four motors, it adjusts the tilt in both directions and also the twist. You should not use 4 leadscrews with a bed that is rigid enough to resist twisting strongly.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can run G32 again to repeat the process if you wish.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If your bed is not perfectly flat or the gantry sags a little when the head is over the middle of the bed, the process will cause a small shift in the Z=0 position. To correct this, if you are using the Z probe to do Z homing, you can just re-home Z at the end of your bed.g file.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Recommendations</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>If you have 3 or 4 Z motors, in bed.g use at least one probe point close to each leadscrew.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>If you have just 2 Z motors, one at each end of the X axis, then set the Y coordinates of the leadscrews in the M671 command to be equal (the value doesn't matter, so you can use zero). Use at least two probe points, one at each end of the X axis. All your probe points should have the same Y coordinate, which should be at or near the middle of the printable range.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Note: If you are experiencing the Z axis compensating in the opposite direction needed, that means your Z motors are swapped. You can either swap the X values in the M671 command, or swap the stepper motors plugged into the Duet.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Example for 2 motors</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>File config.g:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>...</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M584 X0 Y1 Z2:4 E3; two Z motors connected to driver outputs Z and E1</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M208 X-5:205 Y0:300 ; X carriage moves from -5 to 305, Y bed goes from 0 to 300</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>...</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>File bed.g:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G28 ; home</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M401 ; deploy Z probe (omit if using bltouch)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G30 P0 X20 Y100 Z-99999 ; probe near a leadscrew, half way along Y axis</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G30 P1 X180 Y100 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>M402 ; retract probe (omit if using bltouch)</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ol><!-- wp:list-item -->
<li>Cancel any currently active mesh compensation with&nbsp;<a href="https://duet3d.dozuki.com/Wiki/Gcode#Section_M561_Set_Identity_Transform">M561</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Use the X and Y jog buttons to position the nozzle over the centre of the bed</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jog the nozzle down until it is just touching the bed or just gripping a sheet of paper. If the firmware doesn't let you jog it down far enough, send M564 S0 to disable axis limits.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Once you have the nozzle touching the bed, send command G92 Z0 to tell the firmware that the head is at Z=0</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jog the head up by 5 to 10mm</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Send command G30 S-1. The nozzle will descend or the bed rise until the probe triggers and the Z height at which the probe stopped will be reported. If you are using a nozzle-contact Z probe, the trigger height will be slightly negative. For any other type of Z probe where the probe triggers before the nozzle contacts the bed, it will be positive.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>To enable the extruder motor and move it, send:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>T0</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>G1 E10 F60</p>
<!-- /wp:paragraph -->]]></content:encoded>
						                            <category domain="https://localad.cc/community/duet-codes-and-info-setting-up/">Duet Codes and info setting up</category>                        <dc:creator>admin</dc:creator>
                        <guid isPermaLink="true">https://localad.cc/community/duet-codes-and-info-setting-up/duet-wifi-cheet-sheet/</guid>
                    </item>
				                    <item>
                        <title>upgrade to RepRapFirmware 3.0 first</title>
                        <link>https://localad.cc/community/duet-codes-and-info-setting-up/upgrade-to-reprapfirmware-3-0-first/</link>
                        <pubDate>Thu, 13 Oct 2022 14:52:26 +0000</pubDate>
                        <description><![CDATA[When you purchase a clone duet wifi it comes with either ver 1 or 2 os. This needs to be updated to at least 3.3 and the process is a real stressful operation.  I have had great success with...]]></description>
                        <content:encoded><![CDATA[When you purchase a clone duet wifi it comes with either ver 1 or 2 os. This needs to be updated to at least 3.3 and the process is a real stressful operation.  I have had great success with alot of configurations using the duet wifi but ran into problems with 3.4 and this caused some real grief with a ne build. I will try to provide the instructions and files here<br />
<ul>
<li> </li>
<li> </li>
<li>Users of RepRapFirmware 2.x cannot upgrade directly to this release because the binaries for the Duet 2 series are too large for the Duet 2 IAP programs. So you must upgrade to RepRapFirmware 3.0 first, then you can upgrade immediately to version 3.1.1. Alternatively, you can use Bossa over USB to upgrade directly to RepRapFirmware 3.1.1 but in this case you will need to upload DWC 3.1.1 and the appropriate IAP file separately.</li>
</ul>]]></content:encoded>
						                            <category domain="https://localad.cc/community/duet-codes-and-info-setting-up/">Duet Codes and info setting up</category>                        <dc:creator>admin</dc:creator>
                        <guid isPermaLink="true">https://localad.cc/community/duet-codes-and-info-setting-up/upgrade-to-reprapfirmware-3-0-first/</guid>
                    </item>
							        </channel>
        </rss>
		