# Welcome!

Welcome to the  M3D Promega's User Manual.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ9vauf1_EtC7WGeeR8%2F-LQ9zsiQ7470YEAGN5UB%2Fpromega.png?alt=media\&token=4143e7ce-c6b3-4265-a0b2-d1bab30ebb7c)

## Features

### Expandable

The Promega is expandable, meaning you can customize it to suit your needs. These are 4 possible extruder configurations.

{% tabs %}
{% tab title="Compound Printing" %}
The Compound nozzle is a dual mixing nozzle, which takes in two filaments and either prints one at a time or mixes them together.&#x20;

A standard Promega will come with this extruder.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAXo-FAN0ydZkmXvas%2F-LQAdDP_GnGL70BvBL_E%2Fcompound%20diagram.png?alt=media\&token=3df61ddc-74db-44f9-92bc-475d3ecb5e74)
{% endtab %}

{% tab title="Dual Printing" %}
\
The K'Tana hot end is two, independent nozzles for dual printing.&#x20;

K'Tana nozzles are seamless, long nozzles that include a thin-wall heat break to reduce energy consumption and eliminate leaks.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAXo-FAN0ydZkmXvas%2F-LQAdOakcH5i_tJwqz8V%2Fktana%20diagram.png?alt=media\&token=43edc35b-9375-4054-8d22-23b7dec3490b)
{% endtab %}

{% tab title="Quad Printing" %}
\
The Quad extruder takes in four filaments and can either print one at a time or mix for blended colors.

You can create beautiful color prints using our CMYK color-calibrated mixing filament.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAXo-FAN0ydZkmXvas%2F-LQAdgPJmknuDlct-aLt%2Fquad%20diagram.webp?alt=media\&token=5e6e8579-974b-4a65-a8ae-7fe11f6693ae)
{% endtab %}

{% tab title="High Temp Printing" %}
Our high-temp extruder add-on allows you to extrude materials up to 350 C.&#x20;

This upgrade is ideal for printing high-temp materials such as PEEK, if you are producing small prints.&#x20;

For larger prints, you may need a more robust system upgrade. If you are interested in this, please fill out this [form](https://airtable.com/shrPYVe4EY4mXUM4e).
{% endtab %}
{% endtabs %}

Feel free to browse the [part store](https://store.printm3d.com/collections/parts) for more.

### 20" All Metal Frame

Fully enclosed in a 20" all-metal frame.

### 15.3" Cubic Build Volume

15.3"-cubed build volume makes printing just about anything possible.

### Open Source

Both the [Duet3D electronics](https://www.duet3d.com/) and the [Promega parts](/documentation) are open-sourced.

## Where To Start

Please start with the [Beginner Guides](/beginners-setup-guides).

If the Beginner Guides aren't enough, try our [Advanced Guides](/advanced-setup-guides).&#x20;

## **Other Resources**

### Duet3D Board

#### [Firmware/Software](https://github.com/PrintM3D?tab=repositories)

#### [Duet Maestro](https://duet3d.dozuki.com/c/Duet_2_Maestro)

#### [Duet GCodes](https://duet3d.dozuki.com/Wiki/GCode)

### Promega Parts Store

#### [Linked Here!](https://store.printm3d.com/collections/parts/printer-model_m3d-promega)

### Open Source&#x20;

#### [Public Google Drive](https://drive.google.com/open?id=1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w)

{% hint style="info" %}
Houses all iterations of:

* SD Cards
* Slicer
* Printed Part.&#x20;
  {% endhint %}

### **Q\&A Promega Users**

[Submit Issue](https://github.com/PrintM3D/Promega/issues). Allows you to search for existing issues to upvote them.&#x20;

Submit a new issue if you do not find one.

### Contributing

Please feel free to add suggestions to any of the guides by creating a pull-request or issue on [GitHub](https://github.com/PrintM3D/Promega-Docs/issues). This manual is hosted in Github.com via Gitbook.com.

The main way to collaborate to the guides is to become a collaborator. But sometimes you simply want to submit a small contribution, without becoming a regular collaborator.

On GitHub, one can use the popular *Pull Request* feature. To do so, you would clone <https://github.com/PrintM3D/Promega-Docs>, make changes on your own copy, and submit back your changes by submitting a *Pull Request* to M3D. Then we will review the changes accordingly.

#### Let's Get Started!


# Getting Started


# Critical Warnings & Information

The M3D Promega is an industrial product. The user assumes all responsibility for proper operation and acknowledges that they understand the operation and standard practices of additive manufacturing. The user assumes all responsibility for its proper use and agrees to follow the directives below to ensure a safe and working unit before any other operation.

## Warnings

1. CHECK POWER SUPPLY'S OPERATING INPUT VOLTAGE. Failure to do so will damage the power supply. There are two input wall voltages: 115V or 230V. Choose the appropriate settings.&#x20;
2. DO NOT TOUCH PRINTER WHILE OPERATING The Promega is a powerful industrial machine. While the Promega is moving or printing you should not reach into the buildspace.
3. DO NOT MOVE THE BED WITHOUT POWER

   The belts on the printer bed can skip, causing a 2mm shift in your bed level, which will need to be fixed. There is a small but real chance it may damage the Duet board. Do not place heavy items or lean on the bed as it can also skip it.
4. MOVE MOTORS SLOWLY

   Moving motors generates power on all printers and can damage your board. A good indicator of the power you are generating is the cold section fan on the front. If you can hear the fan moving air, you're close to voltages that will break the duet regulator (more than 28V). As long as you can see the fan is not gaining speed you are fine. Move components at about 30 mm/s. It is best to always move components while the system is powered.
5. DISABLING MOTORS

   When you disable motors the bed will drop to the limit switch. Giving you print access.
6. ESD SAFETY:

   The Duet contains an ARM class 2 processor, we recommend you use a wrist straps when touching any wires that could send shocks to the main processor and fry it.
7. DON'T USE AN ESD WRIST STRAPS TIED TO A SURGE STRIP

   The printer is grounded. If you wire the strap wrong it can cause a short circuit through your body whenever you touch the printer.
8. USE UNDER SUPERVISION

   Place the printer in a place where nothing can catch on fire should the worst occur. The promega is constructed out of metal and fireproof materials. Still, PLA and other filaments can burn and cause a fire if the printer is used improperly.
9. MAXIMUM EXTRUDER SPEED

   Don't extrude faster than 5.6 mm^3/s with any filament in compound extruder to start. Get success first with no skipping then try to push the limits. Do the math: 45mm/s movement, 0.3 mm layers and 0.5 mm wide would be 6.75mm^3/s , a bit to fast for your first print, especially with pla. So adjust layer heights accordingly, for example to 0.25mm high for your first prints. Over time you should be able to print faster. Remember that speed depends on material, number of print moves per second, nozzle type and temperature.
10. Z SPEED

    The bed current, acceleration and speed are configured for heavy prints. You can increase speed when printing lighter items. Currently, the acceleration of the z-axis is set to 75 mm / s ^2 and a max linear speed of 2300 mm/s but that can be improved depending on your application of the printer.
11. REMOVE TOP COVER

    Whenever printing PLA you must remove the top cover or it will overheat.
12. BED TEMPERATURE

    If you are using a glass print bed, give the printer an extra few minutes to reach temperature. Without the side and front covers, the glass will be 5-10 C cooler than the bed temperature readouts from the thermistor.
13. FRAME CAN BE SHARP

    The frame of the printer is metal and could be sharp. Use caution when moving the printer or moving around the printer. Keep your hands out of the machine during operation and be careful when lifting.
14. BURN HAZARD

    BED and NOZZLES may cause burns when hot.
15. USE CAUTION WHEN REMOVING PRINTS

    Use caution when scraping prints off the bed. Push the bed down against a foam pad (relieving pressure on the z belts) or remove the glass with the print attached in order to remove it on a firm surface. Best strategy is let the bed cool, most prints pop off by themselves.
16. WATCH THE FAN

    The cold section fan is spinning very fast when the system is on. Please keep tools and yourself clear of it when it is operational.
17. MANUALLY DEPLOY Z-PROBE

    This printer features both an IR probe and a manually deployable limit switch probe. Be sure to put the limit switch magnet on the mount before probing with the limit switch. Failure to do so could crash the bed into the nozzle. Change the config.g file commands in order to change which probe is being used.
18. CRASHING THE BED

    Crashing the bed into the nozzle can result in the bed skipping and falling down **fast** due to gravity. Stay clear of the printer and do not enter the buildspace while the promega is printing.

## About the Z-assembly

1. The bed is designed to skip if the bed crashes into the nozzle. Once the Z-motor skips it will let the bed fall down to its resting position. The speed of this fall can be very fast, but it's better than a cracked glass bed.
2. A normal bed must meet the following condition: Pushing down gently on the bed (less than 10lb) on any spot on the bed should make the bed move. The same must be true for pushing upwards from the center of the bed, or lifting the bed with two hands in the middle of two opposing faces. All beds will skip if you attempt to lift them from one corner, this is normal.
3. The bed can skip if moved improperly, which is normal. It is safe to adjust the bed by skipping the belt in corners. Follow the [Repair & Maintenance](/repair-and-maintenance) guides for more information on tensioning and leveling your bed.&#x20;
4. Currently the only way to mechanically level the bed is to skip belts in corners of the bed. This leaves you with an accuracy of +-1mm per corner. Future designs will come with an improved mechanical leveling system. A normal bed will one or two corners off 1 or 1.5mm from the rest with an RMS flatness of 0.2 - 0.35mm. This is still relatively small across the Promega's big buildspace.
5. New belt tops and bottoms were designed as of 06/04/18. Use [this link](https://drive.google.com/drive/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w) to the public google drive to download the *.STL* files in order to print them. They can also be shipped to you.
6. Sliders and the bed frame are tightened based on experience to achieve the best possible backlash, smoothness, ideal kinetic friction across the entire range. The system is designed to be tighter towards the bottom to brake the bed if it comes down. Smoothness of the Z-axis is tied closely with belt tension and trueness of the frame.
7. The Z-sliders each have two screws attaching them to the bed platform. Only one of these screws is meant to be completely tightened. This allows the sliders to maintain the proper amount of friction on the sliders to perform fast moves such as a Z-hop.
8. In order to test your bed, move the z-motor by hand and observe the movement of the 4 sliders, none should stick.&#x20;
9. Tension your Z-belts approperiately so that the belts can not skip easily. You should be able to strum the belts.

Continue on to the [Unboxing & Assembly](/getting-started/unboxing-and-assembly), the next chapter in the [Getting Started](/getting-started) guide.


# Unboxing & Assembly

## Before Opening

Check the outside of the packaging for any significant amount of damage that might have occurred in shipping. We recommend taking pictures of the box in case the Promega was damaged in shipping. In this box you will find various small items in different packages. Please thoroughly check all wrapping and padding before discarding them to ensure you keep all parts. Keep the Promega's box intact in case you need to transport the printer in the future.

**Warning: The Promega's frame can be sharp. Please take care when moving the printer in this procedure.**

## Opening the Box

1. Cut through the tape of the box on the top. Do not cut deep as the Promega is located below!&#x20;
2. Remove the top and side cardboard layers and bubble wrap.
3. Carefully lift the Promega from the box. Lift from the points indicated in the image below. **Do not lift from the frame member at the back (marked by red cross).**

   ![XQ09PDakiccOf4IT-wheretoliftprinter.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znfvg_xH5TRM6NhC%2FXQ09PDakiccOf4IT-wheretoliftprinter.jpg?generation=1531199049574064\&alt=media)
4. Remove any additional padding from the box to ensure no other parts remain in the box.
5. Remove plastic wrap from the printer. You should now see items on the bed of the printer. The package includes important items, please take care when opening.

   ![yy24tndptDwMYAgD-itemsonbed.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znfyz8FZHrz8BZpB%2Fyy24tndptDwMYAgD-itemsonbed.jpg?generation=1531199050301473\&alt=media)
6. Remove the tape from the coreXY assembly.

   ![3KmkaQlODw1jLTl8-coreXYTape.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zng-sWP0v729slhf%2F3KmkaQlODw1jLTl8-coreXYTape.jpg?generation=1531199050110074\&alt=media)
7. Remove the tape holding the items and the Z-platform down.
8. Remove the items from the bed of the printer.&#x20;
9. Lift the Z-platform as shown in the image below and remove foam blocks from under the bed.

   ![4qdhdUQzgRlqtZuL-wheretoholdbed.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1oWI_qiqLTgz98%2F4qdhdUQzgRlqtZuL-wheretoholdbed.jpg?generation=1531199031744255\&alt=media)

## Items Included

1. microSD Card + microSD Card Reader
2. Spool Holders

   ![F4z9qTNZghp1gmOv-spoolholders.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zng7OIHbQy6El2Q2%2FF4z9qTNZghp1gmOv-spoolholders.jpg?generation=1531199047219242\&alt=media)
3. Windows (Optional: Glass Bed)

   ![1u0t2bROqhGPsdIC-windows.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zng9A9vvkDjHa6xY%2F1u0t2bROqhGPsdIC-windows.jpg?generation=1531199048429963\&alt=media)
4. Rubber Feet x4

   ![2qXoyZvaLOUZ7UlG-fee.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngBc9jiQlDXs_R8%2F2qXoyZvaLOUZ7UlG-fee.jpg?generation=1531199048404006\&alt=media)
5. microUSB Cable

   ![M3KZuhI3zMNt4ZCL-microUSBcable.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngDIPaSPHD-U2qL%2FM3KZuhI3zMNt4ZCL-microUSBcable.jpg?generation=1531199047800226\&alt=media)
6. Optional: Glass Bed Clamps x4

   ![XmjCKMnSzdgnN53G-glassbedclamps.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngF2yBVafaJrX58%2FXmjCKMnSzdgnN53G-glassbedclamps.jpg?generation=1531199048385668\&alt=media)

### Mounting the Spool Holders

The spoolholders should be placed on the back of the printer. Two M4 T20 Torx Countersunk bolts and a locknut hold the spoolholder in place.

![N0X7Fp2nZNf8A4iy-wheretoscrewspoolholders.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngHXPM7p-XT95S9%2FN0X7Fp2nZNf8A4iy-wheretoscrewspoolholders.jpg?generation=1531199049516526\&alt=media) ![ANbwfXhDmR1sLKAe-mountedspoolholder.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngJwZHa2Aaahisq%2FANbwfXhDmR1sLKAe-mountedspoolholder.jpg?generation=1531199048979085\&alt=media)

## Mounting the Feet

Follow this section to attach the feet to the printer. You will need a T20 Torx screwdriver.

1. The base of the printer has four holes intended for the feet of the Promega.
2. Carefully flip the printer on it's front in order to get access to the bottom of the printer.

   ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH41Is87uJ_hJ3G52OB%2F-LH41oBwOvFQwGpA5Ofz%2Fwheretoscrewonfeet.jpg?alt=media\&token=afcf4a8e-fa41-47df-b034-52989d4e63a7)
3. Take the M4 bolts out of the bag and screw them into the feet with a T20 Torx tool. ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH41Is87uJ_hJ3G52OB%2F-LH42UjLIK3gkDXrpIY5%2Fscrewinfoot.jpg?alt=media\&token=d2d9bd62-b16e-4d27-8ad8-c8fb647ca325) ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH41Is87uJ_hJ3G52OB%2F-LH42WX6CJ2kzXE9Poda%2Fscrewthroughfoot.jpg?alt=media\&token=933e7ac4-1a2d-47a1-834b-0deece5b9682)
4. You can now attach the feet to the base of the Promega through the holes in the picture in step 1. Tighten the feet down with the included M4 lock-nuts.

## Attaching the Glass Bed

Attaching the glass bed clamps to the glass bed can be tricky. Using a flathead screwdriver as a wedge makes it a lot easier!

1. Use the flathead screwdriver to open the clamp as shown. Try different sized flathead screwdrivers if this is too difficult. If the clamp is too tight to mount on the bed you can rotate the flathead screwdriver in the clamp to open it up more.

   ![36HsyBxyn58yAkSI-clamponflathead.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngL6Bq1Zo1aAkCy%2F36HsyBxyn58yAkSI-clamponflathead.jpg?generation=1531199047258799\&alt=media)
2. Use the flathead screwdriver to open the clamp and slide one side on the bed as shown.

   ![ER1AuRHXemFVxfVP-halfmountedclamp.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngNhkoVttzzWdXv%2FER1AuRHXemFVxfVP-halfmountedclamp.jpg?generation=1531199048944964\&alt=media)
3. Once you have one side on, remove the flathead screwdriver and simply slide on the clamp

   ![gu5WeuO3pjG0H88H-slideonclamps.gif](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZngP3eBLYhHp3Nxe%2Fgu5WeuO3pjG0H88H-slideonclamps.gif?generation=1531199046915690\&alt=media)

## Attaching the Switches

To prevent damage while shipping, the power switch and heated bed coil switch are not connected. You can attach these in the following section.

You will need two M4 12mm Bolts and two M4 nuts per side. You will also need a T20 Torx screw-driver and an M4 wrench or pliers. Screw on both the power switch and the heated bed coil switch.

{% hint style="info" %}
Due to a mistake, M5 nuts were shipped with a few Promegas instead of M4 nuts.
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHF_8Hd4pMsNItXoY8v%2F-LHFb7EpDR0tS7oU4Nrs%2Fscrewingpowerswitch.jpg?alt=media\&token=0973c60f-6ae9-4b7e-b4b4-2a67a0bfc2d3)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHF_8Hd4pMsNItXoY8v%2F-LHFb9SHRxhZTisyGA4m%2Fnutsonpowerswitchg.jpg?alt=media\&token=b944c742-a793-439d-a4ec-c7b1f9efc8a9)

## Installing Windows

This section will walk you through installing your top, side and front windows on your Promega. **This step is optional and can be performed at a later time when you prefer to print with a full enclosure.** All screws needed for this section should be included in the plastic bag.

### Front Window

The front window has four small screw heads that lock onto small magnets located on the front of the Promega. The front window can be identified by the 4 small black screws sticking out of it. Face the screws toward the frame and simply stick it on the Promega.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFTs6YMEkdjD3473oN%2Ffrontwindowattach.gif?alt=media\&token=aba92104-6452-4de9-8fcc-b0290b087a17)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFTpEBk8MrX28m0nve%2Ffront_window.jpg?alt=media\&token=803d7dc2-c245-4440-b167-1289df2ebfec)

### Top Window

Next, we will install the top windows. You can find the top window by finding a thicker piece of plastic that does not have screws in it. For this you will need 4 12mm M3 bolts and a T10 Torx screw-driver. Screw in the M3 bolt on all four sides as shown in the image below.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFXk2E0aCEp6zoxkz4%2F4xM35mm.jpg?alt=media\&token=bebb9ad9-f86d-4dba-b582-9850eda25a2b)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFUS0sptpOXlrW5FPe%2Fattachingthetopwindow.jpg?alt=media\&token=463427eb-cab2-4daf-a78c-e31a44c0bc6b)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFUTzb1iDJCQ_YPefw%2Ffullyattachedtopwindow.jpg?alt=media\&token=a482c376-8f2d-408e-a647-cdbb74caf770)

### Side Windows

The side windows can be identified by the fact that they are made of thinner plastic, and that there are two of them. For the side windows you will need 8 (4 for each side) M3 5mm bolts. You can screw these into place with the T10 Torx Screw Driver as shown in one of the images below. The side windows go on the inside of the Promega.

![Four M3 5mm Bolts](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFXRGQLKGskwA_N-8p%2F4xM35mm.jpg?alt=media\&token=c05be2c0-df77-459f-9270-83a5add52898)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHFJoYPxFYLficprT3B%2F-LHFXhXtA5xMNfyjogJu%2Fattachingsides.jpg?alt=media\&token=4da8802c-1405-4152-93c1-7480ca94e58b)

Continue on to [Mechanical Check](/getting-started/check-your-printer), the next chapter in the [Getting Started](/getting-started) guide.


# Check Your Printer

Your Promega has probably had a long journey to arrive at your front door. Follow this guide to ensure that your Promega arrived in one piece and is ready to print.

First of all, check for any nuts and bolts in and around the frame. It is possible that fasteners became loose during shipping.

## CoreXY

### **Belt Routing**

All the belts should be riding on bearings or driven by pulleys. If the belt tension became too low during the trip it is possible that one of the belts moved from its desired place. If you notice a CoreXY belt which is not seated on a bearing or pulley. Follow the [Repairing CoreXY](/repair-and-maintenance/install-uninstall/corexy) guide.

### **Belt Tension**

Check the belt tension in the CoreXY, you can do this by feeling the force on the belt as shown in the picture below. The first picture shows a tight CoreXY belt, the second picture a loose belt. Once you release the belt, it should spring back and vibrate. If this does not happen, it might be another indicator of a loose CoreXY belt.

![Tight CoreXY Belt](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnrRALF1whA2Zg-6%2FRCDDV9MpQ6xxvcAJ-tightcoreXY.jpg?generation=1531199050633497\&alt=media)

![Loose CoreXY Belt](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnrUZG0dZEHHz8FW%2Fc19SX7DZd5BEZVVY-loosecoreXY.jpg?generation=1531199050860938\&alt=media)

If your CoreXY belt system is loose follow the [Belt Tensioning Guide](/repair-and-maintenance/belt-tensioning#corexy-tuning).

## Z-Platform

### Z-sliders

The Z-sliders are 3D printed parts that allow the Z-platform to ride along the four aluminum extrusion on the corners. Check that the Z-sliders are properly seated on the aluminum extrusion.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHdxmze8PAueCneWZWr%2F-LHdyuhFLcBngdOb2Lqu%2F20180611_164841.jpg?alt=media\&token=4813c266-95ff-4aad-8a86-c91ebd96ba0d)

### Lifting the Bed

Next, we will checkout the Z-assembly. During transport it is possible that your Z-assembly became misaligned. If you cannot lift your bed as outlined in the steps below because the bed is too far off level, follow the steps in the [Leveling the Bed](/repair-and-maintenance/mechanical-bed-leveling) section.

1. Grab your bed from two points opposite from each-other, as shown in the image below.  ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH4HpNugBu5AZgp3ZQW%2F-LH4IxgLZm9FZcOfL1j8%2Fwheretoholdbed.jpg?alt=media\&token=fb0a6d23-03dd-4d21-af25-0df9676d9da0)&#x20;
2. Gently and slowly lift the bed up. Never pull up the bed too fast. Remember that moving motors by hand will generate a current and power your printer. While you are lifting the bed you will notice your Cold-section fan spinning. The board can tolerate a significant amount of voltage, but lifting the bed up too fast can fry it.

### **Belt Routing**

Confirm that the belts are properly mounted in the Promega. Check that all four belts are held in place at the bed of the 3D printer by belt clamps or screws. Check that the belts go through the 15x15 aluminum extrusion rail, to the pulley and to the top belt clamps.

### **Belt Tension**

To confirm that the belt tension in each of the Z-sliders is appropriate, feel the tension of the belt tension under the Z-platform as shown in the picture. Pull down softly on the belt in order to feel the tension. You should be able to strum the belts slightly. Try to maintain a similar belt tension between the four different corners.

![Feeling the Z Belt Tension](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zhg9VoNzfTR1aY1A%2FW94X14FanYl02dp2-Belttension.jpg?generation=1531199020807889\&alt=media)

## Cable Chain

Next we will check the cable chain of the Promega. The cable chain should be attached at the back of the extruder on the wiring assembly as well as on the back right of the printer. Check that the cable chain is properly attached on both of these points.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH4HpNugBu5AZgp3ZQW%2F-LH4KrtJKAsvg2B9qImL%2Fcablechainattachmentpoint1.jpg?alt=media\&token=3e7029d4-790c-4efc-be1b-eff0628837f5) ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH4HpNugBu5AZgp3ZQW%2F-LH4Kum9A87G5zJiNgNa%2Fcablechainattachmentpoint2.jpg?alt=media\&token=6aa65b5a-4da1-4bac-89f0-cf26df8fcadc)


# Setup Your Electronics

## Check Your Power Supply's Input Voltage

{% hint style="warning" %}
Failure to do so will DAMAGE the power supply.
{% endhint %}

There are two input wall voltages: 115V or 230V. Choose the appropriate settings.

{% embed url="<https://www.worldstandards.eu/electricity/plug-voltage-by-country/>" %}

### How To Switch Between Voltages

The switch, used to flip between 115V and 230V, is located on the bottom part of the power supply.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP1ujviRKVGTvhJYfyr%2F-LP1yL0Lfgwulkesh5mh%2FIMG_1018.JPG?alt=media\&token=79f331a1-2911-48d0-b903-fc3bcae1e0f6)

Use a flat head to manually slide the switch. The current state of the switch is labeled.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP1ujviRKVGTvhJYfyr%2F-LP1zBqFAUOxtRl3ZlpX%2FIMG_1015.JPG?alt=media\&token=1f41aea1-d6f9-4623-b45f-581a04818b77)

## Your SD Card

### Accessing the microSD

Updating any configuration or G-code files without connecting to your printer is possible by changing the required files on the microSD card. The microSD card is located in a microSD port on the ProMega's Duet Maestro board. By pushing the microSD card into the board, as the arrow indicates in the image below, the microSD card will be released from the board. The microSD port and the Duet Maestro are sensitive, so be careful when removing microSD cards.

![Location of the microSD Port on the Duet Board](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoP1i1KUVLsg7e0e%2F4acsZnAoVomcf09T-duetMaestro_sdArrow.jpg?generation=1531199058213827\&alt=media)

You can plug the microSD card into the microSD card reader included with your Promega. The microSD card reader can then be plugged into your computer's USB port. The microSD card should then appear as a drive to your computer. You will now be able to download and change any of the files on this card.

![SD Card Structure](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoP6Nx9K5gMnsc4Z%2Flookansdcardstructure.png?generation=1531199057923022\&alt=media)

### Introduction Video

On the microSD card you will find numerous introductory files and a video. Review these materials!

{% hint style="info" %}
Videos only apply to Promega Compounds & K'Tanas (not Promega Quads).
{% endhint %}

Whenever you are done changing files on the microSD card it is best to safely eject the card and insert it back into the board. It is best to remove and insert the microSD card when the board is powered off. Continue to the Network setup guide with the button below.


# Setup Your Network

## Network Setup

Connecting to your Promega via your local network is very useful as you get access to the Duet Web Console. You can connect your Promega to your local network via the Ethernet port on the Duet Maestro. Once the network settings are properly configured, you should be able to connect to the Duet board and access the Duet Web Console. In order to configure your network settings you will need to edit files on the microSD card. The Promega microSD card has a configuration file called *config.g* in the *sys/* folder. This file contains all the necessary information in order to connect to your network.

### First-Time Start-up

If this is your first time starting up the printer, follow this section. The pre-configured Promega network settings, which are loaded onto every SD card when the printer goes out our door, utilize DHCP in order to get an IP address from your router. This should allow your printer to connect automatically to your network. If this is successful, you should be able to enter the machine name into your browser tab followed by a forward slash "/". This could look like this: **my\_promega\_name/**. If you are connecting to your Promega for the first time, you should be able to enter **promega/** into a browser URL textfield in order to connect.

### Configuring Network Settings

If the First-time start-up connection did not work, or you want to set-up your own network settings, you can follow the following section. It is also possible to set a static IP address for your Promega, this will allow you to connect to that IP address to connect to your printer. For example, a static IP address could be the following: *192.168.1.144* or *10.0.0.214*. However, the type of IP address is dependent on your network. If you are unable to connect your Promega to your internal network by directly connecting an Ethernet cable to the router, follow the Network Bridging section below. Network bridging will allow you to access the Duet Web Console with the Ethernet cable directly connected to your computer.

### Changing the Network Settings via SD

1. Before removing your microSD card from your printer, we recommend you turn off your printer. This reduces the risk of damaging your Duet Maestro. Once the printer is powered off, press the SD card into the board in order to remove it. For more guidance on the SD card check out [this guide.](/documentation/software-firmware/sd-card-structure)
2. Insert the microSD card into your computer with the microSD card reader. Open the *machine\_access.g* file. This file will be in the *sys/* folder and configures the network settings of your Promega. It is best to open the file with a text editor like [Notepad++](https://notepad-plus-plus.org/download/v7.5.6.html) or WordPad (Default Windows Accessory). The default Windows Accessory *Notepad* is not recommended as it does not separate the G-code commands into individual lines.
3. There are two options for configuring your network: DHCP and static IP. If you utilize DHCP, your network router will assign the control board an IP address. You will then be able to connect to the printer using the printer name you define in the configuration file. **DHCP is the recommended option if you are unfamiliar with networking.** Using a static IP means that you give the Promega a unique and free IP address on your network. You will then be able to connect to the Promega by entering that IP address into a browser tab. Choose the tab below (DHCP or static IP) depending on your choice.

{% tabs %}
{% tab title="DHCP" %}
Complete these steps if you want to connect to your Promega using the DHCP option.

a. Open the file *machine\_access.g* and find the `M550` command located in this file. The `M550` command sets the machine name, this command syntax requires a P parameter before the machine name. Therefore, if you wanted to name your printer *unicorn* you would type `M550 Punicorn`. Change the printer name to something you prefer, remember this name as you will use it to connect to your printer. By default the machine name is `promega` .

b. Find the `M552` command in the *machine\_access.g* file. The `M552` command sets your IP address and enables or disables the network. In order to set your network setting to DHCP, the following command should be entered: `M552 P0.0.0.0 S1`. The P parameter allows you to define an IP address, entering `P0.0.0.0` enables DHCP. The S parameter enables (`S1`) or disables (`S0`) network, because you are setting up your network you should set the parameter to `S1`.

c. Ensure that the other `M552` command is commented out!

Your *machine\_access.g* file network settings for connecting to a network using DHCP could look like this:

```
 ; machine_access.g
 ; June 29, 2018

 ; Set the machine name and IP address in here

 M111 S0                       ; Debugging off
 M550 Punicorn                 ; Set machine name, in this case typing unicorn/ would connect you to the printer

 ; M551, No Machine Password
 ; M540 PBE:EF:DE:AD:FE:ED     ; Set MAC address, this can be used to assign a given IP in the DHCP
 M552 P0.0.0.0 S1             ; Use this to enable DHCP
 ; M552 P192.168.1.112 S1     ; This would set a static IP address but it is commented
```

In the example above your machine name would be *unicorn*. Continue to the step below.
{% endtab %}

{% tab title="Static IP" %}
**Static IP Address**\
Complete this if you want to connect to your Promega with a Static IP address.

a. Find the network section in the *machine\_access.g* file. Find the `M552` command. This command sets your IP address and enables or disables the network. In order to set your network setting with a static IP the following command should be entered: `M552 Pnnn S1`. Where `nnn` is your preferred IP address. Your IP address depends on your local network. It could be in the form of (*192.168.1.216* or *10.0.0.216*). The S parameter enables (`S1`) or disables (`S0`) network, because you are setting up your network, and want it enabled, you should set the parameter to`S1`.\
b. Choose an IP address on your network that is free. Typically "higher" IP addresses will work, such as `192.168.1.216` instead of `192.168.1.11` . It is best to log-in to your router in order to check which IP addresses are free.\
c.. Ensure that the other `M552` command is commented out!

Your *machine\_access.g* file network settings for connecting to a network with a static IP address could look like this:

```scheme
 ; machine_access.g
 ; June 29, 2018

 ; Set the machine name and IP address in here

 M111 S0                       ; Debugging off
 M550 PPromega                 ; Set machine name, type promega/ in your browser!

 ; M551, No Machine Password
 ; M540 PBE:EF:DE:AD:FE:ED     ; Set MAC address, this can be used to assign a given IP in the DHCP
 ; M552 P0.0.0.0 S1             ; Use this to enable DHCP, in this case commented
 M552 P192.168.1.112 S1        ; Set Static IP address and enable networking
```

In the example above you should be able to connect to your printer by entering the IP address `192.168.1.112` in your browser tab.

If you want to find out the structure of your internal IP address, open a command prompt on a computer connected to the same network as the promega and enter the command `ipconfig`. (Open a command prompt by pressing *Windows Key* + *R*, type *cmd* and press *Enter*). This will print your network settings and status, look for the "IPv4 Address" number. That number represents an internal IP address on your network. Of course this IP address is occupied by your computer and therefore not a valid IP address for your Promega! ![kJe3IhIAIOE1puFU-ipv4address.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeyIGOnugH1PPzfy%2FkJe3IhIAIOE1puFU-ipv4address.PNG?generation=1531199025443141\&alt=media)

Continue to the step below.
{% endtab %}
{% endtabs %}

1. When you have made the necessary changes to your network settings, save the *machine\_access.g* file and safely eject the SD card. Insert the SD card back into the Duet board. Ensure that the Ethernet cable is connected properly to the Duet board and turn the board back on. It will take a while for your printer to boot and connect to the network (\~30 seconds). When your Ethernet cable is properly connected to the board, the green LED should be flashing and the yellow LED should be solid.   ![1NXuMREA7qVlTdEd-flashingethernet.gif](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeyKOyLfAPURG531%2F1NXuMREA7qVlTdEd-flashingethernet.gif?generation=1531199011369378\&alt=media)&#x20;
2. Once your printer has had the time to start up, open a browser tab on a computer **connected to the same network as the printer**. In the browser URL textfield enter:
   * Your printer name followed by a forward slash "/" if you used DHCP. For example, `unicorn/`, if you named your printer "unicorn" (nothing wrong with that!).&#x20;
3. If the connection is successful the Duet Web Console should be shown. You have completed the network setup.
4. When you have made the necessary changes to your network settings, save the *machine\_access.g* file and safely eject the SD card. Insert the SD card back into the Duet board. Ensure that the Ethernet cable is connected properly to the Duet board and turn the board back on. It will take a while for your printer to boot and connect to the network (\~30 seconds). When your Ethernet cable is properly connected to the board, the green LED should be flashing and the yellow LED should be solid.   ![1NXuMREA7qVlTdEd-flashingethernet.gif](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeyKOyLfAPURG531%2F1NXuMREA7qVlTdEd-flashingethernet.gif?generation=1531199011369378\&alt=media)&#x20;
5. Once your printer has had the time to start up, open a browser tab on a computer **connected to the same network as the printer**. In the browser URL textfield enter:
   * Your printer's IP address set in the configuration file with the M552 command. It could look like this `192.168.1.216`.&#x20;
6. If the connection is successful the Duet Web Console should be shown. You have completed the network setup.

### **Network Bridging**

If you are unable to connect your ProMega to your internal network it is possible to use the ethernet cable to connect the printer directly to your computer. In order to do this, complete the *Connecting to the Promega via SD: Static IP* section, remember the static IP you give the printer, but instead of connecting the ethernet cable to your network, connect it to your computer and follow the guide below.

**Windows**

1. Open Network Connections, you can do this by opening the *Control Panel > Network and Internet > Network and Sharing Center > Change adapter settings*

   ![ixszFpYVwOAR4Mn3-networkandsharing.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zeyp4Z-RIQa-YdGq%2FixszFpYVwOAR4Mn3-networkandsharing.PNG?generation=1531199032973838\&alt=media)
2. Once you have the *Network Connections* window open. Here you will see your network adapters. The ethernet adapter represents your connection to the Duet board. Find your current network adapter, presumably a WiFi adapter. Ctrl + click both the Ethernet adapter as well as the current network you are using. Then right click on one of the selected adapters and select *Bridge Connections*.

   ![ztReV3zkFYeyGJ7s-networkbridge.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeyrPiSFvJQMEVSC%2FztReV3zkFYeyGJ7s-networkbridge.png?generation=1531199045184315\&alt=media)
3. This will create a new Network Adapter called *Network Bridge*. You should now be able to connect to the ProMega with the static IP address you determined earlier. Enter the static IP address into a browser URL textfield.

### Configuring Multiple Devices to the Same Network

If you are adding multiple different Promegas to the network it will change the procedure. This is because a network will require a unique machine name or IP address in order to work.

{% tabs %}
{% tab title="DHCP" %}
If you are using DHCP you will have to give the two different Promegas different unique machine names with the`M550` command. By default the Promega will be called Promega with `M550 PPromega` , so you will have to open *machine\_access.g* and change the `M550` .
{% endtab %}

{% tab title="Static IP" %}
If you want to configure multiple Promegas with static IP addresses you will have to give the Promegas each a unique IP address that is free on your network with the `M552` command. The machine name does not have to be unique.
{% endtab %}
{% endtabs %}

For additional help connecting to the printer via USB and Network setup, visit the following links:

1. [Duet3D Network Setup](https://duet3d.dozuki.com/Guide/1.\)+Getting+Connected+to+your+Duet/7)
2. [RepRap Firmware G-Code Wiki](http://reprap.org/wiki/G-code)
3. [M3D Support](https://printm3d.com/support)
4. [Duet Forum](https://forum.duet3d.com/): For Duet and RepRap firmware specific questions

## The Web Interface

The Duet Maestro allows control via the Duet Web Console. We highly recommend connecting to your Promega via your network so that you can make use of this! Follow the guide below to learn more about the Duet Web Console. If you have not yet connected your printer to your network, follow the [Network Setup](/getting-started/setup-your-network#network-setup) guide.

### The Duet Web Console

![Duet Web Console](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfUQO_ZFNgtaAUG%2FEMt1FnpmLEIPvcwG-DWCHomepage.PNG?generation=1531199023057375\&alt=media)

The web console is divided into two halves. The top half features functions to monitor and analyze the status of your printer. The bottom half focuses on control of your printer and configuring its settings.

#### Status

The status part of the web page indicates various readings to describe the current state of your printer.

#### **Tools & Temperature**

On the left half is a table that allows you to monitor the temperature of the different tools as well as the bed. The temperature readings are important to keep track of. With the table as well as the graph you can keep track of all the temperatures of the components of your 3D printer.A value of 2000 C for any of the components in this table indicates problems with a temperature sensor.

![Temperature Readings](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfXtgUvZnoh4nNy%2FjM1k1cnqkQqtQ02c-TemperatureReadings.png?generation=1531199035933377\&alt=media)

By clicking on the text-fields of the tools in the table you can change the temperature of the tools. Press enter to update the temperature. You should see a slow increase in temperature. The *Active* column represents the temperature of a tool when it is **selected**, the *Standby* column represents the temperature of a tool when it is **not selected ,** but was previously selected. It is best to have a low standby temperature for a tool, so it does not heat up unexpectedly.

By clicking on the tool names in the *Tool* column you can change your currently selected tool.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH5Ab2tKP-n9GUAaFhT%2F-LH5Af1K0EFowNXnmmgy%2FSelectedandnotselectedtools.png?alt=media\&token=2522835f-1b86-4130-a9f7-a4000fb5d3bd)

The temperature graph provides helpful insight of the temperature of your tools and bed over time. This can be helpful to spot oscillations in temperature, as seen in the image below, or heater faults and other issues.

![Temperature Chart](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfZ-j1gSBXNzgLF%2F2Yy87ZXFGgiuJLAp-TemperatureChart.PNG?generation=1531199023491583\&alt=media)

**Machine Status**

The machine status tab includes the position information of the printer. The head position information displays where the printer currently thinks it is. This is very important to keep track of to minimize the risk of crashing the printer. The X, Y and Z values represent the different axes of the 3D printer. Normal values for these fields are listed below in this table.

|          | Axes Limits |          |
| -------- | ----------- | -------- |
|          | Max (mm)    | Min (mm) |
| X - Axis | 388         | 0        |
| Y - Axis | 388         | 0        |
| Z - Axis | 377         | 0        |

The extruder drive values can vary greatly as you perform prints. The voltage in value is helpful as it can help you figure out electrical problems. Optimally it should remain near 24V when none of the printer components are running. The Z-probe value is important as well. This value will change whenever either Z-probe, the limit switch or the IR probe, is toggled. Testing the Z-probe before running probing or leveling commands (such as `G30`, `G32` or `G29`) is extremely important and can prevent crashes. When the Z-probe is not toggled the value should rest near 0.

![Machine Status](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0XeLWtcukNnQ8F%2F38yr6g32YDtJmfdM-MachineStatus.PNG?generation=1531199033172185\&alt=media)

### Control

In order to control your printer, the bottom half of the web console features 6 different tabs on the bottom left side with different features. These tabs allow you to visit different functions of the printer as well as send commands.

**Machine Control**

![Machine Control](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1eZPmrYrNvJXlE%2FZ81QrJdADnqOrI0d-MachineControl.PNG?generation=1531199034269791\&alt=media)

The Machine Control tab features different buttons in order to control different assemblies of the printer. This feature is helpful to load filament or move the extruder carriage to a specific point in the printer. Be careful with using these buttons as it can crash the printer. Remember the direction that you will send an assembly toward as you press these buttons. Pressing the positive Z buttons will send the bed downward, and pressing negative Z buttons will send the bed up.

**Print Status**

![Print Status Screen](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeBRkMGsLCRxba2T%2FJsgIIZGuUS48ntAX-PrintSettingsScreen.PNG?generation=1531199049189636\&alt=media)

The print status tab is helpful when printing. It includes all kinds of information to analyze during a print. Use the Z Baby Stepping window to change the offset of the nozzle to the bed during a print. Use the Speed and Extrusion factors to change the speed and extrusion rate of the print. These settings can be very helpful to get the first layer to stick, but be careful as these settings can damage your print quality. Use the pause button to temporarily stop the print. Once you pause the print you can resume or stop the print. This screen will also display other statistics during a print such as layer time and length of filament used.

**G-Code Console**

![G-code Console](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zhfgj4aFi6o_kE0_%2FLevFlUcsim14bJH0-GcodeScreen.PNG?generation=1531199024128420\&alt=media)

The G-code console is a vital to an experienced 3D printing user. This tab allows you to enter any RepRap Firmware supported command. The printer will execute any command entered here and print feedback and errors. Visit the [RepRap Firmware G-Code](https://reprap.org/wiki/G-code) website to learn more about all possible G-codes. Be careful when entering G-code commands as the printer will execute whatever you command you send it.

**G-code Files**

![G-code File Screen](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfiMzBjoxAU4hko%2FVuHUkSyxberFYaKj-GcodeFileScreen.PNG?generation=1531199030859950\&alt=media)

This tab is used to upload G-code files to the Duet board. Use the *Upload G-code File(s)* button in order to upload a *.gcode* file to the printer in order to print it. Click on an uploaded file in order to print it. You also have the ability to create directories here in order to organize your files. This is a great idea if you have a 8Gb microSD card.

**Macros**

![Macros Screen](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfkNiFrE-1x4FeI%2FFewjngk0Vnk3rcgd-MacrosScreen.PNG?generation=1531199021275765\&alt=media)

User defined macros are stored in this tab. Use the dark-blue *Upload Macro File(s)* button to upload *.gcode* macro files. Macros are useful when you find yourself repeatedly performing a sequence of G-code commands. You can easily put these commands into a macro file and upload it here. Click a macro file in order to execute it.

**Filaments**

![Filaments Screen](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfmZ6lJpuOxi6Dn%2FDLsUOxIdsMTdJsar-FilamentsScreen.PNG?generation=1531199049701306\&alt=media)

Utilize this tab in order to define printer filament settings. This can also be performed in Slicer Software.

**Settings**

![Settings Screen](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhfoWgfrDFXCn8iR%2F726GgiGpHUGtD2Tt-SettingsScreen.PNG?generation=1531199036557363\&alt=media)

**This tab is one of the most important**. This tab allows you to change the *sys/* directory in your SD card and define other user settings. Whenever the guides in the future reference a change that is necessary to the system files such as *config.g* or a *machine.g* file, you can change the files in the settings tab. The Settings tab includes more tabs:

* General: Includes firmware and web console information
* User Interface: Change the look and feel of the Duet Web Console
* List Items: Includes web page suggested options
* System Editor: A very useful tab to change files in the *sys/* directory of your microSD card. **You will find the** ***config.g*** **file here as well as other system G-code files.**
* Machine properties: Defines properties of the different drives (motors) of the printer.
* Tools: Defines the properties of the tools.

### Additional Resources

* Duet3D Wiki: [Duet Web Control Manual](https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#main)
* [Duet Web Control GitHub Repository](https://github.com/chrishamm/DuetWebControl)

Continue on to the [Updating SD Card Structure](/getting-started/updating-sd-card-structure), the next chapter in the [Getting Started](/getting-started) guide.


# Updating SD Card Structure

While your printer was being shipped, it is possible that a new SD card structure was released. More explanation of the SD Card files can be found in the next guide. To ensure that you have the latest files on your SD card, please follow the guide below.

## M3D Release SD Card

The latest SD card files released by M3D can be found on the [M3D Github ProMega Repository](https://github.com/PrintM3D/Promega). Follow the steps below in order to download the latest version for your printer. Always be careful when downloading the latest version of the SD card files. New SD card files can cause unintended results such as flipped motor directions or wrongly configured heaters. **Always test all motors and heaters carefully before printing after downloading a new update.**

Read the [Accessing Your SD Card](/getting-started/setup-your-electronics#accessing-the-microsd) for more help on getting to the SD card files.

Read the [SD Card Structure](/documentation/software-firmware/sd-card-structure) guide for more explanation on the files and directories on the SD card.

{% tabs %}
{% tab title="Downloading Directly from the Repository" %}

## Downloading Directly from Repository

This option is not always recommended, but it will allow you to get the latest configuration files, regardless of official release. Once you have found and opened the [M3D Github ProMega Repository](https://github.com/PrintM3D/Promega). Press the *Clone or download* button circled below and then click *Download ZIP*. This will download a *.zip* file of the repository.

![Downloading from Github](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZpDCgVXoCR00_bne%2FS8Aq28iyeh4lW9WW-howtodownloadgithub.png?generation=1531199059354120\&alt=media)
{% endtab %}

{% tab title="Downloading Official Release" %}

## Downloading Official Release

This is the recommended option.

Go to the [M3D GitHub Promega Repository Releases](https://github.com/PrintM3D/Promega/releases) and download the latest release. Download the *.zip* folder for the extruder head that you currently have mounted. The Promega can come with either the K'tana (two nozzles) or the compound (1 nozzle).

![Downloading the Latest Release](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHANTdIrulQfDrOavk_%2F-LHAOZfCWtwhTl3TgWe2%2Fwheretoinstallnewsdstuff.png?alt=media\&token=88825df0-e6bb-43b6-8386-e6baf38faeda)
{% endtab %}

{% tab title="Downloading Pre-Release" %}

## Downloading Pre-Release

Go to the [Public M3D Google Drive](https://drive.google.com/drive/u/0/mobile/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w?usp=sharing).

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5aQqbLsfVd9eVfcGr%2F-LQ5cWpilBGqt2orB0Cr%2Fpublic%20google%20drive%20root.PNG?alt=media\&token=43f529ec-a76b-435b-8c20-00e83832e2a0)

Click ***ProMega***.

Click ***Public SD Release***.

Browse through the releases. Choose one.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5aQqbLsfVd9eVfcGr%2F-LQ5cYwk3jLe8riC4NCe%2Fsd%20release%20list.PNG?alt=media\&token=53426362-7494-4fd9-b937-0d80796e821f)
{% endtab %}
{% endtabs %}

## Extracting the Folder

A *.zip* file is a compressed folder. You will have to first extract the file before you can get to it's contents. Find the file you just downloaded and extract it into a folder. Right click the file and then select *Extract All*. This will move all the files in the compressed file into a folder. You can now access the new SD card files.

![RZHiyY0qCUmtoUtP-ExtractingTheZip.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZpDQExC_MrMVHdcq%2FRZHiyY0qCUmtoUtP-ExtractingTheZip.png?generation=1531199060037245\&alt=media)

## Moving the Files onto the SD Card

**Back-up your SD card files before updating so you can always revert to your original settings**. Now that you have access to the files, locate the *SD Card Structure* folder in the folder you just extracted. This folder will have two folders *Compound* and *K'Tana*, select the folder based on what nozzle you currently have mounted on your printer. In both of these folders are the files you want to copy to your microSD card. This should be four folders: *sys, gcodes, macros* and *www*. Plug in the microSD card into your computer with the microSD card reader and copy the files onto it. Your SD card should look like this. Using WinDiff or a similar program to distinguish differences between the latest SD card release and your files might be a good idea.

![Fv3qaHUEgAGLL4np-SDCard.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZpDbtB4by_gSw1ar%2FFv3qaHUEgAGLL4np-SDCard.png?generation=1531199052333010\&alt=media)

## Testing and Tuning

Once you have updated the SD Card files on the microSD card. Test all your motors and heaters one by one to ensure the new settings are compatible with your wiring and board. If you changed any settings in your previous configuration, you will have to add these settings and commands in your new updated version. If any of the motors or heaters are flipped, [this guide](/how-to-troubleshoot/common-troubleshooting/help-my-extruders-are-backwards) will help.


# Getting Started: Where to Go From Here

Now that you have completed the Getting Started guides. You are ready to go. Consider reading the following guides as you learn more about the Promega and its functionalities.

* [Duet3D G-code Wiki](https://duet3d.dozuki.com/Wiki/Gcode): All supported G-code commands
* [Duet Maestro Wiring](/documentation/electronics/duet-maestro-wiring): Explanation of the Wiring of the Promega.
* [Updating SD Card Structure](/getting-started/updating-sd-card-structure): How to update the SD card structure.
* [Macros](/documentation/software-firmware/macros): Learn more about macro files and how they can make your life easier.
* [Repair Guides](/repair-and-maintenance): The chapter that can fix all your problems (hopefully).
* [Maintenance Guides](/repair-and-maintenance): Maintain the printer!


# Beginner's Guides


# Read This First

Before starting the Beginner Guides guides, please complete the following steps to ensure your printer is working properly and is connected to your local network.

1. Read the [Critical Warnings](/getting-started/critical-warnings-and-information) in the Getting Started chapter of the Promega. This contains useful and important information about what to do and (more importantly) what not to do with your Promega.
2. Follow the [Unboxing & Assembly](/getting-started/unboxing-and-assembly) and [Mechanical Check](/getting-started/check-your-printer) guides. This will make sure your printer is ready to go.
3. Complete the [Network Setup](/getting-started/setup-your-network) guide in order to connect your Promega to your local network.
4. Continue on to the next guide!

​


# Your Extruder

## Know Your Extruder

### Setup 1: Mixing Compound

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJaUQc6Kh6j0-wCgGkn%2F-LJaNjmJjYC9JZqy4r_9%2FIMG_0966.JPG?alt=media\&token=47516afa-86e6-4828-aece-157a08a1fc11)

### Setup 2: Single K'tana

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJaUQc6Kh6j0-wCgGkn%2F-LJaN805uC5ESx4GZ7dI%2FSingle.JPG?alt=media\&token=b92ccb98-2236-4193-b659-9241e4ace235)

## Load Filament

### Move Extruder Toward Center

```
G90
G1 X200 Y200
```

The block above is called G-code. Enter the G-code above.

#### Method 1: How To Input G-code

Search for Text Bar.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_pXkgMC3Z0_oNJCWM%2F-LJ_w5Gi99KvU0FsbA9r%2FMainpage%20Text%20Bar.PNG?alt=media\&token=299625a1-371f-46c3-9261-6221801a167d)

Input ONE (single) line of G-code.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_w_YTHGeYb-zhIPXb%2F-LJ_x26dCZrACMADaSQn%2FSample%20Mainpage%20G-code%20Input.PNG?alt=media\&token=5ddc1d56-6dc9-4e8b-b0b9-7c40b2110ce7)

Hit Enter or press Send button.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_w_YTHGeYb-zhIPXb%2F-LJ_xlxLic0pwtJb0aSc%2FMainpage%20Send.PNG?alt=media\&token=d5a8f2f5-db59-4184-9376-15a4e2874beb)

#### Method 2: How To Input G-code

Go to G-code Console tab.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_w_YTHGeYb-zhIPXb%2F-LJ_y2zt2XIIPhQAmKJ_%2FG-code%20Console%20tab.PNG?alt=media\&token=16d8a3ff-4e6a-462c-a730-579e6831b67f)

Search for Text Bar.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_w_YTHGeYb-zhIPXb%2F-LJa-By8R--KWMlQ7wOX%2Fgcode%20console%20text%20bar.PNG?alt=media\&token=de591f16-c0fc-4d05-a1e4-f996cdc5f4a6)

Input ONE (single) line of G-code.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_w_YTHGeYb-zhIPXb%2F-LJa-_UsR6lPXySNa6cb%2Fgcode%20console%20input%20.png?alt=media\&token=ad1995da-d994-4a4f-b27c-607331ca37d6)

Hit Enter or press Send button.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_w_YTHGeYb-zhIPXb%2F-LJa-cLH9K676lwbJflk%2Fgcode%20console%20send.png?alt=media\&token=cdabb87c-d22b-402c-a1cc-9275821c7b7a)

### Heat The Nozzle

#### Mixing Compound

Select Mixing.

Check whether it is selected.

![SELECTED (Focus on the UNDERLINE)](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa-mPCDOAf7HGvNCTI%2F-LJa0X9aguyCRlu_PfWV%2Fmixing%20tool%20selection.PNG?alt=media\&token=28ad823d-a55d-4213-a26b-15a0cb5145a3)

![NOT SELECTED (Focus on the UNDERLINE)](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa-mPCDOAf7HGvNCTI%2F-LJa0yPOd74yRQQzQ-6I%2Fmixing%20tool%20not%20selected.PNG?alt=media\&token=365acdfc-efbe-4592-ac85-13428fae8b77)

Type 205.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa-mPCDOAf7HGvNCTI%2F-LJa08Yu_g4gfDvr5VhP%2Ftemperature%20input.PNG?alt=media\&token=b8e99c1e-d391-4ba1-94ea-4759ab0ce734)

Hit Enter.

Wait until it reaches temperature.

#### Single K'tana

Select the right or left side

Type 205.

Hit Enter.

Wait until it completely heats.

### Catch The Filament

Locate filament entrance.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJaUQc6Kh6j0-wCgGkn%2F-LJaTMfdbaouOg4ZL1Ri%2Fentrance%20location.JPG?alt=media\&token=098350ac-4642-413a-ad66-cd48a9f11bab)

Locate Extruder Control

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKOFwRK6W2D0zs-nKFK%2F-LKOGDUksj-GRF5A7sEL%2FExtruder%20control%20location.PNG?alt=media\&token=3e0bc3c1-11bf-49f9-b3f3-059195440052)

Press 10 Feed Amount Button

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJaUQc6Kh6j0-wCgGkn%2F-LJaU7G97GenqQaMvNID%2F10%20feed%20length.PNG?alt=media\&token=86bce18b-2e13-4f1b-b31e-8feb45d28c34)

Insert Filament

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJaUQc6Kh6j0-wCgGkn%2F-LJaTh7s5ulffUkdb_gz%2Ffialement%20entrance.JPG?alt=media\&token=58a21398-8868-45e4-bf7e-3b754cda0af5)

Press Extrude Button

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_pXkgMC3Z0_oNJCWM%2F-LJ_ruJ6uIznt3T34udi%2FExtrude.PNG?alt=media\&token=1515bb4d-6c9e-491f-a5f2-3d9dbb20d97d)

Moderately press filament into entrance.

Release when filament is pulled.

#### Mixing Compound

Make sure both filaments are caught.

**WARNING:** Do not continue to next step until BOTH filaments are caught. This will cause **a clog**.

#### Single K'tana

Make sure the heated side (left or right) has the filament.

### Extrude

Press 100 Feed Amount Button

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_pXkgMC3Z0_oNJCWM%2F-LJ_sDiqRk2u-haJWsfU%2F100.PNG?alt=media\&token=9b857f75-c629-4c0d-9545-40dcc73d6170)

Press 5 Feedrate Button

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_pXkgMC3Z0_oNJCWM%2F-LJ_rxbQ3GBrrCUe5Vnp%2F5.PNG?alt=media\&token=d1d001c6-6d0a-42e6-aea8-e0da17210e2a)

Press Extrude Button

Wait for the filament to extrude.

You are ready to set up your bed.&#x20;


# Homing The Printer

Before you start printing or moving any component of the Promega, we recommend homing the printer. Follow the steps below in order to home your printer. Prior to homing your printer check that the gantry and bed are able to move freely and access the limit switch. This guide assumes you have connected to the Promega as outlined in [Network Setup](broken://pages/-LOshvboTbWC-C0o-1ky).

### Printer Axes

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH4SBiKeKRrvYc-SnnI%2F-LH4SwDvBMh5Xz_2oVJh%2Fpromegacoordinateaxes.jpg?alt=media\&token=2e85daad-d732-487d-bc66-4206627b2e64)

In order to control the Promega it is important to understand the axes of the printer and their orientation. As you can see in the image above the X axis spans across the front of the printer from left to right if you are facing the front of the printer. The Y axis is pointing from the front to the back and the z-axis is pointing down. Remember these axes directions as you jog the printer with the *Machine Control* tab in the [Duet Web Console](broken://pages/-LOshvboTbWC-C0o-1ky#the-web-interface).&#x20;

{% hint style="info" %}
**Positive Z is DOWN**

**Negative Z is UP**
{% endhint %}

The origin of this coordinate frame is in the top-front-left corner of the printer. This can be seen at the intersection of the three red axes of the 3D printer in the image above.

### The Homing Process

Follow the steps below to correctly home your printer.

#### Checking the path

To ensure that the printer homes correctly, we recommend moving the CoreXY gantry manually to the limit switches located in the back right corner when the motors are not powered. If you need to power down the motors you can use the G-code command `M84` to stop the idle hold of the motors. Watch out as this will disable **all** motors, and could cause the bed to drop. Remove all items from inside of the printer before homing. The PTFE filament tubes on the extruder carriage cable assembly should be clicked in place (shown in the image below), or they could cause problems when homing the X-axis.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ9q1HXjw09n5rMfTi7%2F-LQ9pmK9q-a2OIZqDlAX%2Fpic1.jpg?alt=media\&token=a5898f22-344d-4a04-b621-034a937d757e)

Move the coreXY gantry against the Y-limit switch, listen for the click of the limit switch.&#x20;

{% hint style="warning" %}
Be careful not to move the extruder carriage past the limit switch tab.

It could break off.
{% endhint %}

Then move the coreXY gantry against the X-limit switch.

Make sure the bed is resting on the Z-limit switch and that there is nothing underneath the bed.

### Homing the Printer

{% hint style="info" %}
We recommended you tune the Z homing of the printer:

Once after receiving of your Promega.

AND

Any time you make changes to the relative distances of the bed and the nozzle&#x20;

* Bed glass installation
* Nozzle replacement
* Extruder swap (K'Tana vs. Compound)&#x20;

See details on this process at [Tuning the Z Homing Procedure](/beginners-setup-guides/homing-the-printer#tuning-the-z-homing-procedure).
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ9q1HXjw09n5rMfTi7%2F-LQ9pqzLdOLRJZCj4vbT%2Fhitting%20x%20limit%20switch.gif?alt=media\&token=2988528d-0db4-4f1a-a5c8-bb0dfaa43b41)

You are now ready to home the printer. There are multiple ways to initiate the homing process. You can press the *Home All* button located in the *Machine Control* tab of the Duet Web Console. You can also send the G-code command G28. These two operations will both execute the same file *homeall.g*, located on the microSD card.

The CoreXY gantry should move toward the Y-limit switch located at the back of the printer first. Once it has hit that limit switch, it will move toward the x-limit switch. Next, the bed will lift itself up and back down slowly, until it has hit its limit switch.

Now all axes are homed. Remember that your motors are now powered and you will not be able to move any of the assemblies by hand. Use the `M84` command to temporarily disable idle hold current on your stepper motors, allowing you to move the motors. Your (0,0,0) is located at the top-front-left of the printer.&#x20;

### Tuning the Z-homing Procedure

**Because the distance between the bed and the nozzle depends on your Promega configuration (K'tana vs. Compound, Glass vs. no glass). You will have to tune** ***machine\_zendstop.g*** **for Z0 to line up.**

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ9q1HXjw09n5rMfTi7%2F-LQ9ptFwSCR0FU-eLFYz%2Fhoming%20button.png?alt=media\&token=9089a098-2359-4a3c-b482-8faa4361c94c)

Ideally whenever you home the printer and send the command `G1 X0 Y0 Z0` (telling the printer to go to (0,0,0)) the print bed will touch the nozzle. However, as outlined above, the difference between the bed and the nozzle varies depending on your setup.&#x20;

#### Follow the steps below to update your *machine\_zendstop.g* file.

Home the printer if you have not already done so in the section above.

Send the command

```
G29 S2
```

This will disable bed leveling. Bed leveling can conflict with your homing value.

Move the printer to Z10 with the command

```
 G1 Z10
```

Move the printer head to the center with

```
 G1 X200 Y200
```

Jog the bed up the nozzle with the buttons in machine control until the bed is touching the nozzle. Use the *Z1mm* and *Z0.1mm* buttons. Remember that you are about 10mm away from the nozzle.

Once the bed is properly touching the nozzle record the Z-value in *Machine Status* on the Duet Web Consol&#x65;*.*&#x20;

{% hint style="info" %}
This value will be used in the next step.
{% endhint %}

Open the *machine\_zendstop.g* file in the *Settings* tab of the Duet Web Console. This file is called during the homing process of the Z-axis. Find the `G92` command at the end of the file. This command sets the z-axis height.

Update this value with the following formula:

$$
new value = OldValue - SavedValue
$$

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ9q1HXjw09n5rMfTi7%2F-LQ9pvl3CE4q5tyMJ50b%2Fz%20step%20buttons.png?alt=media\&token=cf2078f4-3398-4773-850e-1838991cc0a1)

#### For example:&#x20;

If the *machine\_zendstop.g* file currently contains the command

```
G92 Z376.4
```

and I obtained a value of -0.6.&#x20;

My new value would be 377mm:&#x20;

$$
377= 376.4 - (-0.6)
$$

I would remove the current command and enter:

```
G92 Z377
```

Save the file.

#### Next Step

Open the *machine\_axisdimension.g* file in the *Settings* tab of the Duet Web Console. This file defines the minimum and maximum dimensions of each axis and will be affected by changes to the z-axis end stop.

Find the second `M208` command at the end of the file.The one that says `Set axis maxima` in the comment.

Change the Z value to be the Z end stop value determined above, rounded up to the next integer.&#x20;

#### **For example:**

&#x20;If the Z end stop is ***376.4***, the maximum Z needs to be ***377***.

If the Z end stop is ***377.2***, the maximum Z needs to be ***378.***

If the Z end stop is ***379.0***, the maximum Z needs to be ***379*** (no rounding).

**Save the file and home the printer again.**&#x20;

{% hint style="warning" %}
Although you should now be able to enter the command `G1 Z0`, I don't recommend it.&#x20;
{% endhint %}

**Manually jog your bed to the nozzle again to ensure that Z0 is when the bed is touching the nozzle.**

Continue on to the next phase: [Get Your Bed Ready](/beginners-setup-guides/get-your-bed-ready).


# Get Your Bed Ready

## Setup Your Bed

### Setup 1: Print Bed Sheet

Clean the bare surface (no oil or dust)

Remove some of the adhesive cover from the Bed Sheet.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKNyvLUCrz9WulVcHTG%2F-LKO7VFFWI2LBOcxNzPF%2FIMG_0972.JPG?alt=media\&token=41fbf839-1bef-4368-9f0b-524ca60d4c9c)

Pick the front left corner.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKNyvLUCrz9WulVcHTG%2F-LKO7XBGKKyYrpd0mtlO%2FIMG_0973.JPG?alt=media\&token=e3014c1d-be20-4d16-8225-245809ef9330)

Stick the corner of the Bed Sheet to the bed.

![NOT ALIGNED](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKNyvLUCrz9WulVcHTG%2F-LKO7w_-qyZ3bMO572db%2FIMG_0974.JPG?alt=media\&token=90025855-bb6c-4acc-9605-3051f388c54e)

Line up the edges.

![ALIGNED](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKNyvLUCrz9WulVcHTG%2F-LKO81tD6jAVjO0bQIY_%2FIMG_0975.JPG?alt=media\&token=8820f629-8fb0-4890-a198-adb4dca6ff47)

Slowly press the Bed Sheet corner into bed.

Check the edges line up (again).

Continue pressing down the rest of the Bed Sheet in a WIPING motion.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKNyvLUCrz9WulVcHTG%2F-LKO91sNJdNcEmPn8k3i%2FSwivel%20motion.JPG?alt=media\&token=37e1eadf-2c0e-4d75-a503-c72640a0fb3a)

Check the edges line up (again).

Remove the rest of the adhesive cover.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LKNyvLUCrz9WulVcHTG%2F-LKO8CB4Xuyb_ZdRyurp%2FIMG_0976.JPG?alt=media\&token=79644bee-332b-42a0-88aa-80d10b0c4431)

Finish sticking the rest of the Bed Sheet in a WIPING motion.

### Setup 2: Glass Bed

Pick a position.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa_jv3x0odWAcExkt9%2F-LJa_Ob35VDkpNeK0fdS%2Fclamp%20location.JPG?alt=media\&token=e57134a6-207e-400c-9e01-c1c49cf8c946)

Get Glass Bed Clamp

Open Glass Bed Clamp with a flathead screwdriver

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa_jv3x0odWAcExkt9%2F-LJaWCEWOLbUzCFL5g2h%2FFlathed%20with%20clamp.jpg?alt=media\&token=017f547c-fde7-4ed7-b42e-284cc0ced76d)

Lay & Align glass bed onto the bed.

Clamp bed.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa_jv3x0odWAcExkt9%2F-LJaXDo2NIjfXKR-NWpL%2Fclamp%20bed%20one%20position.jpg?alt=media\&token=8e5d5d9c-3ecc-4acc-a773-1f3df8abc784)

Slide clamp all the way in.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJa_jv3x0odWAcExkt9%2F-LJaY0yYFnUiK3-6nGK_%2Fassets%252F-LH1ZPQUJrjMM5Ql5c--%252F-LH1Za_0zE3Gc48IOTMt%252F-LH1ZngP3eBLYhHp3Nxe%252Fgu5WeuO3pjG0H88H-slideonclamps.gif?alt=media\&token=b24187e5-330c-4de3-a475-b2b94ab44f8e)

Repeat until all positions are clamped.

## Setup Bed Probe

### Press Home All Button

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_cekAUx0V5Rkityxl%2F-LJ_ch-eKSytxmjJAq6r%2FHomeAll.PNG?alt=media\&token=0bce84b3-798d-47dd-8db9-574b1d9c7686)

### Send the extruder toward center

```
G1 X187 Y154
```

#### Minor G-code Lesson

G1 = Linear Movement

X### = X position

Y### = Y position

Z### =  Z position

### Heat The Bed

```
M140 S60
```

#### Minor G-code Lesson

M140 = Set Bed Temperature

S### = Bed Temperature ( Celsius)

### Code Inputs

```
G31 P999 X-40 y28.5 Z0
G29 S2
M564 S0
```

Wait for bed to reach its temperature.

#### Engage Bed Probe

![DISENGAGED](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_TfzexUp2sz3M0-hZ%2FDisengaged%20Bed%20Probe.JPG?alt=media\&token=387e3d6a-9bb5-4b07-a700-657aa2a712ca)

![ENGAGED](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_TJuNi9rJ_pxAuH7b%2FEngage%20Bed%20Probe.JPG?alt=media\&token=b39f6e17-af00-42a9-9f4e-1be2017e84f3)

#### Move Bed To Position

```
G1 Z15
```

### Probe

```
G30
```

###

#### Disengage Bed Probe

#### Move Bed Closer

```
G1 Z0
```

### Move Bed To Nozzle

Use these two buttons to move the bed up.

![Ignore the yellow home blocks (for now).](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_UlEu-ytpplmyTgw5%2FZ%20Buttons.PNG?alt=media\&token=96e12395-7b1b-4229-8132-30ce5d9ea564)

Switch to the smaller 0.1 mm step when you get close to the nozzle

### Record Z offset

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkXLhZlYUowwwbDeN%2F-LPbkcDEPCPX0-Tu9snW%2FZ%20Offset.PNG?alt=media\&token=4907c525-911d-48da-a650-adcf5423fa08)

### More Code Inputs

Replace ### with the Z offset number from the last step.

The number is POSITIVE ONLY.

```
G31 P999 X-40 Y28.5 Z###
M564 S1
```

#### Move Bed To Position

```
G1 Z15
```

###

#### Engage Bed Probe (Again)

### Probe (Again)

```
G30
```

###

### Disengage Bed Probe (Again)

###

### Check nozzle height

```
G1 Z0
```

The bed should be about a paper sheet away from the nozzle.

### Save Into SD card.

Go to the System Editor tab under Settings

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_XBQo2wn6ltJUGCHT%2FSystem%20Editor.PNG?alt=media\&token=77bf6888-12da-46ae-b96f-819c006ac883)

Look for "machine\_zprobe.g" (and click)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_XbCpVerE_os6GMwh%2FMachine_zprobe.PNG?alt=media\&token=f36d23f7-b5b1-471b-b46f-a71ff1e0d081)

Go to the last line of code.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_Xy_0X4_h7-CkbEnD%2FG31Line.PNG?alt=media\&token=cb1827a3-8eae-4025-b19d-ccb341febd8c)

Replace the Z### (e.g. Z0.95) with your new Z offset number (POSITIVE ONLY).

Save changes.&#x20;

Done.

## Map The Bed

{% hint style="info" %}
Also known as: ***Bed Compensation***
{% endhint %}

### Note:

Assumption: Your bed probe has been setup.&#x20;

### Home Printer

![HOMED](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_YlvvzXsfxlgnTfT8%2FHomed.PNG?alt=media\&token=0dc48277-8f88-42e5-9091-24f5610d7b16)

![NOT HOMED](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_YqUYhsJfbksm01Uv%2FNot%20Homed.PNG?alt=media\&token=1604bb89-742b-4a8f-8ba4-d13f6f9f47a6)

### Heat The Bed

```
M140 S60
```

### Move Bed To Position

```
G1 Z15
```

###

#### Engage Bed Probe

### Probe

```
G30
```

### Read The Bed

```
G29
```

Wait for the probing to finish.

Check for any signs of green.&#x20;

* There should be some green.
* If not, your bed probe is NOT setup.

![Example: Proper Use of Mesh Compensation](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ_QqQjwN1fzb-mPkBE%2F-LJ_bkHl3kcK0XChNQ1I%2FHeightmap.PNG?alt=media\&token=d2a7ea96-440c-44f3-b101-2dd038d5a7ca)

Click close.

#### Move Bed Away

```
G1 X187 Y154 Z100
```

###

### Disengage Bed Probe

You are ready to print.


# Running A Print

Running a print is best done using the Duet Web Console. To connect to your Duet via a network, visit the [Network Setup](broken://pages/-LOshvboTbWC-C0o-1ky#network-setup) guide. For an introduction on the Duet Web Console visit the [Accessing Web Interface](broken://pages/-LOshvboTbWC-C0o-1ky#the-web-interface) guide.

This guide assumes you have properly configured your printer with all the previous guides. That means:

* You have homed all axes of your printer
* You have configured your Z-probe offset
* You have run and enabled mesh bed leveling
* You have loaded filament into the extruder

## Uploading the Print

In order to print something from the Duet board you must first upload the print to the Duet Board. This can be done via the Duet Web Console or by ejecting the SD card and uploading it with a computer.&#x20;

**Uploading a print via the Duet Web Console is the easiest way**.&#x20;

{% hint style="info" %}
To print on the Duet board your print must have a *.gcode* file extension.&#x20;

To create a G-code file you must slice a model with a slicer. Look at the [What is Slicing?](/advanced-setup-guides/what-is-slicing) guide for guidance on how to create a *.gcode* file.
{% endhint %}

### **Uploading via Duet Web Console**

![The Gcode Upload Button](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJKvRYSgPi9YCoq9TP%2F-LHJMO42BCgUjNoJGmEP%2Fuploadinggcodefiles.png?alt=media\&token=41704a18-a635-42fe-942f-46ba13cc223e)

First, we will have to upload the G-code file we produced in the previous guide.&#x20;

Connect to the Duet Web Console on the printer.&#x20;

Then, press the *G-code Files* button and then press the *Upload G-code File(s)* button as shown in the image above. This will open a window which will allow you to select the G-code file you sliced.&#x20;

*Open* your preferred file and wait for it to upload.

### **Uploading via microSD**

Power off your printer with the blue power switch.

Remove your microSD card from its slot on the Duet board by pressing it into the board.&#x20;

{% hint style="warning" %}
Be careful as the microSD slot on the board is fragile.
{% endhint %}

Insert the microSD card with microSD card reader into your computer.

Open up the drive and select the folder *gcodes*. Upload all the *.gcode* prints you want into this folder.

When this has completed, safely eject the card and insert it back into the Duet board.

Power on the printer and reconnect to the Duet Web Console.&#x20;

You should now be able to see all your prints in the *G-Code Files* tab on the console (shown in the image above).

## Printing the File

Once the file is uploaded, you can click the file in order to print it. A window will pop-up confirming that you are about to print something. Click *Yes.*

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJKvRYSgPi9YCoq9TP%2F-LHJOTh2YY8lAkMkWcyu%2Fprintingthegcodefile.png?alt=media\&token=9489e4ca-ad7f-4cec-bd54-d8a214adc48c)

## Monitoring Prints

Once you have selected a file to print it you can view the prints progress in the *Print Status* tab.

![JsgIIZGuUS48ntAX-PrintSettingsScreen.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeBRkMGsLCRxba2T%2FJsgIIZGuUS48ntAX-PrintSettingsScreen.PNG?generation=1531199049189636\&alt=media)

With various buttons on this screen you can manipulate your print. This can help in certain cases.

### Speed Factor

Change the print speed with the ***Speed Factor*** slider, on the right. This can be helpful to slow down your print during tricky parts, such as the first layer.&#x20;

### Z Baby stepping

With the ***Z Baby Stepping*** buttons you can change the height of the Z during a print. This is very helpful to improve first layer stick during a print.&#x20;

### *Extruder Factors*

***Extruder Factors*** sliders can be used to change the flow rate of the extruders.&#x20;

{% hint style="warning" %}
Exercise caution when using these controls, improper use can quickly ruin your print.
{% endhint %}

### Print Statistics

Aside from these controls the Duet Web Console displays, a heap of cool statistics such as Layer time and length of filament required.&#x20;

{% hint style="info" %}
Remember that these statistics are estimates!
{% endhint %}

### Pause

At any point during a print you can pause the print with the orange ***Pause Print*** button. This will execute a file on the microSD card called *pause.g*.&#x20;

This will remove the extruder head from the print, and retract filament but keep the temperature steady.&#x20;

You will then be able to execute G-code commands.&#x20;

{% hint style="warning" %}
Be careful as you can easily damage your print and printer if you move the extruder into the print.&#x20;
{% endhint %}

### Resume

Whenever you want to continue printing you can press ***Resume***. This will execute *resume.g*.&#x20;

### Cancel

If you want to stop your print, you can press the *Cancel* button. This will execute *stop.g.*

This file is also called at the end of a print.

Continue on to the phase: [Common Terminology](/beginners-setup-guides/common-terminology).


# Common Terminology

The Duet Web Console includes a tool system. Tools allow you to quickly change between different extruder configurations. For example, if you were printing with your right K'Tana nozzle but wanted to start printing with your left K'Tana nozzle, you can change tools. The default SD configurations released by M3D on the [Promega GitHub repository](https://github.com/PrintM3D/Promega) enable a number of tools depending on your mounted extruder head (K'tana or Compound). The guide below includes an introduction to tools and how to use them.

## What are tools?

A tool is a defined extruder setup. A tool will be configurated to use a specific extruder motor or motors at specific speeds. If you are printing with the compound hotend, you will have a tool that allows for mixing 50% on each side as well as two tools that extrude with only one extruder (left and right). If you perform the correct setup in your slicer, you can switch between these tools while printing. In order to switch between tools you can enter the command `Tnnn`, where `nnn` is the tool number. If you wanted to switch to tool 1, you can enter the command `T1` in the G-code Console. The tools can be viewed in the top right corner of the Duet Web Console. An underline will indicate which tool is currently selected.

> Before you can start heating up a hot-end you will have to select the appropriate tool. Read the *Tools and Temperature* section below for more information.

## Default Tools

### K'Tana Tools

The K'Tana extruder head features two different filament inputs and outputs. This allows you to print with two different materials and switch while printing. This allows for some really neat and complicated prints. Below is a list of the predefined tools 1. Tool 0: "Ktana Single Left": Uses just the left extruder to print 2. Tool 1: "Ktana Single Right": Uses just the right extruder to print

### Compound Tools

The compound extruder allows you to mix two different filaments coming in. There are three different default tools for the mixing configuration. 1. Tool 0: "Mixing": A Tool that prints with both extruders at a 1:1 ratio. 2. Tool 1: "Mixing as Single Left": A tool that prints with just the left extruder. 3. Tool 2: "Mixing as Single Right": A tool that prints with just the right extruder.

## Tools & Temperature

The temperature table on the Duet Web Console includes textfields for both Active and Standby temperatures of the extruder. The active temperature represents the temperature, in degrees Celsius, that the tool will go to when it is selected. **If no tool is selected, no nozzle will heat up**. This is the case whenever a print is cancelled. The firmware will deselect all tools. To gain temperature control again, select your desired tool. The standby temperature is the temperature the tool will go to when it is not selected, but was previously selected. This is useful for printing with the K'tana to avoid long heat-up times in between filament switches or collisions with the print.

> Currently there is a bug in RepRap firmware with extruder movement. The feedrate of a 50/50 mixing extrude only move will extrude sqrt(2) slower than the given `F` parameter.

A Note about High Temp nozzles:

> High temp nozzles are NOT intended for use with low temp materials, like PLA. High temp nozzles are specifically designed for use with self-lubricating high temp materials, such as nylon. High temp nozzles differ from standard/low temp nozzles most importantly in the inner coating. The low temp nozzles have a coating to reduce friction of the low temp materials that is not compatible with the high heats of the high temp nozzles. High temp nozzles do not have this coating, and because of this, low temp materials will not print well and may clog frequently or flow poorly. In general, only use the high temp nozzles with materials that require a high temp for printing.

## An Introduction to G-Code

G-code is frequently used programming language to control machine tools, such as a 3D printer. G-code is sent to the printer and promptly executed by a control board, in the Promega's case, the Duet Maestro. What each G-code command does depends on the firmware type the board is running. The Promega runs Reprap firmware, you can find an in-depth list of all supported G-code commands on the [Duet3D Wiki: G-code](https://duet3d.dozuki.com/Wiki/Gcode).

G-code commands are sent and interpreted one line at a time. G-code commands typically include a letter followed by a number. In RepRap firmware the first letter of a command will usually be a `G`, `M` or `T`. This letter will then be followed by a number. Together, a letter and number specify a command. For example, `G1` is the move command. However, there is little you can do with just the move command `G1`. So the initial command is typically followed by sequences of letters and numbers called parameters. For example `G1 X100 Y200`, which will move the printer to the 100mm X and 200mm Y position. `X100 Y200` are both parameters in this case. Use the guide below to get an introduction to the most important and useful G-code commands to have as a beginner. There are many more G-code commands that RepRap firmware supports. Be sure to use the link above to continue learning new G-code commands.

### Important G-Code Commands

* `M112`: Emergency stop, will stop all heaters and motors. A reset with `M999` or power cycle will be required.
* `M999`: Reset the board. This has to be done after the board is emergency stopped or an error has halted the boards operation.
* `G0 & G1`: Move motors or axes, these are the primary movement commands of many printers. There is currently no difference between `G1` and `G0` for RepRap firmware. These commands are followed by parameters to identify distance, feedrate and motors to drive. `G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn`
  * `X, Y` and `Z` represent the different axes. `nnn` represents the distance to travel along that axis.
  * `E` represents an extruder motor. The extruder motor distance is specified just like the X, Y and Z parameters. `E50` will move the extruder to the 50mm position.
  * `F` Allows you to specify a feedrate in mm/s. Feedrates vary greatly depending on whether you are printing or travelling.
  * `S` Enables or disables the endstop check. If the endstop is toggled while moving the printer stops, the `S1` flag enables detection, `S0` disables detection.
* `Tnnn`: Tool select G-code. Where `nnn` defines the tool
* `M106 Snnn`: Turn on fans with speed `nnn`. `nnn`    can be a value between 0 and 255. For older versions of *config.g* `M106 P2 Snnn` will enable fan control.
* `G30`: This command allows a single Z-probe at the current location. The z-probe should be properly configured before sending this command. Follow the [Z-Probe Calibration & Bed Leveling](/advanced-setup-guides/bed-leveling-and-probing) guide for more explanation on this topic.
* `G29` : This command runs the bed leveling procedure. Please properly deploy the Z-probe prior to sending this command, use the link above.


# Advanced Guides


# Printer Assemblies

This guide will cover a significant amount of technical knowledge and terms. The different assemblies of the Promega will be mentioned frequently in the sections below.

List of the core Promega Assemblies:

* **Extruder Assembly**: This heats up and prints the filament. It is also referred to as the extruder carriage. This uses the coreXY system in order to travel in the X and Y plane.
* **CoreXY Assembly**: A belt system that allows the extruder carriage to travel on a plane along the X and Y axes.
* **Z-platform**: A heated bed that is actuated up and down with belts along the Z-axis.
* **Electronics (not shown):** Located on the back of the printer. Includes the Duet Maestro, the "brains" of the Promega.

![Promega Assemblies](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0PJ6pzL2_V1ciO%2FvOPGfUn48DwPQItF-differentpromegaassemblies.jpg?generation=1531199026427958\&alt=media)

![The Duet Maestro Board](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH50v58bccizQG_K47j%2F-LH51pqx8aD6Uh_PadRQ%2Fduetboard.jpeg?alt=media\&token=16c8c9a7-b565-4ea1-b25f-dc17658df45c)


# Printer Coordinates

In your math classes you have probably heard the term: *Cartesian Coordinates*. This intimidating term is not as bad as it sounds. It refers to the 3D coordinate system that is used almost every where, including the Promega. It features three different axes (X, Y and Z), all perpendicular to each other, as seen in the image below. The origin of the cartesian system is located at the intersection of the three different coordinate axes. At this point, the X, Y and Z position are all zero.

![Cartesian Coordinates](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0RDc-UmToa_SqR%2FSr0Rn4a7z2yugmQq-cartesiancoordinates.png?generation=1531199033524466\&alt=media)

In the case of the Promega, the cartesian coordinate frame is used to track the location of the nozzle. The nozzle can be considered a point that can be moved along the X, Y and Z axes in the printer. The nozzle is moved in the X and Y directions with a coreXY belt system and in the Z-direction with the z-platform. The orientation of the cartesian coordinate frame is not the same as in the image below. Look below to see the cartesian coordinate frame in the Promega.

![Promega Coordinate Axes](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0T9VWRjoBZy1N_%2FYvqKiQjoAclZqEtX-promegacoordinateaxes.jpg?generation=1531199019415304\&alt=media)

**The Origin**

The origin of the Promega is located at the front-top-left corner of the printer, where the three red lines intersect. If the printer moves to X0, Y0 and Z0, or (0,0,0) it will end up in this corner. The position of the nozzle of the printer is measured from this point. As mentioned before, the printer moves in the X and Y direction with the a coreXY belt system, which we will go over later. The Z-axis works differently, instead of moving the nozzle away from the bed, the Promega moves the bed away from the nozzle. The nozzle is always located on a single plane which it can be moved across by the coreXY system. The Z-axis distance value increases as you move the bed **down**, away from the nozzle, and the distance decreases as you move the bed **up**, toward the nozzle. This might be counter-intuitive at first, as a normal oriented cartesian coordinate frame will have the Z-axis pointing up, but you will get used to it quickly.

**Coordinate Units**

The Promega 3D printer uses millimeters as units. All the commands given to the printer will be in millimeters. For example, if you told the printer to go to (200, 380, 150) or 200 mm in the X direction, 380 mm in the Y direction and 150 mm in the Z direction it might look something like in the image below. The distances are measured from the origin of the Promega, depicted by the circle in the image below.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0VLK9cP18ViQ7m%2FIOP8d6U0jgqzev9r-promegacoordinateaxesexample.jpg?generation=1531199028425932\&alt=media)

**Machine Status**

The Duet control board will keep track of its current position relative to its origin. Again, the origin is where the X, Y and Z position of the 3D printer are 0. The position of the printer can be found in the Duet Web Console on the top-right in a table labeled *Machine Status*. This can be seen in the image below where the printer displays a position of 300 mm in the X-direction and 300 mm in the Y-direction and 159.1 mm in the Z-direction. Remember that this is all relative to the origin of the printer.

![Duet Web Console Machine Status Table](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0XeLWtcukNnQ8F%2F38yr6g32YDtJmfdM-MachineStatus.PNG?generation=1531199033172185\&alt=media)


# Moving The Motor

## Manually Move Motors

Before you power on your motors, you can manually move the extruder head around the printer.&#x20;

Follow the steps below in order to start moving the printer:

Move the extruder head to the center of the printer by hand. This should not take a lot of effort to do as long as the motors are not powered.&#x20;

{% hint style="warning" %}
Do Not manually move any motors ***QUICKLY***. You could damage your electronics.
{% endhint %}

Once you move the motors, the motors will be powered and resist any force acted on them.

Go to the *Machine Control* tab of the Duet Web Console.

![Machine Control Tab in Duet Web Console](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0_jF_hnxuYJdRr%2FZ81QrJdADnqOrI0d-MachineControl.PNG?generation=1531199021281233\&alt=media)

Press *Home All*, this will home all the axes of the printer and ensure that the origin of the printer is located at the front-top-left corner of the 3D printer.&#x20;

After the homing process is complete, you can see that the position of the 3D printer is updated in the *Machine Status* tab on the Duet Web Console.

Press the X-10 button in the *Head Movement* window.&#x20;

This will move the extruder carriage of the printer 10mm in the negative X direction, this should be towards the left if you are facing the front of the printer.&#x20;

Now press the Y-10 button.

This will move the printer -10 mm in the Y-direction. If you are facing the front of the printer, this should send the extruder carriage towards you.&#x20;

You can also press the Z buttons, but remember that the bed is all the way down and resting on the limit switch after the homing process.&#x20;

You will have to move the bed in the negative Z direction in order to move it up.&#x20;

Press the Z-10 button in order to move the bed up 10 mm.

You can keep pressing the buttons to move the extruder carriage to become more familiar with the directions and coordinate system of the Promega.

## **Absolute vs. Relative**

A 3D printer movement allows for two different modes, absolute and relative.&#x20;

These two terms are also used frequently in machining and other engineering processes.

### Absolute

&#x20;Absolute describes a position or command with respect to the origin or zero position.&#x20;

{% hint style="info" %}
The Promega origin is located in the Top-Left-Front corner.&#x20;
{% endhint %}

Run this to enter Absolute mode.

```
G90
```

&#x20;**For example:**

Tell the printer to move (20,20,20).&#x20;

```
G1 X20 Y20 Z20
```

Absolute mode will send the printer to the point where X = 20 mm, Y = 20 mm and Z = 20 mm.

If you told it again to go to (20,20,20) it would just stay there. The Duet would say: I am already there!

### Relative

Relative describes the position of a 3D printer relative to the previous point the printer was located at.&#x20;

Run this to enter Relative mode.

```
G91
```

&#x20;**For example:**

Tell the printer to move (20,20,20).&#x20;

```
G1 X20 Y20 Z20
```

Relative mode will send the printer 20 mm in the X-direction, Y-direction and Z-direction relative to its previous position.&#x20;

&#x20;If you told the printer to move (20,20,20) again, the printer will move 20 mm in the X, Y and Z directions for the second time.

#### This is the difference between absolute and relative.

#### Your printer will go to two completely different places depending on if you are in relative or absolute mode.


# Introduction To G-Code Commands

Now that you are familiar with the coordinate system of the Promega, its orientation and direction, we can get started with learning and sending G-code commands. G-code commands are sent one line at a time, with one command per line. When you send a print file to your printer in order to print something, you are sending the printer a long list of G-code commands. It will look something like this (but way longer!):

```
G1 X173.448 Y182.05 E0.03872
G1 X173.922 Y181.843 E0.03871
G1 X174.422 Y181.712 E0.03868
G1 X174.883 Y181.662 E0.0347
G1 X178.301 Y181.524 E0.256
G1 X183.787 Y181.051 E0.41207
G1 X189.186 Y180.278 E0.40816
G1 X194.553 Y179.196 E0.40972
G1 X197.18 Y178.55 E0.20245
G1 X202.457 Y177.012 E0.41134
G1 X208.239 Y174.993 E0.45832
G1 X208.864 Y174.84 E0.04815
G1 X209.841 Y174.699 E0.07387
G1 X210.32 Y174.665 E0.03594
G1 X240.74 Y174.665 E2.27649
G1 X241.414 Y174.733 E0.0507
G1 X242.865 Y175.031 E0.11085
G1 X243.362 Y175.174 E0.0387
G1 X243.641 Y175.293 E0.0227
G1 X244.676 Y175.79 E0.08592
G1 X245.287 Y176.169 E0.05381
G1 X245.992 Y176.719 E0.06691
G1 X246.435 Y177.134 E0.04543
G1 X247.028 Y177.801 E0.06679
G1 X247.379 Y178.274 E0.04408
G1 X247.842 Y179.028 E0.06621
G1 X248.113 Y179.576 E0.04575
G1 X248.46 Y180.476 E0.07218
G1 X248.633 Y181.098 E0.04831
G1 X248.792 Y181.998 E0.06839
G1 X248.843 Y182.581 E0.0438
```

#### **Basic Commands**

The command, `G1`, you are see above is called the move command. This is arguably the most important G-code as it allows you to move the printer. Each G-code command consists of a letter followed by a number. `G31`, `M564` and `T0` are all valid G-code commands as well. The Duet Maestro control board runs [RepRap Firmware](https://reprap.org/wiki/RepRap_Firmware). This firmware determines what commands are valid, and which commands are not. You can find all the valid commands that you can send in a long list on the [RepRap Wiki G-codes Page](https://reprap.org/wiki/G-code). After the initial letter-number combination of the G-code command a parameter can follow. This is also visible with the G-code commands listed above, the command `G1 X248.843 Y182.581 E0.0438` has `X248.843 Y182.581 E0.0438` as parameters. Many different G-code commands have optional parameters that can be entered after the initial command.

#### **Absolute vs. Relative in Commands**

With the `G1` command you can move the printer. However, where the `G1` command moves your printer depends on whether you are in absolute or relative mode. Absolute mode is enabled whenever you send the command `G90`, relative mode is enabled when you send the command `G91`. Whenever you are printing absolute mode is typically enabled. If you restart your printer, absolute mode will also be enabled. If you send the command `G1 X150 Y120 Z100` in absolute mode (`G90`), the printer will move to the position X = 150mm, Y = 120mm and Z = 100mm, **relative to the origin**. If you send the same command in relative mode (`G91`), it will send the printer 150 mm in the positive X-direction, 120 mm in the positive Y-direction and 100 mm in the Z-direction relative to where the printer currently is positioned. The same command can send the printer to two completely different places depending on what mode you are in. As you saw in one of the commands above, the move command, `G1`, can also have an `E` parameter, this allows for a movement of the extruder motor.

#### **Feedrate**

Aside from the `X`, `Y`, `Z` and `E` parameters which allow the printer to move each of the motors, there is one other important parameter `F`. `F` is the feedrate of the motor, or is simple terms, the speed that the motor will travel at. The units of the `X`, `Y`, `Z` and `E` parameters is mm. However for `F` or feedrate the units are `mm/min`. A normal travel feedrate (speed) would be 3000mm/min, but for printing the feedrates are typically much lower.

#### **The Movement Buttons**

In one of the steps above you used the buttons in *Machine Control* to move the printer. What is really happening here is that when you press a button a list of G-code commands are sent to the printer. For example, if you press the X+10 button to move the printer 10mm in the positive X-direction this is what is actually sent:

```
M120
G91
G1 X10 F6000
M121
```

You might be familiar with two of the G-code commands here `G91` and `G1`. `G91` enables relative mode, so the next move command that is sent will be with respect to the printers current position and not the origin. After the `G91` command, the move command `G1` is sent. This sends the printer 10mm in the positive X-direction at a feedrate of 6000mm/min. The `M120` and `M121` commands are stack push and pop. If you are not familiar with these two programming terms, then don't worry, they are not important to know for a beginning user. All you have to know is that it will disable relative mode `G91` and return to absolute mode `G90`. This is because you want the printer to be back in absolute mode after pressing the move buttons.

#### **Sending G-code Commands**

Now that you are more familiar with G-code commands you can try to complete the steps below in order to see how the printer responds to you sending G-code commands directly to the printer itself.

Find the *G-code Console* tab in the Duet Web Console.

![G-Code Console in the Duet Web Console](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0q6a_a6c7C45LU%2FztLRwbqq28r8iD6G-howtogcode.png?generation=1531199018978023\&alt=media)

This tab allows you to send commands to the printer using the textfield as seen above. Once you enter a command in the text field you can press *Enter* or press the dark-blue send button. The printer will then process the command and execute it. If the command executed successfully you will see a print out of the command you send in the *Printer Printout* terminal with a green background. If the firmware encountered an error while trying to process the command, it will printout the command with a red background and more information about the error. 3. This step assumes you have the printer homed from the previous steps. If you have not yet homed your printer, click the *Home All* button in the *Machine Control* tab. Try sending the command `G1 X200 Y200`. This will move the printer to 200 mm X and 200 mm Y. Send the command `G1 Z150`. This will move the bed to about 150 mm from the nozzle. 4. You can keep sending commands to move the printer around the build space. The table below represents the limits of the printer, the firmware should prevent you from going past these limits. Still, try to keep your move commands within the build space of the printer. You can also try to change the feedrate of the printer to see how the speed of the printer changes as the printer moves around.

|          | Axes Limits |          |
| -------- | ----------- | -------- |
|          | Max (mm)    | Min (mm) |
| X - Axis | 388         | 0        |
| Y - Axis | 388         | 0        |
| Z - Axis | 377         | 0        |

#### **Other G-code Commands**

Of course there are many more RepRap supported G-code commands (as you might have seen on the [RepRap Wiki](https://reprap.org/wiki/G-code)). You will come across some of them as you follow this guide. Whenever you have questions about what a command does, you can look up the command in the wiki.

Throughout the different guides you will find G-code in `this format`. That typically means you can execute the G-code command. Comments are denoted by any text following a semi-colon ";". A new line will end the comment.

`G1 X100 ; This is a comment!`


# Meet The Extruder

Next, we will move on to one of the most important assemblies on the Promega, the extruder! This complicated assembly can reach temperatures above 300°C in order to melt plastic and print it.&#x20;

The extruder assembly contains a fan directly on the front, this is called the *Cold-Section Fan*. It is meant to keep the extruder block, directly behind it, cold.&#x20;

{% hint style="warning" %}
If the extruder block gets too hot, filament could start melting before the filament ever reaches the nozzle.&#x20;
{% endhint %}

Next, there are two smaller fans called *Nozzle Fans*. These are meant to cool any filament that is pushed out of the nozzle so that it becomes rigid.&#x20;

On the right of the nozzle fans is a small electronics board called the *IR Probe*. This probe uses Infra-Red rays in order to detect the bed.&#x20;

On the left of the extruder is a small deploy-able limit switch, this is also a Z-probe. Z-probes are used in order to measure the exact distance from the nozzle to the bed. They are also used in order to level the bed of the printer as printing requires a very flat and level surface.

&#x20;You can view the image below to see a diagram of the different extruder components.

![Extruder Diagram](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0wuL4mtS-qq8G6%2FtWuIKdXJXmBQtlkR-ExtruderDiagram.jpg?generation=1531199026381770\&alt=media)

## Tools

Tools are a relatively new concept in 3D printing. They allow you to create different extruder configuration ahead of time that you can quickly switch between while printing.&#x20;

The Duet Maestro board uses tools in order to allow printing with multiple extruders, or mixing extruders. The Promega actively makes use of this in order to print with:

* ***Compound Mixing***: Different tool mixing ratios
* ***Single K'Tana***: Dual nozzle prints&#x20;

You can find your currently configured tools in the Duet Web Console in a table labeled: *Tools/Heaters/Extra* on the top-left.

![Single K'Tana Tools & Heaters](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf0zF0TOPfI5-xAc%2FisG07qzBSQn1uMYl-Toolsheatersextra.PNG?generation=1531199026855947\&alt=media)

![Compound Mixing Tools & Heaters](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQA9R_-nsE2GvPiecyz%2F-LQABKq6KAXXFlLoxsR3%2Fcompound%20tools.PNG?alt=media\&token=383920f1-666d-4c00-8846-022d885a6a81)

In the image above there are two different tools.&#x20;

### What is a Tool?

In RepRap firmware, tools are defined as `Tnnn`, where `nnn` represents a tool number. In the image above there are tools T0 and T1. Each tool has it's own extruder motor attached to it, or multiple if you are mixing.&#x20;

A tool also has one heater attached to it. All these tools are defined and configured when the printer powers up with G-code commands, we will go over how exactly that works later.&#x20;

### Tool Setups

Below are the default tools for the Compound and K'Tana setups. In order to select a tool you can either click on the tool name in the Duet Web Console or you can send the command `Tnnn` where `nnn` represents the tool number.&#x20;

If you wanted to switch to tool 0, you would send the command:

```
T0
```

The Duet Web Console always shows you which tool is selected: it will underline the tool name. In the image above T0 is selected.

#### Compound Tools:

* `T0`: Mixing tool
  * Extruder 0 (Left) & Extruder 1 (Right)
  * Heater 2
  * Allows for extruding two filaments and combining them at a 1:1 ratio
* `T1`: Single Left
  * Extruder 0 (Left)
  * Heater 2
  * Extrudes with only the right extruder
* `T2`: Single Right
  * Extruder 1 (Right)
  * Heater 2
  * Extrudes with only the left extruder

#### K'Tana Tools:

* `T0`: K'tana Single Left
  * Extruder 0 (Left)
  * Heater 1
* `T1`: K'tana Single Right
  * Extruder 1 (Right)
  * Heater 2

In the future, if you find that none of your extruders are working, or an extruder you didn't expect to be running is running, chances are you have the wrong tool selected. Use the `Tnnn` command in order to select a tool with number `nnn`.

## Filament Properties

There are many different filament types used in the 3D printing industry, a [Google search](https://www.google.com/search?q=3d+printing+materials\&oq=3d+printing+materials\&aqs=chrome..69i57.3072j0j1\&sourceid=chrome\&ie=UTF-8) will prove that. They vary in material, diameter and many other properties.&#x20;

#### The Promega allows you to print with 1.75mm diameter filament.&#x20;

The Promega can also print many different materials, but if you are a beginner we recommend ABS-R or PLA. These two materials tend to be easiest to print with.&#x20;

&#x20;Printing temperature varies greatly depending on what material you are printing with.

{% hint style="info" %}
&#x20;Please do appropriate research before attempting to extrude a new filament.&#x20;
{% endhint %}

#### For example:

PLA prints well at around ***200°C***&#x20;

ABS-R prints well at around ***230°C***

Follow the section below in order to get started with extruding.

## Loading Filament

To load filament into the extruder, you will need to find two small holes on the top of the extruder assembly. 1.75mm diameter filament can be loaded into this opening.

![Where to Load Filament in the Extruder](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZdkqaijZuxsy-ByQ%2FvVXaGHDXJdPGevZE-wheretoloadfilament.jpg?generation=1531199004785860\&alt=media)

It will then be grabbed by the extruder motor and pushed down into the hot-end.&#x20;

{% hint style="info" %}
The hot-end term refers to the pieces of the extruder which will heat up in order to melt the plastic.&#x20;
{% endhint %}

In the Promega's case, that is the nozzle and the aluminum block surrounding it. Once the filament is melted in the hot-end it will come out of the nozzle.&#x20;

### Compound Mixing Loading

The compound nozzle will have two holes to allow entry to two different filaments. It then melts both filaments and combines them to produce one stream of filament coming out.&#x20;

### Single K'Tana Loading

The K'Tana has two different nozzles and therefore each filament will get extruded out of separate nozzles.&#x20;

### How To Load

To load filament,  follow the steps below.

Move the extruder to the center of the printer by entering the command:

```
G90
```

```
G1 X200 Y200
```

Next, heat up the nozzle.&#x20;

There are multiple ways to heat up the nozzle to your desired temperature. Use the:

G-code Commands ([move to here](/advanced-setup-guides/meet-the-extruder#loading-filament-g-code))

OR

&#x20;Duet Web Console (continue on)

{% hint style="info" %}
Heating up tools with the Duet Web Console is the easiest.&#x20;
{% endhint %}

In the table *Tools/Heaters/Extra* on the Duet Web Console, enter the desired temperature in the circled box below (your *Current* reading should not have a value of 2000°C, 2000°C is an error value).&#x20;

![5ZrDbCfga5AOnZ6B-inserttemperature.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1JzfCDlfS0LwRW%2F5ZrDbCfga5AOnZ6B-inserttemperature.png?generation=1531199026321864\&alt=media)

Once you have entered the temperature press Enter. You should now see a steady rise in temperature in the *Current* box and on the graph to the right.&#x20;

{% hint style="info" %}
The temperature you set should depend on the filament you are planning to extrude.
{% endhint %}

Once the extruder has reached it's set temperature you are ready to load your filament.&#x20;

Take the filament and insert it into the opening circled in red in the image.

![Where to Load Filament in the Extruder](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZdkqaijZuxsy-ByQ%2FvVXaGHDXJdPGevZE-wheretoloadfilament.jpg?generation=1531199004785860\&alt=media)

For a ***Compound Mixing  nozzle***, you will have to load filament into ***both openings*** in the extruder.&#x20;

For a ***Single K'Tana nozzle***, you will only have to load filament on ***one opening*** in the extuder.&#x20;

Now, on the Duet Web Console go to the *Machine Control* tab in order to move the extruder motors. In this tab there is a box called *Extruder Control*.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQA9R_-nsE2GvPiecyz%2F-LQAF3qmz47uZVuZAGgC%2Fimage.png?alt=media\&token=0fc26308-0d50-448e-9f1d-23923e2ba2bd)

Here you can select the extruder you want to control and how much filament you want to extrude and at what speed.&#x20;

If you have the ***Compound Mixing nozzle***, set the ***Extruder Drive*** settings to ***Mix**,* in order to get both extruder motors to push filament.&#x20;

If you have the ***Single K'Tana nozzle*** , set the ***Extruder Drive*** settings to ***Drive 0 or 1***, depending on which side you loaded filament into.&#x20;

The *Feedrate amount* should be set to 10mm and the *Feedrate* to 5mm/sec. You can then press *Extrude* this should move the filament into the extruder. It could be possible that you have to push the filament properly into the opening until the extruder grabs it.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQA9R_-nsE2GvPiecyz%2F-LQAF2F_CfVQn0qp9tlW%2Fimage.png?alt=media\&token=429b38ac-7483-474d-8178-293a478dfc6b)

Once the filament is inside the extruder keep pressing *Extrude* until filament comes out of the nozzle. You can increase the *Feed amount* to 50mm or more to decrease the times you have to press *Extrude*.

#### Congratulations!

You have just created your first print! It probably looks like a long stream of filament, but that counts, right?&#x20;

You can keep pressing the *Extrude* button for as long as you like, or you can move on to the next section.

## Loading Filament (G-Code)

The steps that you accomplished above in order to extrude filament can also be done with G-code commands. Follow the steps below in order to learn more G-code commands.

1. Select your appropriate tool with `Tnnn`. For example, tool 0 with `T0`.
2. Turn off the heat to your tool by sending the command `G10 Pnnn S0`. `G10` allows you to set a tool temperature. The `P` parameter and `nnn` represents your tool number that you want to change the temperature of. `Snnn` is the temperature of the tool. So by setting the temperature to 0 the tool is turned off.
3. If you wanted to turn the temperature of a tool back on you would have to enter the command `G10 P0 Snnn` where `nnn` is your new tool temperature. The `G10` `S` parameter only sets the **active** temperature of a tool. This means the tool will only go to that temperature when it is selected or active.
4. If you wanted to extrude 100mm of filament at a feedrate of 20 mm/sec you could enter the commands below. Remember that you should zero your extruder first before telling your extruder to move. This is because your extruder could have a very high position in mm, for example 10291mm. If you then tell the extruder to move to the absolute position of 100mm. The extruder will have to travel 10191mm backwards, and that will take a long time! You can also turn on relative extruder moves with `M83`, and then you would not have to zero the extruder as it just adds 100mm to the position the extruder is already at.

```
G92 E0
G1 E100 F120 ; Remember that Feedrate is in terms of mm/min!
G92 E0
```

```
M83 
G1 E100 F120
M82
```

To retract, pull filament back into the extruder, send a negative extruder position. Like `G1 E-100 F3000`.

## Alternative Commands to Heat

Throughout your printing career with the Promega you will notice other commands to heat up your nozzle. `M104` and `M105` can also be used to heat up your tools.

`M104 Snnn`: Heat up your active tool to `nnn`°C.

`M109 Snnn`: Heat up your active tool to `nnn`°C and wait until temperature is achieved.

`M140 Snnn`: Heat up your bed to `nnn`°C.

`M190 Snnn`: Heat up your bed to `nnn`°C and wait until temperature is achieved.

There are even more commands to heat up your extruder. The `G10` command allows you to heat up any tool including when you don't have the tool selected. This command can be useful when you are attempting to change the temperature of tools while they are not selected. The command `G10` allows you to change the temperature or offset of a specific tool.

`G10 Pnnn Xnnn Ynnn Znnn Rnnn Snnn` :

* `Pnnn` : Represents the tool number of the tool you are attempting to change the temperature or offset of.
* `Xnnn` , `Ynnn` and `Znnn` : Represent the X, Y and Z offset of the tool
* `Rnnn` : The tool's standby temperature. Or the temperature of the tool when it is not selected, but was previously active.
* `Snnn` : The tool's active temperature. Or the temperature of the tool when it is selected.

Example: `G10 P1 X10 Y0 Z0 R120 S230` , This will set the offset of tool 1 to 10mm in the positive X direction. It will also set the active temperature of the tool to 230C and the standby temperature of the tool to 120C.

The `G10` command is especially useful for mixing and switching prints.


# Heating The Bed & Nozzle

## Heating Modes

### Active

An "Active" heater means:

1. The tool associated with the heater is ***selected and is tool used to print***. All other tools will display a "standby" message below their heater (even if its the same heater).
2. The heater ***can*** start heating, to given active temperatures.

### Standby

A "Standby" heater means:

1. The tool associated with the heater is ***not selected***.
2. The heater ***can*** start heating to given standby temperatures.

### Off

An "Off" heater means:

1. The tool associated with the heater is ***not selected***.
2. The heater ***cannot*** start heating.

### Fault

A "Fault" heater means:

1. The tool associated with the heater is ***not selected***.
2. The heater ***cannot*** start heating.
3. The heater will not change to a different state, unless the fault is addressed.&#x20;
4. See [Heater Troubleshooting](/how-to-troubleshoot/heater) page for help.

## **Heating: The Bed**

### Using The Web Interface

Look the "Bed" row.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPCvow6SrIu0pHkM31z%2F-LPCyLx1sw4jbN87wE7c%2Fbed%20row.png?alt=media\&token=5123b451-a029-4044-8f7c-4e41f5a9f6b2)

The bed only has two states: Active or Off.

Enter desired temperature.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPCvow6SrIu0pHkM31z%2F-LPCyNqJ_LWBJ18o_8AD%2Fbed%20temp%20enter.png?alt=media\&token=33013671-2231-4ee4-931e-e892c1359bfe)

Hit "Enter" key.

### Using G-Code

#### There are two ways to heat the bed: Fast or Slow

1. Definition of ***Slow***: Set the bed temperature. All future G-code commands ***will not be*** executed immediately. It will wait until the bed reaches temperature.
2. Definition of ***Fast***: Set the bed temperature. All future G-code commands ***will be*** executed immediately.

Navigate to the "G-Code Console" Tab

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPCvow6SrIu0pHkM31z%2F-LPCwbr18dUSv-IcX-e6%2Fgconsole%20location.PNG?alt=media\&token=1bba2e5a-e9b9-49ca-9d8d-62e1ed5aecab)

#### Input Code (Slow):

```
M190 S75; This sets the bed temperature to 75 C
```

#### Input Code (Fast):

```
M140 S75; This sets the bed temperature to 75 C
```

## Heating: The Nozzle

### Using The Web Interface

Look for the desired tool.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPCvow6SrIu0pHkM31z%2F-LPCyj8gzTyqNXThe84h%2Ftool%20rows.png?alt=media\&token=b9f0f3a8-e564-42a5-9560-48e08d4a5fe7)

Choose a mode: Active or Standby

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPCvow6SrIu0pHkM31z%2F-LPCyhn6UnwfgjDfnsjQ%2Ftemp%20state%20columns.png?alt=media\&token=80e6c79f-b319-4bda-8042-759e108f74fd)

Enter a number.

Hit "Enter" key.

### Using G-Code

#### There are two ways to heat the extruder: Fast or Slow

1. Definition of ***Slow***: Set the extruder temperature. All future G-code commands ***will not be*** executed immediately. It will wait until the bed reaches temperature.
2. Definition of ***Fast***: Set the extruder temperature. All future G-code commands ***will be*** executed immediately.

Navigate to the "G-Code Console" Tab

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPCvow6SrIu0pHkM31z%2F-LPCwfD8j7go88_0gqJO%2Fgconsole%20location.PNG?alt=media\&token=2a758924-4273-48c6-b888-40e89289bd3b)

#### Input Code (Slow):

```
M109 S75 T1; This sets the extruder temperature to 75 C. Applies to tool 1.
```

#### Input Code (Fast):

```
G10 T1 R75 S50; This sets the active temperature to 75 C and the standby temperature to 50. Applies to tool 1.
```


# Loading & Unloading Filament

## Loading Filament

1. Heat up the nozzle to the temperature required for the specific filament you are about to load (ABS-R: \~230C, PLA: \~200C). Use the Duet Web Console's Tools/Heaters/Extra table to heat up the specific nozzle. For more guidance on heating up your nozzle, follow [this guide.](/advanced-setup-guides/heating-the-bed-and-nozzle)

   ![ZzzciCea9XJ9Ev9A-heatingbed.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZcKwCD2ltCzn8x4N%2FZzzciCea9XJ9Ev9A-heatingbed.PNG?generation=1531199043008231\&alt=media)
2. Send filament through the entrance of the PTFE tubes located at the back of the printer.

   ![mPkv4PqN42WrQYYk-PTFEEntrance.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZdkoCH0ME9xAc-U3%2FmPkv4PqN42WrQYYk-PTFEEntrance.jpg?generation=1531199048563284\&alt=media)

   The filament will go through the cable chain housing and come out at the end of the cable chain at the extruder assembly. It is not necessary to feed the filament through the filament tubes in order to print.
3. Guide the filament into the holes in the extruder (pictured below). Push the filament about one inch down so you are pressing the filament against an extruder gear located inside. You can unclip the PTFE tube holders if necessary.

   ![vVXaGHDXJdPGevZE-wheretoloadfilament.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZdkqaijZuxsy-ByQ%2FvVXaGHDXJdPGevZE-wheretoloadfilament.jpg?generation=1531199004785860\&alt=media)
4. **If you are using the compound nozzle you must load filament into both sides of the extruder or use the PC plug included.** You must load filament into both sides of the extruder at the same time. If you load filament on only one side, pressure will force molten plastic up the other side of the extruder!
5. Go to the Duet Web Console's *Machine Control* section and find the *Extruder Control* tab. The first few buttons define which extruder drives to use, the next set define the length of filament, the final set the feedrate. For loading filament select the 50mm or 10mm button as well as the 5mm/s button. If you are loading filament into a compound nozzle select *Mix*, for a K'Tana select the proper extruder drive (0 or 1).

   ![yiXjG17aUTppk3jq-extrudercontrol.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zdkt2edhvwy6jlNm%2FyiXjG17aUTppk3jq-extrudercontrol.PNG?generation=1531199043835311\&alt=media)
6. Once your nozzle has reached temperature, press the *Extrude* button until filament is coming out of the nozzle. **Skipping at a feedrate of 5mm/s is normal**, you can reduce the feedrate to 1mm/s to avoid skipping.
7. You have now successfully loaded filament, be sure to clip the PTFE tubes back into place on the extruder. Remove any ooze or printed filament before printing.

{% hint style="info" %}
If you turn your extruder motors off so that they are not holding their position with idle current. You can push the filament through the extruder and right into the hot-end. This makes it possible to manually load filament without powering your extruder motors. **Remember that powering off your motors with the** `M84` **command will power off** ***all*** **motors and could cause your bed to drop.**
{% endhint %}

## Unloading Filament

1. Heat up the nozzle to the temperature required for the specific filament you are about to unload (ABS-R: \~230C, PLA: \~200C). Use the Duet Web Console's Tools/Heaters/Extra table to heat up the specific nozzle. For more help on heating up components follow [this guide.](/advanced-setup-guides/heating-the-bed-and-nozzle)

   ![ZzzciCea9XJ9Ev9A-heatingbed.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZcKwCD2ltCzn8x4N%2FZzzciCea9XJ9Ev9A-heatingbed.PNG?generation=1531199043008231\&alt=media)
2. * Using the *Extruder Control* Tab under *Machine Control* set the filament distance and feedrate to 100mm and 60mm/s respectively. Set the extruder drive buttons to the extruders for which you want to unload filament. For the compound nozzle, select *Mix*. Press *Retract* until the filament is free to be pulled out by hand.
     * It is also possible to unload the filament by hand, without using the motors. This can only be done if your motors are unpowered and the nozzle has reached temperature. To disable the idle current on your extruder motors, send the command `M84`. Remember that this command will disable the idle current of **all** motors. The bed may drop down. Once the extruder motors are powered off, firmly grasp the filament and pull up. In one fast and smooth motion you will be able to pull your filament out.   &#x20;
3. You have now successfully unloaded filament from the printer.

Continue on to the next phase:  [Bed Leveling & Probing](https://m3d.gitbook.io/promega-docs/getting-started/z-probe-calibration).


# The Bed & Probe

The print bed is a very crucial piece on the Promega. When printing on a 3D printer it is important to have an even and level bed relative to your nozzle. This means that your print bed should not have bumps and should be parallel to the plane that the coreXY moves along. This is extremely hard to maintain across a print bed that is almost 400mm x 400mm! When you heat up your heated bed the bed will warp and your print surface will not be level or even. It is important to have a level bed because a 3D printer has to be able to get it's filament to stick to the bed. If the bed is 0.2mm too high the extruder will end up printing in air, and if the bed is 0.2mm too low the nozzle could crash into the bed. So the tolerances are extremely tight! There are multiple things you can do in order to ensure that your bed is as level as possible. First of all you can mechanically level your bed by skipping bed teeth. But this will only get you an accuracy of \~1mm, and that is not enough. Duet Firmware has a bed leveling compensation process that is supported. This is highly recommended for printing large prints! A heated bed is very important to prevent warping of a print and ease first layer adhesion to the build plate. A hot bed can prevent print warping as it keeps the temperature of the first layer at a consistent temperature. A warping print can peel off the heated bed and ruin your print.

## Z-probe Offset

As you might have read previously, the extruder assembly contains two Z-probes. The IR probe, located on the right of the extruder assembly and the Z-probe limit switch on the right side of the extruder. Both of these Z-probes serve the same purpose, zero-ing the Z-axis and leveling the bed. This beginners guide will cover only how to calibrate and use the Z-probe limit switch. **The IR probe is recommended for more advanced users as it tends to be more noisy and inconsistent under the wrong conditions.** The Z-probe limit switch is easier to produce consistent and reliable results with.

**The Limit Switch**

![Z-Probe Deployed (Left) and Retracted (Right)](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1WQd61v85OgtnE%2F5q6VWqBR3PBIj3yk-newZprobe_deployed_not_deployed.jpg?generation=1531199028410500\&alt=media)

Z-probes are extremely useful to zero the Z-axis. This is because the Z-probes typically have a reliable and constant offset from the nozzle. Once you find that offset, you run a G-code command in order to ensure that your print will be successful. The limit switch Z-probe is simply an end-stop attached to a deployable 3D printed mount. In the picture above you can see the limit switch in the deployed state on the left and the non-deployed state on the right. Deploy the limit switch by pressing down on the 3D printed tab and retract the probe by pulling the switch up. It is important for the limit switch to be deployable because the limit switch needs to make contact with the bed whenever you are probing, but it should be out of the way whenever you are printing. Whenever you send the probe command `G30` the bed will move up toward the nozzle until the Z-probe is triggered. When the Z-probe is triggered, the Z-value of the printer is set to the Z-offset of the Z-probe. You can set the Z-offset of the Z-probe with the `G31` command and its parameters.

**Always deploy the switch before probing with commands** `G30` **and** `G29`. This is extremely important, otherwise you **will** crash the nozzle into the print bed as the Z-probe will never be triggered.

**Setting the Limit Switch Offset**

1. Home the printer again, just to ensure you do not crash the printer throughout this process.
2. Print head to the center of the build plate by sending the command `G1 X187 Y154`
3. Heat up the bed to the preferred printing temperature. You can do this by sending the command `M140 Snnn` where `nnn` is your temperature in °C. You can always look up the recommended bed temperatures for specific materials online. For PLA, a bed temperature of 50°C will work well. For ABS-R, a bed temperature of 60°C is recommended.&#x20;
4. Wait until the heated bed has reached temperature before continuing.
5. Set the Z-probe offset to 0 by entering the command `G31 P999 X-40 Y28.5 Z0`. This will make it easier to gauge the distance between the Z-probe and the nozzle in the following steps.
6. Run the command `G29 S2`. This clears any active bed leveling compensation. This is **very** important as it will conflict with your updated Z-probe offset and induce a 0.1 - 0.3mm error depending on the magnitude of your bed leveling compensation at that point. This will be explained in the section below.
7. Deploy your Z-probe  ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9-tl-twQsPTbvol1J%2F-LH903zwWlb0M4dqQ6_Q%2Fdeployingtheprobe!.gif?alt=media\&token=6a52850e-6429-4a0e-88b0-39a58ecbe29b)&#x20;
8. Check whether the Z-probe is functioning correctly. This is a great step to perform before using your Z-probe in order to prevent crashes. Press your Z-probe limit switch and observe the change in value from 0 to 1000 in the Duet Web Console *Machine Status* table in the *Z-Probe* box. If the value does not change the Z-probe is wired or configured wrong, do not continue to the next step!

   ![KWL6DTK3l4pAmrPv-zprobemachinestatus.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1bcjuSavorLpn-%2FKWL6DTK3l4pAmrPv-zprobemachinestatus.png?generation=1531199018842341\&alt=media)
9. Move the bed towards the nozzle by sending the command `G1 Z20`. When you send the command `G30` the bed will move slowly and precisely to the Z-probe, if you send `G30` while the bed is at `Z100` or greater you will have to wait for a long time for the Z-probe to trigger.
10. Run the command `G30`. This will move the bed toward the z-probe until the limit switch triggers. If you don't deploy your limit switch probe, it will never trigger because the bed hits the nozzle. The bed hitting the nozzle is called a crash, if this happens it might misalign your bed and you will have to follow a separate guide to fix the problem.
11. Now your Z0 is set to your Z-probe limit switches trigger height. This is because the Z-probe limit switch offset is 0mm. Now that we have set our Z0 to the trigger height we can move the bed toward the nozzle in order to find the distance between the trigger height of the Z-probe and the nozzle!
12. Retract the Z-probe.
13. Jog the bed up slowly toward the nozzle using the negative Z buttons in *Machine Control* on the Duet Web Console. Read the next step!

    ![Z81QrJdADnqOrI0d-MachineControl.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1eZPmrYrNvJXlE%2FZ81QrJdADnqOrI0d-MachineControl.PNG?generation=1531199034269791\&alt=media)
14. As you are moving the bed up towards the nozzle you will encounter an axis limit. These axes limits are set for the X, Y and Z axes and will stop you from moving past a certain coordinate. This will make it harder to crash the printer. However, in this case we know what we are doing so we can disable the axes limits. Send the command `M564 S0` to disable the axis limits. To learn more about this command visit the [RepRap G-code wiki](https://reprap.org/wiki/G-code#M564:_Limit_axes).
15. **Be careful when moving the bed close to the nozzle. Use the 1mm and 0.1mm buttons.** Determining when the bed is touching the nozzle can be difficult. You might have to heat up the nozzle as you learned before in order to ensure that none of the filament from the hot-end gets in the way. Using a piece of paper to determine when the nozzle is touching the bed is also helpful. Grab a sticky-note or small piece of paper and place it under the nozzle. Then carefully jog the bed into the nozzle, move the paper back and forth. When you feel the nozzle grab the paper your nozzle is touching the bed!.&#x20;
16. Record the Z-value that the printer is currently displaying in *Machine Status*. The absolute (non-negative) of this value is your Z-probe offset. It might be a good idea to write down this value.
17. Enter the command `G31 P999 X-40 Y28.5 Znnn` where `nnn` is your Z-probe offset.
18. Reinstate your axes limits with the command `M564 S1` . This will prevent you from crossing the axes limits again.
19. Move the bed away from the nozzle `G1 Z20`.
20. Deploy your Z-probe!  ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9-tl-twQsPTbvol1J%2F-LH908YARN5n7OprGZ15%2Fdeployingtheprobe!.gif?alt=media\&token=bec49c5b-1200-4c16-859e-c63ae0349609)&#x20;
21. Send the command `G30`.
22. Move the bed back up to the nozzle as described in the steps above. Your Z value should be 0 when the bed is touching the nozzle. If it is not you might need to tune the Z-probe offset or repeat the process.
23. In order for these changes to take effect permanently, you will have to open up your *machine\_zprobe.g* file and update the Z-offset of the `G31` command there, just like you did in the . Follow the steps below to make this change.
24. Whenever you power your printer on and off, it will wipe all commands previously entered on the board. Whenever you start the Duet board, it will run a file called *config.g.* This file contains all kinds of different commands and settings that it has to load on start-up in order to work. You want your `G31` command with your offset to be added to this start-up sequence. This will prevent you from having to follow the steps above continuously.&#x20;
25. Go to the *System Editor* in the *Settings* tab on the Duet Web Console and open the *machine\_zprobe.g* file and find the `G31` commands. You will note that there are two of them.
26. One of the commands will have a `;` in front. This denotes a comment, and thus that command will not take effect when the file is run. One of the `G31` commands configures the offsets for the IR Z-probe and the other for the limit switch Z-probe. The comments should indicate which one is what. Fix the Z-probe Z-offset of the limit switch. Your `G31` command might look like the command below (`nnn` represents your Z-probe Z-offset,  ):  `G31 P999 X-43 Y25 Znnn ; Set Z probe (limit switch) trigger value, offset`

**Your Z-probe offset will not change unless you make changes that can affect the distance between your Z-probe trigger height and your nozzle such as crashing the bed, or changing your Z-probe mount.**

## Bed Leveling

As mentioned at the beginning of this article, bed leveling on the Promega is very important to be able to print large first layers properly. This would be difficult to do without proper bed leveling compensation. Follow the steps below to enable bed leveling.

1. These steps assume you have properly homed your printer, if you have not done so, please do so now.
2. These steps also assume you have properly set your Z-probe height with the steps above. If you have not done so now, please do so.
3. Heat up the bed to your printing temperature. If you are not yet familiar with different 3D printing materials and their bed temperature preferences, 60°C is a good starting point.&#x20;
4. Wait for the bed to reach temperature. This could take a few minutes as the heat disperses over the bed. Remember that you can see the bed approach temperature in the Duet Web Console on the graph and in the table.  ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH8urt7P2GkQ8GSsKGA%2F-LH8wVGMdAvMjT1HL9bb%2FSettingBedTemperature.png?alt=media\&token=2bb8af28-c2ae-46ad-859c-674934bcd6a2)&#x20;
5. When the bed has reached temperature, deploy the Z-probe. ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9-tl-twQsPTbvol1J%2F-LH90DSmQZpIKeIg_eAR%2Fdeployingtheprobe!.gif?alt=media\&token=7f2405c9-60f9-4ec3-a603-7c93a177caa5)
6. Send the command `G29 S2` , this will disable any current bed leveling compensation.
7. Send the command `G29` , this will engage the bed leveling process. The extruder carriage will move over the entire build plate and probe bed. This can take a few minutes, so continue on to the next step where I explain what bed leveling does.
8. The bed leveling procedure will carefully probe each location on the bed once in a grid pattern. This pattern is configurable and is defined in *machine\_bedmesh.g.* The pattern is defined in that file with the `M557` command. Check it out on the [RepRap wiki](https://reprap.org/wiki/G-code#M557:_Set_Z_probe_point_or_define_probing_grid) for more information. It shouldn't need to change, but you can reduce it if you want to sacrifice accuracy for a shorter wait time. The bed leveling procedure will generate a heightmap file called *heightmap.csv* on the SD car&#x64;*.* This file stores the data for the bed leveling compensation. Whenever the bed leveling procedure finishes, you will see this heightmap file visualized on the screen. If you ever want to see the heightmap again in the future you can select *Show Mesh Grid Heightmap* in the *Auto Bed Compensation* tab of the *Machine Control* tab on the Duet Web Console (shown in the image below). ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9-tl-twQsPTbvol1J%2F-LH95Ag_mUbwUBNStNNV%2Fshowmeshgridheightmap.png?alt=media\&token=efa6566f-6230-4fef-b0b4-9ac1cebbe936)  Whenever you enable mesh bed leveling compensation, your Z-height will be adjusted based on the values in the heightmap. So when the Duet is printing a file and gives the command to go to `G1 Z0.2` for the first layer, it will be compensated for by the local and interpolated value obtained from the heightmap. So the board might actually go to `Z-0.3` depending on the local heightmap value.&#x20;
9. When the bed leveling procedure completes it will display the heightmap as mentioned in the previous step. In the pictures below, the heightmap on the left is average and the heightmap on the right is good (Courtesy of @Talrynn(John) on M3D's Discord Server). Based on this heightmap display you can tune your bed to become flatter. But whatever bed you have, automatic bed compensation will try and compensate for whatever error you have.  ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9-tl-twQsPTbvol1J%2F-LH9Am0plvsl2E73ce_B%2Fheightmapvisual.PNG?alt=media\&token=4d88e4ec-5f03-46b5-a4c0-a1f3b1db1ab3) ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9-tl-twQsPTbvol1J%2F-LH9AnmzUg46dN9sdPjA%2Fgoodheightmapvisual.png?alt=media\&token=d9497355-a7ff-4bb5-aa54-e59e0cd0d899)&#x20;
10. Once bed leveling completes it will automatically enable. If you ever want to disable bed leveling enter the command `G29 S2` , if you want to re-enable bed leveling without running the bed leveling procedure, send the command `G29 S1` .&#x20;
11. Just like with the Z-probe offset, you should never have to change your heightmap unless you have a mechanical change to it. If you skip a belt or crash your printer, it is recommended you create a new heightmap. Running `G29` again will overwrite the previous heightmap.&#x20;

## The Conflicts of Mesh Bed Leveling

Mesh bed leveling can affect the value of any Z-axis constant you find. To avoid this, it is the best practice to disable bed leveling with `G29 S2` in order to avoid the propagation of heightmap values. Things that can be affected:

* The Z-probe offset
* The Z-endstop homing value offset
* Another heightmap

If you tried to find the Z-probe offset of the Z-probe with mesh bed leveling compensation enabled, the Duet board will add the heightmap compensation on top of what you think is 0. So, when the bed is touching the nozzle in one of the steps above, and the *Machine Status* tab displays a value of -9.4. Due to a local heightmap compensation value, the actual value might be -9.2. But you would have no way of knowing this. Therefore, it is important to disable the bed leveling compensation. RepRap firmware already has a few safeguards in place to prevent conflicts such as these when running `G29` multiple times in succession, but these are known to have bus. We recommend running `G29 S2` before doing any of the actions in the list above. **If you forget to disable mesh bed leveling, you will not have catastrophic results, just an error of around 0.5mm or so. Just barely enough to mess up your print.**


# Bed Leveling & Probing

This page serves as an in depth guide to bed leveling. A good bed level will allow you to print a consistent first layer across the entire bed.

## Z-Probes

The Promega is equipped with two different Z-probes, an IR (infra-red) probe and a deployable endstop limitswitch. The default config.g file is set up to use the limit switch. This section covers the two different probes, their settings and how to use them. We recommend using the limit switch for less experienced users as it has proven to be more robust under many different circumstances.

### Probing Commands

* `G30`: Commands the printer to perform a single z-probe. The z-height of your printer will then be set to the Z-offset as defined in `G31`. Sending `G30 S-1` will cause the printer to perform a z-probe and print the trigger height but will not change the z-height of the printer, this can be used to find probe offset.
* `G31`: Sets the z-probe status and offset, this changes depending on which probe you wish to use.
* `M558`: Defines the z-probe type.
* `G29`: Executes bed leveling as defined by `M557`
* `M557 Pnnn Xmmm Ylll`: Defines the pattern that will be probed when `G29` is sent. `nnn` represents the point number if you wish to perform single point probing. A better option is to define a mesh with `Xnnn:mmm`, `Ylll:kkk` and `Sjjj`. Where `nnn` and `lll` are the minimum values for each axis and `mmm` and `kkk` are the maximum values. `jjj` represents the interval over the area you just defined. A working `M557` command for the Promega is: `M557 X50:370 Y10:350 S30`.
* `G32` will execute the *bed.g* file located in *sys/* on the microSD card.

### The Limit Switch Probe

> Warning: This limit switch is manually deployable. Remember to put the limit switch on the mount prior to probing, and remove the limit switch prior to printing or moving the bed to the nozzle.

**Mounting the Limit Switch Probe**

1. When mounted, the limit switch magnet should be firmly attached to the bottom of the mount as shown in the picture below.

   ![BlabOuIBSjcY3Gkg-zlimitmount.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnEwGu8uSXk_vBIC%2FBlabOuIBSjcY3Gkg-zlimitmount.png?generation=1531199045060588\&alt=media)
2. Connect to the Duet Web Console. In the *Machine Status* table observe the Z-probe cell. Press the Z-probe switch and you should see this value change from 0 to 1000. If this is not happening, it indicates a problem with the wiring of the limit switch. Stop and fix the wiring before continuing with this guide.
3. In order to unmount the limit switch simply remove it from its mount and stick it above the nozzle. Stick the limit switch against the metal mount so that the limit switch is pressed down. Now if you accidentally send the command `G30` with an unmounted z-probe, you will get an error: *"Error: Probe already triggered during move*" instead of a crash of the bed against the nozzle.

   ![EJqnEtlnpFIpXnQb-Unmountedswitch.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoH09_UPJANH1p5B%2FEJqnEtlnpFIpXnQb-Unmountedswitch.jpg?generation=1531199058935590\&alt=media)

**Limit Switch Configuration Settings**

In the *config.g* configuration file you can set certain properties of the Z-limit switch. The commands `M558` and `G31` are the most important here. If you wish to enable the limit switch as your z-probe you have to enter the following commands into your *config.g* file:

```
    M558 P4 I1 X0 Y0 Z1 H5 F100 T5000 ; Set Z probe type -- SET AS LIMIT SWITCH
    G31 P999 X40 Y-28.5 Z5.8 ; Set Z probe (limit switch) trigger value, offset
```

These two commands enable and configure the Duet board z-probe. Remember that you must comment all other M558 and G31 commands in order for these commands to take effect. If you enter these commands in the configuration file and then enter the same commands for the IR probe 10 lines below, the board will be configured to use the IR board.

The `M558` command above sets the Z-probe type.

* The `P4` parameter informs the firmware that the z-probe is a switch that is connected to the E0 endstop detection port.&#x20;
* `I1` inverts the reading on this port, the switch is wired as normally closed and therefore always outputs a value of 1000.&#x20;
* `X0 Y0 Z1` ensures that this limit switch is only used for homing the z-axis. Any non-zero value will enable homing on that axis.&#x20;
* `H5` sets the dive height of the probe. This defines the distance in mm that the probe will move after contact.
* `F100` is the feedrate of the homed axis. Reduce this value to slow down the bed more as it moves to make contact with the limit switch.
* `T5000` is the travel speed between probe points.

The G31 command sets certain z-probe settings such as offset and trigger height.

* `P999` sets the trigger value to 999. Whenever the z-probe trigger value is reached the board will register a detection. For the limit switch this value should not need to change.
* `X40 Y-28.5 Z5.8` Represents the offset of the z-probe to the nozzle, this value changes depending on which extruder you have mounted. If you have the K'Tana, the offsets of the z-probe to the nozzle are going to be different than the compound nozzle. It is also worth noting that the offset for the K'Tana nozzle is based on the right nozzle. The Z-offset to the z-limit switch varies per printer. We recommend that you tune your z-probe Z offset before printing. Follow the section below for calibrating the Z-offset of the limit switch.

**Calibrating the Limit Switch**

To find out the z-offset of the limit switch to the nozzle, follow the steps below. 1. Home the printer again, just to ensure you do not crash the printer throughout this process. 2. Print head to the center of the build plate by sending the command `G1 X187 Y154` 3. Heat up the bed to the preferred printing temperature. You can do this by sending the command `M140 Snnn` where `nnn` is your temperature in °C. You can always look up the recommended bed temperatures for specific materials online. For PLA, a bed temperature of 50°C will work well. For ABS-R, a bed temperature of 60°C is recommended. 4. Wait until the heated bed has reached temperature before continuing. 5. Set the Z-probe offset to 0 by entering the command `G31 G31 P999 X-40 Y28.5 Z0`. This will make it easier to gauge the distance between the Z-probe and the nozzle in the following steps. 6. Run the command `G29 S2`. This clears any active bed leveling compensation. This is **very** important as it will conflict with your updated Z-probe offset and induce a 0.1 - 0.3mm error depending on the magnitude of your bed leveling compensation at that point. 7. Deploy your Z-probe 8. Check whether the Z-probe is functioning correctly. This is a great step to perform before using your Z-probe in order to prevent crashes. Press your Z-probe limit switch and observe the change in value from 0 to 1000 in the Duet Web Console *Machine Status* table in the *Z-Probe* box. If the value does not change the Z-probe is wired or configured wrong, do not continue to the next step!

```
![KWL6DTK3l4pAmrPv-zprobemachinestatus.png](../.gitbook/assets/gallery/2018-06-Jun/scaled-840-0/KWL6DTK3l4pAmrPv-zprobemachinestatus.png)
```

1. Move the bed towards the nozzle by sending the command `G1 Z20`. When you send the command `G30` the bed will move slowly and precisely to the Z-probe, if you send `G30` while the bed is at `Z100` or greater you will have to wait for a long time for the Z-probe to trigger.
2. Run the command `G30`. This will move the bed toward the z-probe until the limit switch triggers.
3. Now your Z0 is set to your Z-probe limit switches trigger height. This is because the Z-probe limit switch offset is 0mm. Now that we have set our Z0 to the trigger height we can move the bed toward the nozzle in order to find the distance between the trigger height of the Z-probe and the nozzle!
4. Retract the Z-probe.
5. Jog the bed up slowly toward the nozzle using the negative Z buttons in *Machine Control* on the Duet Web Console. Read the next step!

   ![Z81QrJdADnqOrI0d-MachineControl.PNG](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1eZPmrYrNvJXlE%2FZ81QrJdADnqOrI0d-MachineControl.PNG?generation=1531199034269791\&alt=media)
6. As you are moving the bed up towards the nozzle you will encounter an axis limit. These axes limits are set for the X, Y and Z axes and will stop you from moving past a certain coordinate. This will make it harder to crash the printer. However, in this case we know what we are doing so we can disable the axes limits. Send the command `M564 S0` to disable the axis limits. To learn more about this command visit the [RepRap G-code wiki](https://reprap.org/wiki/G-code#M564:_Limit_axes).
7. **Be careful when moving the bed close to the nozzle. Use the 1mm and 0.1mm buttons.** Determining when the bed is touching the nozzle can be difficult. You might have to heat up the nozzle as you learned before in order to ensure that none of the filament from the hot-end gets in the way. Using a piece of paper to determine when the nozzle is touching the bed is also helpful. Grab a sticky-note or small piece of paper and place it under the nozzle. Then carefully jog the bed into the nozzle, move the paper back and forth. When you feel the nozzle grab the paper your nozzle is touching the bed!.&#x20;
8. Record the Z-value that the printer is currently displaying in *Machine Status*. The absolute (non-negative) of this value is your Z-probe offset. It might be a good idea to write down this value.
9. Enter the command `G31 P999 X-40 Y28.5 Znnn` where `nnn` is your Z-probe offset.
10. Move the bed away from the nozzle `G1 Z20`.
11. Deploy your Z-probe!
12. Send the command `G30`.
13. Move the bed back up to the nozzle as described in the steps above. Your Z value should be 0 when the bed is touching the nozzle. If it is not you might need to tune the Z-probe offset or repeat the process.
14. In order for these changes to take effect permenantly, you will have to open up your *config.g* file and update the Z-offset of this command there. Follow the section below.

**Troubleshooting the Limitswitch**

### The IR Probe

The IR probe is located on the right side of the nozzle fan duct. The IR probe should be as parallel to the bed as possible. The IR probe functions by emitting Infra-Red rays (hence the name IR probe) at the bed and receiving them when they are reflected off a surface at a specific distance. Because not every surface is consistant, this detection height changes per surface. However, even variations within one surface can cause a difference in detection height. For example, glue from your previous print or a dirty print surface. This will all cause error and noise within your eventual bed level. We have found that this z-probe is very precise, but not always accurate. You will find that the limit switch is sometimes much better suited for some situations, such as a glass bed. While the IR probe is sufficient for others. For the best results we recommend a clean and dark surface such as a black print bed sheet. Follow the guide below for configuring your printer to use the IR probe.

**Configuring the IR Probe**

To use the IR probe a number of settings have to be changed in *config.g*. Ensure that the IR probe is parallel to the bed before using it. The following code should be entered or uncommented in *config.g*:

```
    M558 P1 X0 Y0 Z1 H5 F120 T5000 ; Set Z probe type -- SET AS IR_PROBE
    G31 P450 X-30.4 Y-30.7 Z2.6 ; Set Z probe (IR) trigger value and offset
```

Remember that it is best practice to comment or remove all other instances of these commands in the configuration file, this will prevent you from mistakenly configuring and enabling the other z-probe. This code is for the compound nozzle, to obtain this code for the K'Tana nozzle visit the [M3D Promega GitHub Repository](https://github.com/PrintM3D/Promega).

The `M558` command above sets the z-probe type:

* `P1` sets the z-probe type.
* `X0 Y0 Z1` defines which axis this probe homes, any non-zero value enables that axis. In this case this probe only zeroes the z-axis.
* `H5` configures the dive height to 5mm. The dive height is the vertical distance the bed moves between probe moves
* `F120` sets the feedrate of the probe move.
* `T5000` sets the travel feedrate, the speed of travel in between probe moves.

The `G31` command sets the z-probe status:

* `P450` sets the trigger value, for the IR probe this **has** to be less than \~500 or the z-probe will not trigger. Manually test the z-probe trigger value before changing!
* `X-30.4 Y-30.7` defines the offset from the nozzle to the IR probe.
* `Z2.6` sets the z offset of the IR probe. This will have to be changed whenever you change the mounting height of the z-probe or whenever you change print bed material.

**Calibrating the IR Probe**

To discover the z-offset of the IR probe to the nozzle follow the steps below:

1. Home the printer and move to `X200 Y200 Z50`, probing in the center of the bed is the best idea as that is where the most printing occurs.
2. Heat up your bed and wait for it to reach temperature. Ensure that your print bed is clean. 3. Heat up your nozzle in order to remove any filament or debris on the nozzle tip.
3. Turn off bed leveling with `G29 S2`, bed leveling can interfere with probing the bed.

> Always disable bed leveling before probing or bed leveling, they will interfere with each other!!! <

1. Check that the z-probe is functioning correctly by **manually** jogging the bed to the nozzle. You should see the Z-probe value in the Duet Web Console *Machine Status* table change **before** the nozzle hits the bed. Remember the trigger value of the z-probe, this will vary per print surface.
2. Enter the command `G31 Pn Z1.0` where `n` is a value less than what you recorded in the previous step. The z-probe will trigger whenever it detects a value greater than `n`. `Z1.0` represents a stop gap to prevent a crash if you do send `G30`.
3. Jog the bed up until the bed is touching the nozzle, a piece of paper can help to determine when the nozzle is touching the bed. When the nozzle and bed are touching send command `G92 Z0`. This will set the current z-height of the printer to 0.
4. Move the bed to `Z20` with `G1 Z20`. 7. Send the command `G30 S-1` this will print out the z-height of the bed when the probe is triggered. It will **not** update your z-height value. Record the value that is printed out. To ensure that you are getting consistent values, you can repeat this step multiple times. Move the bed to `Z20` between every probe or you will get an error.
5. Send the `G31` command with your z-probe offset value set to the value you obtained in the step above. `G31 P450 X-30.4 Y-30.7 Znnn`, `nnn` is the value from the step above.
6. If you want these changes to affect your board permenantly, then copy and paste the command above into your *config.g* file. Be sure to remove all other `G31` commands or comment them.
7. You have now successfully calibrated your IR probe. Send the command `G30` in order to probe the z axis. You can then move your bed up to your nozzle manually and verify that at `Z0` the nozzle is touching the bed.

## Bed Leveling

### Skipping the Bed

If you crash the bed into the nozzle it will cause the bed to skip and fall. After this happens your bed might no longer be level. Follow the steps below to skip a tooth on the bed in order to level it. Once the bed is level within \~3mm you can allow Mesh Bed Leveling to complete the rest.

1. Power cycle the printer and then turn it on. This will make it easier to manually move the motors.
2. Move the bed up to the nozzle. The best way to move the bed of the Promega is by holding the bed with both hands on either side in the center as shown below. If you want to stop your bed from falling down you can place a binder clip on the z-motor belt as pictured below.

   ![4qdhdUQzgRlqtZuL-wheretoholdbed.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1oWI_qiqLTgz98%2F4qdhdUQzgRlqtZuL-wheretoholdbed.jpg?generation=1531199031744255\&alt=media)

   ![2dmrbcxPSLMjnGwW-beltclip.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoI-oX9dsjMFgeA6%2F2dmrbcxPSLMjnGwW-beltclip.jpg?generation=1531199058823856\&alt=media)
3. Once the bed is at the nozzle, gauge the distance between the Z-slider and the top z-belt clamp as shown in the picture below. If one of these distances is greater than the other four it means your bed is not level. If you have a caliper you can measure the distance between the bed and each belt clamp corner.

   ![7uGDRPPGzf2X74tx-distancezclampbed.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoI2ShaRkvoNChIT%2F7uGDRPPGzf2X74tx-distancezclampbed.jpg?generation=1531199058935376\&alt=media)

   ![ZVLNWJ7ERVNSrBPG-distancebedcorners.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1qy5iL0VFWfLO6%2FZVLNWJ7ERVNSrBPG-distancebedcorners.jpg?generation=1531199021805233\&alt=media)
4. Move the bed halfway down the printer. Hold the bed in place while gently pulling up on one corner. Keep pulling up until you hear a loud click and feel the bed move in that one corner.

   > Be careful with the amount of force you apply as you can break the belts or belt clamps.
5. Repeat step 3 in order to check that your bed is now level. If it is not skip another corner of the bed.

### Mesh Bed Leveling

1. Home the printer and heat up the bed to printing temperature. When the bed warms up it warps slightly. However, bed leveling compensation can compensate for this.
2. Define your mesh bed leveling grid with the `M557` command. The *config.g* file should already have configured a working mesh: `M557 X50:370 Y10:350 S30`. You can change the maximum and minimum values of the mesh as well as the interval but be careful as running G29 with a wrong mesh can crash your printer. Be sure to take the offsets of the z-probe as defined in `G31` into account.
3. Disable any previous bed leveling compensation with the command `G29 S2` or `M561`, they accomplish the same goal. If you do not disable previous bed leveling you will find that your next heightmap will be off by around +- 0.3mm.
4. Ensure that you have properly configured your z-probe as in the sections above. Test your z-probe before probing by triggering the sensor and observing a change in the *Machine Status* tab.
5. Make sure your bed is as level as possible. While bed leveling compensation can account for small variations in bed height it can't account for greater than 2-3mm.
6. If you are currently using the limit switch be sure to place it on its mount. If you are using the IR probe ensure that your bed is squeaky clean.
7. Send the command `G29 S0` to execute bed leveling immediately or `G32` which will execute *bed.g*. *bed.g* can be a simpler option in the long run as it can automatically heat up your nozzle and bed and define your mesh grid before.
8. The bed leveling procedure will generate a *heightmap.csv* file located in the *sys/* folder. Once the bed leveling procedure completes it should display the heightmap. If this is not the case you can always go to *Settings > System Editor* and then click *heightmap.csv* in order to see your heightmap.
9. Once bed leveling completes it should have already enabled the compensation. `G29 S1` enables compensation from *heightmap.csv* by default and `G29 S2` disables compensation. In *config.g* you should have the command `G29 S1` which enables bed compensation so you don't have to re-run the bed leveling procedure everytime.&#x20;


# Tuning The Z Homing Procedure

{% hint style="warning" %}
CAUTION: This procedure involves heating the nozzle to high temperatures. Be very careful to not touch the nozzle or heater block, as they WILL BE HOT!
{% endhint %}

{% hint style="warning" %}
CAUTION: This procedure heats the print bed. Do not touch the bed as it WILL BE HOT!
{% endhint %}

## Tuning the Z-homing: Automated Procedure <a href="#tuning-the-z-homing-automated-procedure" id="tuning-the-z-homing-automated-procedure"></a>

We offer an automated procedure for tuning the Z-homing in addition to a manual process. The automated procedure is preferred (continue reading just below), although if your printer encounters any issues during this process, the manual procedure steps at [Tuning the Z-homing: Manual Procedure](/advanced-setup-guides/tuning-the-z-homing-procedure#tuning-the-z-homing-manual-procedure) may help you troubleshoot the particular error.

{% hint style="info" %}
A Thank You! goes out to our Promega community for developing these macros.
{% endhint %}

**The relative distance between the bed and the nozzle depends on your Promega configuration (K'tana vs. Compound, glass vs. no glass, etc.)** Ideally whenever you home the printer and send the command `G1 X0 Y0 Z0` (telling the printer to go to (0,0,0)) the print bed will touch the nozzle. However, as outlined above, the relative distance between the bed and the nozzle varies depending on your setup. Follow the steps below to update the Z configuration of your printer.

#### This procedure consists of four broad steps:

* Step 1: Prerequisites are covered
* Step 2: We calibrate the Z probe's location relative to the nozzle.
* Step 3: We calibrate the full Z travel of the printer (which depends on bed glass, nozzle installation, etc.)
* Step 4: We perform a mesh bed leveling.

### Step 1: Prerequisites

#### Verify your printer configuration is up to date before completing this procedure.&#x20;

In particular, make sure the **configuration files**:

```
machine_axisdimension.g
machine_zendstop.g
machine_zprobe.g 
```

are present on the SD card.

Along with the **macros**:

```
_1_Calibrate_Z_Probe.g
_2_Set_Z_Endstop_Height.g
_3_Mesh_Bed.g. 
```

Let's verify. Go the web interface,&#x20;

1. Choose *Settings. T*hen *System Editor*.&#x20;
2. Scroll down.
3. Ensure the three **configuration files** are present.&#x20;

Next,&#x20;

1. Choose *Macros*,&#x20;
2. Look for a folder named *Printer Setup*
3. Ensure the three **macros files** are contained within.&#x20;

If any of these files are missing, review the instructions at [Updating SD Card Structure](broken://pages/-LH1ZbQK2pREbHCZ8zcK) to update your printer, then return to this page to tune the Z-homing procedure.

### Step 2: Z Probe Location Calibration

#### First, we will teach our printer the vertical distance between the nozzle and the deployed Z probe.&#x20;

{% hint style="info" %}
The Z probe should initially be stowed. If the probe is deployed, please retract it now.&#x20;
{% endhint %}

Begin by running the *\_1\_Calibrate\_Z\_Probe.g* macro:&#x20;

1. Choose the *Macros* tab in Duet Web Control
2. Enter the *Printer Setup* folder
3. Click the *\_1\_Calibrate\_Z\_Probe.g* file entry.&#x20;
4. Confirm you want to run the macro. Follow the onscreen prompts. ​

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDY1Ihu6sLK8Zf_SKA%2F-LPDcj9pstlPTEbgsU7o%2Fmacros1.png?alt=media\&token=3486dc01-7fa0-45f7-a1a8-af0c9fc158dc)

{% hint style="info" %}
At times, the visual prompts may disappear while the printer continues to operate. This is normal, and you should wait for the next dialog requiring user input.
{% endhint %}

After homing, heating, and bringing the bed within \~20 mm of the nozzle, the macro will ask for your input to move the bed so that it just makes contact with the nozzle.&#x20;

Make sure your Z probe is stowed, then use the (-) buttons to move the bed closer to the nozzle. ​

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDclzcxyktJzIURT_k%2F-LPDd4jMAg0QTLKr0Kwy%2Fmacros2.png?alt=media\&token=a5735c3b-fae0-4713-bd30-97e5a2562c9b)

A post-it note or similar sheet of paper can be a useful tool to check the distance between the bed and nozzle, but always be careful to avoid touching the hot nozzle or heater block.&#x20;

The post-it will slide relatively easily until there is a 0.1 mm gap between the bed and nozzle.&#x20;

* If you step the bed closer to the nozzle in 0.1 mm increments, you can use the post-it note as a feeler gauge.&#x20;
* When you feel resistance to the motion of the post-it, remove it from the gap between the nozzle and bed. If the post-it slides out from between the two without much resistance, we recommend moving 0.1 mm closer (again, use (-) buttons).&#x20;

{% hint style="info" %}
This dialog will show a Z= value, but it is not important at this point to make note of that value.&#x20;
{% endhint %}

Once the bed and nozzle are touching, choose *OK*.

Deploy the Z probe when asked.&#x20;

Then, continue stepping through the automated process, following the on-screen prompts. ​

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDclzcxyktJzIURT_k%2F-LPDf6HvU7qpkP9H-Sdm%2Fmacros3.png?alt=media\&token=9becbf8f-e0c0-497f-a46e-6b2ee8174f09)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDclzcxyktJzIURT_k%2F-LPDfAJRoC4-7jT8V7Mw%2Fdeployingtheprobe!.gif?alt=media\&token=914da432-ebd2-42fe-9285-5d8e74fd1fc4)

The printer will raise the bed until it just makes contact with the deployed probe, at which point the Z value in the *Machine Status* display is a measure of the distance between the nozzle and the height at which the probe triggers. **The next step will have you place this value in your machine configuration files so that the printer powers on with the proper Z calibration routines in the future.**

Follow the on-screen prompts, making note of the Z value in the *Machine Status* area of the Duet Web Control page. ​

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDinIi9v9UZFEnBit9%2Fmacros4.png?alt=media\&token=8ea48b8b-ee89-4dd1-a6b8-c89ffa2bf130)

In the example shown, the bed triggered the Z probe at a height of 5.74 mm.&#x20;

We will now transfer this value to the configuration file *machine\_zprobe.g*.&#x20;

After viewing the remaining prompts

1. Choose the *Settings* tab. Then *System Editor.*
2. Scroll down to the *machine\_zprobe.g* file.&#x20;
3. Click on the filename to open the file for editing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDj6SMN30u2RBXyP_f%2Fmacros5.png?alt=media\&token=1e705951-9b88-482d-bb86-784f741f047d)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDjDSd8YrozWN32o7m%2Fmacros6.png?alt=media\&token=46266e05-7172-458d-a743-2546d2fac0eb)

Near the very bottom of the file, you will see a line that begins "G31" that we will update with our new Z offset value. In the image above, you can see our printer had an old Z value of 7.51 mm.

Update the Z value by changing just the numeric part to the value from the *Machine Status* area of Duet Web Control. In our example, "Z7.51" changes to "Z5.74".&#x20;

{% hint style="info" %}
There is no space between the letter 'Z' and the numeric value.&#x20;
{% endhint %}

Choose *Save Changes* after you have updated the value.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDjQ1JdbsfWaEo-an5%2Fmacros7.png?alt=media\&token=3109a4eb-8391-46c4-abbc-16dd70db8b03)

### Step 3: Full Z Travel Calibration

Next, we will teach our printer the precise distance the bed travels from the bottom of the printer, when it has just made contact with the Z maximum endstop, to the top of the printer (Z=0) where prints begin. **The Z probe should be stowed. If the probe is deployed, please retract it now.**&#x20;

Run ***\_2\_Set\_Z\_Endstop\_Height.g***:&#x20;

1. Choose the *Macros* tab in Duet Web Control. Enter the *Printer Setup* folder.
2. Click the *\_2\_Set\_Z\_Endstop\_Height.g* file.&#x20;

When asked to confirm running the macro, choose *Yes.*

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDlR6KVkM61MNtCu0O%2Fmacros8.png?alt=media\&token=9528ecd0-6d1c-411d-b931-dfb2fe7e82e7)

At times, the visual prompts may disappear while the printer continues to operate. This is normal, and you should wait for the next dialog requiring user input.

After homing, heating and bringing the bed within \~20 mm of the nozzle, the macro will ask for your input to move the bed so that it just makes contact with the nozzle.&#x20;

Make sure your Z probe is stowed, then use the (-) buttons to move the bed closer to the nozzle.

We have measured the adjustment necessary to the current configuration value for Z maximum extent. **The next step will have you place this value in your machine configuration files so that the printer powers on with the proper Z calibration routines in the future.**

Follow the on-screen prompts, making note of the Z value in the *Machine Status* area of the Duet Web Control page.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDnmBk10JaqAKXOq4W%2Fmacros9.png?alt=media\&token=dcf92c4e-ec13-4486-b993-84595a1eeafa)

In the example shown, the bed made contact with the nozzle at a height the printer believes to be 4.5 mm. We need this contact to occur at a height the printer believes is actually 0 mm, meaning the Z extent programmed in the printer is currently 4.5 mm too large.

We will use the value from the previous step to update the configuration files *machine\_zendstop.g* and *machine\_axisdimension.g*.&#x20;

After viewing the remaining prompts:

1. Choose the *Settings* tab. Then *System Editor.*
2. Scroll down to the *machine\_zendstop.g* file.&#x20;
3. Click on the filename to open the file for editing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDnvzLDFiMsFUJBay0%2Fmacros10.png?alt=media\&token=9e7ec3bf-ba29-47fe-8a61-b09fc158fe9d)

Near the very bottom of the file, you will see a line that begins "G92" that we will update with our new achievable Z value. In the image above, you can see our printer had an old Z value of 378.4 mm. We need to update this with a value calculated as: ​

$$
new value = old value - step8valuenewvalue=oldvalue−step8value
$$

For example:&#x20;

> If the *machine\_zendstop.g* file currently contains the command `G92 Z378.4` and I obtained a value of 4.5 mm, my new value would be 373.9 mm.&#x20;
>
> I would replace the current Z value in the G92 command so that the line reads `G92 Z373.9`&#x20;

Choose *Save Changes* after you have updated the value.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDo-Vk8HS8Xuti1LEX%2Fmacros11.png?alt=media\&token=15d93e47-145e-48e5-ac2e-c354964da3fc)

The values in *machine\_axisdimension.g* implement safety and convenience features to avoid damage to the machine when everything is in working order and properly homed, and also need to be updated based on the result of step 8. These values prevent your bed, for example, from attempting to travel a large distance beyond the physical extent of your printer (sometimes known as "crashing").&#x20;

1. Choose the *Settings* tab. Then *System Editor.*
2. Scroll down to the *machine\_axisdimension.g* file.&#x20;
3. Click on the filename to open the file for editing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDo5CmHMtEUsqriSfq%2Fmacros12.png?alt=media\&token=beca6f01-739b-426b-8294-586cf77c7db2)

Near the very bottom of the file, you will see a line that begins "M208 S0" that we will update with our new practical Z range. In the image above, you can see our printer had an old Z value of 379 mm.&#x20;

We will update the Z extent value contained in *machine\_axisdimension.g* to reflect the achievable Z travel from step 8.&#x20;

In practice, we do the following:&#x20;

* Take the value just set in *config\_zendstop.g*, round to the next largest whole number, and set this value in *machine\_axisdimension.g*.&#x20;

For example:&#x20;

> We just set our Z value for the G92 command in *machine\_zendstop.g* to 373.9. We will therefore set the Z value in *machine\_axisdimension.g* to 374.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDo9q2TuOpR3zx_hsc%2Fmacros13.png?alt=media\&token=66207a9b-d6ae-4f4e-a42a-115b57ea5cb5)

Choose *Save Changes* after you have updated the value.

For best results, we recommend repeating step 8. In a properly calibrated printer, the resulting value of that process should be a Z of 0 mm. If the value is not 0 mm, repeat step 9 using the attained value.

### Step 4: Mesh Bed Leveling

Finally, we perform a multi-point bed probe to allow the printer to correct for small variances in the level and flatness of the bed. Run *\_3\_Mesh\_Bed.g*: choose the *Macros* tab in Duet Web Control, enter the *Printer Setup* folder, and click *\_3\_Mesh\_Bed.g*. When asked to confirm running the macro, choose *Yes*.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDoDL1dMd172raXWSB%2Fmacros14.png?alt=media\&token=023d0a46-dccd-4005-8f7d-517a6f769a42)

This macro takes several minutes to run. Once completed, you will see a graphical view of the probing results.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDiYgoxzf7Y9aYyvE6%2F-LPDoHULbaLMxWqYLaIb%2Fmacros15.png?alt=media\&token=9b5f1e7b-42a8-49ca-b565-a80da6b481ca)

These results are automatically saved and ready for use during this printing session and each time you power on the printer, so you have completed tuning your Z homing and no further action is necessary at this time. If you'd like to learn more about mesh bed compensation, however, you can read more at [Bed Leveling & Probing](https://promega.printm3d.com/~/edit/drafts/-LOsd42LlDMsCQgG4bzO/firmware-guides/bed-leveling-and-probing).

## Tuning the Z-homing: Manual Procedure <a href="#tuning-the-z-homing-manual-procedure" id="tuning-the-z-homing-manual-procedure"></a>

**If you have already successfully run the procedure at** [**Tuning the Z-homing: Automated Procedure**](/advanced-setup-guides/tuning-the-z-homing-procedure#tuning-the-z-homing-automated-procedure)**, you can ignore this section. The automated process is the preferred procedure. This manual procedure is meant to accomplish the same end result, but allows for additional diagnostics during the process, should they be required.**

Currently, this procedure is equivalent to steps 6 through 10 of the automated procedure above. The calibration of Z probe relative to nozzle and running of the mesh bed level are not covered here.

**The relative distance between the bed and the nozzle depends on your Promega configuration (K'tana vs. Compound, glass vs. no glass, etc.) The macro** ***machine\_zendstop.g*** **allows for Z0 to line up properly. We recommend tuning this macro once after receiving your printer, as well as following any configuration changes to the printer (such as extruder style or print surface change).**

Ideally whenever you home the printer and send the command `G1 X0 Y0 Z0` (telling the printer to go to (0,0,0)) the print bed will touch the nozzle. However, as outlined above, the relative distance between the bed and the nozzle varies depending on your setup. Follow the steps below to update your *machine\_zendstop.g* file.

1. Verify your printer configuration is up to date before completing this procedure. In particular, make sure the file *machine\_zendstop.g* is present on the SD card. To verify: in the web interface, choose *Settings* and then *System Editor*. Scroll down and ensure *machine\_zendstop.g* is present. If it is not, first review the instructions at [Updating SD Card Structure](broken://pages/-LH1ZbQK2pREbHCZ8zcK) to update your printer, then return to this page to tune the Z-homing procedure.
2. Home the printer if you have not already done so (see [Homing the Printer](/beginners-setup-guides/homing-the-printer)).
3. Send the command `G29 S2` to disable bed leveling. Bed leveling can conflict with your homing value.
4. Move the printer to a height of Z = +10 mm with the command `G1 Z10`
5. Move the print head toward the center with `G1 X200 Y200`
6. Jog the bed up the nozzle with the buttons in machine control until the bed is touching the nozzle. Use the *Z1mm* and *Z0.1mm* buttons. Remember that you are about 10mm away from the nozzle.

   ​​![](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH4SBiKeKRrvYc-SnnI%2F-LH4Ykv15OQeiFL7H-lx%2FMachinecontrol.png?alt=media\&token=2d6355f3-fc2d-4d72-8897-5d1d0629656e)
7. Once the bed is properly touching the nozzle record the Z-value in *Machine Status* on the Duet Web Consol&#x65;*.* This value will be used in the next step.
8. Open the *machine\_zendstop.g* file in the *Settings* tab of Duet Web Control. This file is called during the homing process of the Z-axis. Find the `G92` command at the end of the file. This command sets the z-axis height when the bed is moved completely away from the nozzle (that is, it is at the bottom of the printer and has triggered the Z maximum endstop).
9. Update this value with the following formula: ​new value = old value - step6valuenewvalue=oldvalue−step6value For example: if the *machine\_zendstop.g* file currently contains the command `G92 Z376.4` and I obtained a value of -0.6, my new value would be 377mm. I would remove the current G92 command from the *machine\_zendstop.g* file and replace it with`G92 Z377`
10. Save the file and home the printer again. Although you should now be able to enter the command `G1 Z0` , I don't recommend it. Manually jog your bed to the nozzle again to ensure that Z0 is when the bed is touching the nozzle.

​


# Bypass Bed Leveling (Temporary)

This guide should be used under these certain conditions:

{% hint style="info" %}
You understand this leveling method is FAST and TEMPORARY. The leveling will be undone after a Z homing, Home All, or power cycle.&#x20;
{% endhint %}

{% hint style="info" %}
You want to avoid mesh compensation or Z endstop calibration troubleshooting.
{% endhint %}

{% hint style="info" %}
Your print is small or medium sized.
{% endhint %}

####

#### Let's get started.

Physically level the bed. Follow the [Mechanical Bed Leveling](/repair-and-maintenance/mechanical-bed-leveling) guide.

Home your X and Y only.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkBt-LbGoJVIwCBmQF%2F-LQkJzuKSJsJHZ2oLCo3%2Fhome%20xy.PNG?alt=media\&token=93c355ba-58c2-473b-aeb2-80b862f8ebe4)

Move your extruder to the region you will print on.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkBt-LbGoJVIwCBmQF%2F-LQkP_pwo_cs7rXnw5HS%2Fprint%20position.PNG?alt=media\&token=18a3c97e-3966-4494-ac07-72d42d366cc7)

Enter

```
M564 S0 H0
```

```
G29 S2
```

```
M290 R0 S0
```

{% hint style="info" %}
None of the codes above have any movement involved.&#x20;

Make sure they are executed
{% endhint %}

![Shows a history of executed codes.](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkBt-LbGoJVIwCBmQF%2F-LQkNF1gBX9s8K9s1Ktp%2Fgcode%20history.PNG?alt=media\&token=f2cf2067-569f-46bc-babe-2f0537c0aa16)

Heat your bed to desired temperature.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkBt-LbGoJVIwCBmQF%2F-LQkK77i_F9hlmWeihUh%2Ftemp%20selection.png?alt=media\&token=1cd693c4-71b8-4691-bb50-07ef58ad916e)

Move the bed until is it paper-width apart from the nozzle.&#x20;

{% hint style="info" %}
Paper-width should have mild resistance when moved around.
{% endhint %}

Enter

```
G92 Z0
```

Check your z position value is set to 0.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkBt-LbGoJVIwCBmQF%2F-LQkMIVj5CnQuYl9nCwP%2Fz%20position%20zero.PNG?alt=media\&token=d7650e52-5906-4e72-ae22-cff9a2707cbd)

Start your print.

{% hint style="warning" %}
Make sure your print DOES NOT have&#x20;

ANY homing commands (e.g. G28)

OR&#x20;

ANY reference to `M98 Pprint_startgcode.g`
{% endhint %}

![Highlighted lines are homing lines.](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkQ9v0ec_94qAoBYsn%2F-LQkR7QiyrVkRNYgYSuN%2Fhoming%20inside%20gcode.PNG?alt=media\&token=36ef88c4-243b-4bea-b003-56a6cb603302)


# Software Layers

This guide is intended to explain all the different software levels that takes a model to a final printed form on the Promega. We will start at a model on a modelling software on a computer and go all the way down to the RepRap firmware that runs on the Duet Maestro.

## Software Layers

| Layer                  | Purpose                                                                                                                                       |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Model Software         | Create *.STL* models of prints                                                                                                                |
| Slicing Software       | Convert *.STL* files to .*gcode* files while incorporating printer and print settings                                                         |
| Duet Web Interface     | A web server running on the Duet Maestro that connects to your local network in order to allow for control and monitor of a 3D printer        |
| Configuration Settings | G-code files on the microSD card which are loaded upon the boot-up of the Duet board in order to properly configure the board for the printer |
| Firmware               | Software running on the Duet Maestro that handles G-code and other operations. Can not be configured.                                         |

## Model Software

If you want to print something on a Promega you will first have to create or find a model of what you plan to print. Creating and designing a model is currently done with CAD (Computer Aided Design) software such as SolidWorks or TinkerCAD. SolidWorks offers a more technical and precise solution to designing models, while TinkerCAD represents an easier and faster solution. Aside from creating your own models you can find many models online. These models exist on websites such as [Thingiverse](https://www.thingiverse.com/), [Pinshape,](https://pinshape.com/) [MyMiniFactory](https://www.myminifactory.com/) and many others! In the next step you will see that you need slicing software and slicing software will require a specific file type. That file type is called a .*STL* file or [stereolithography](https://en.wikipedia.org/wiki/STL_\(file_format\)) file. This file type stores the outside shell of a model, which is typically all the slicer needs. Whenever you design or find a model to print it you will have to convert it to a .*STL* file in order to slice it.

## Slicing Software

Slicer software fills the void between the model and the 3D printer. The 3D printer can only understand G-code commands and the modeling software can only generate models. Slicer software allows you to convert a model to G-code that will allow a 3D printer to create a print. Incorporated into the slicer software are many different print and printer settings. Print settings refer to the things such as extrusion, cooling and print temperature. Printer settings configure things such as the build volume of the printer or the starting and ending G-code for a print. This software is called a slicer as it typically converts a model into many different layers to print one at a time. The slicing software creates a file type called a *.gcode* file. This is a long list of commands that can be interpreted by the Duet Board. The G-code commands in this file are exactly the same as the ones you would enter in manually, such as `G1` , but just in a long list.

## Duet Web Interface

To allow control of the Promega you have the Duet Web Console. This is a simple web server that runs on the Duet Maestro and connects to your local network. Aside from control the Duet Web Console allow you to observe various different statistics, status tables and values of the Promega. This allows you to troubleshoot problems much easier with more feedback. You can start and end prints from here. The Duet Web Console also allows you to configure certain settings on the Promega.

## Configuration Settings

The SD card stores files that allow for the operation of the Duet Web Server as well as configure the board, the settings that configure the board can be referred to as the configuration settings. The microSD card has four different folders that each handle a certain part of the Duet board operation (look in [SD Card Structure](/documentation/software-firmware/sd-card-structure)). The SD card files operate on a higher level. The files located in the *sys/* folder, configure the board. They can be changed by the user at any time, either through the Duet Web Console or by changing the files from your computer. The configuration files often simply represent a grouping of G-code commands that are run upon the boot of the Duet board. Whenever the Duet Board is booted up, it will have no settings loaded. So whenever *config.g* is run on the start, it gets configured with the settings inside. These configuration files are in the form of G-code files. When you download the SD card file from the M3D Github Repository, you are just taking the M3D preferred settings for the Promega.

## Firmware

The firmware on the board is a version of RepRap released by DC42. The firmware is released on his [GitHub Releases](https://github.com/dc42/RepRapFirmware/releases). If you want to update your firmware, you can follow the [Updating Firmware](/documentation/software-firmware/updating-firmware) guide. The RepRap firmware on the board interprets all the G-code commands sent to the board. It is stored on the micro-processor on the Duet Maestro and required for the board to operate. The firmware handles low-level operation such as controlling the stepper motor drivers or processing G-code commands. Changing the firmware directly is not possible, you will have to update the firmware using the guide above.

The next guide: [What is Slicing?](/advanced-setup-guides/what-is-slicing) will cover how slicing works and helps you configure your slicer.


# What is Slicing?

Whenever you want to print a model you will have to convert the model to a *.gcode* file type. This file type is a huge list of G-code commands that the Duet Board will process one by one in order to achieve a complete print. The G-code file is generated by software called a slicer. A slicer takes a model applies certain print and printer settings and generates the *.gcode* file. The model also has to be of a specific file type called a *.STL.* This file type can be generated from a CAD model that you designed or downloaded from the internet from websites such as [Thingiverse](https://www.thingiverse.com/), [Pinshape,](https://pinshape.com/) [MyMiniFactory ](https://www.myminifactory.com/)and many others!

## Finding an *.STL* File

It is possible to create your own *.STL* file by downloading a CAD (Computer Assisted Design) software such as SolidWorks or [TinkerCAD](https://www.tinkercad.com/). However, in order to take things one step at a time, we will go online and download a working model from the internet. This is because multiple constraints of the 3D printer have to be taken into account when designing a model for printing with a 3D printer.

Go to one of the websites listed above and download a *.STL* model of something you would want to print. For this guide I am going to use this model: [Customizable Yin-Yang Planter / Container](https://www.thingiverse.com/thing:2531208) by [Lucina M](https://www.thingiverse.com/Lucina/about). Follow the red markings below. Click Thing Files and then click the models you want to download the .*STL* files of. These files will then end up in your downloads folder.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHE-lyuMwBirREkEIi_%2F-LHE8o3TpybTjjyGm5mp%2Fhowtothingiverse.png?alt=media\&token=4b2cc5dc-6b3f-4940-8499-1fa7b0f614d1)

Next, we will move on to installing a slicer to slice the models we just downloaded.

## Installing Cura

For this guide we will use Cura to slice our model. [Download it here!](https://ultimaker.com/en/products/ultimaker-cura-software)

Continue with the installation process until you are able to launch Cura.

### Configuring Cura

Open Cura's Setting by pressing *Preferences > Configure Cura.*

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHE-lyuMwBirREkEIi_%2F-LHEBiNF86L4EkctPJrQ%2Fconfiguringcura.jpg?alt=media\&token=ba80d6e9-5823-471d-bab7-44ca1fee718c)

Once you have opened Cura's settings we will go to add a printer. This is because we need to tell Cura the specifics of our printer, such as the maximum build volume of the printer. Press *Printers* and then *Add* in order to add a new printer. This will open a new window.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHE-lyuMwBirREkEIi_%2F-LHECq1Z-9-5KblRRl6J%2Fconfiguringcura2.jpg?alt=media\&token=19f66a4c-e797-4897-a1f2-195da83306e6)

Next, press *Custom.* This indicates we are adding a custom printer to Cura's loadout. You can define the *Printer Name* however you want. Then press *Add Printer,* this should open another setting windo&#x77;*.*

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHE-lyuMwBirREkEIi_%2F-LHEDLTDhp0R_GeMck_f%2Fconfiguringcura3.jpg?alt=media\&token=20142237-8d73-482d-962b-9570a5338af7)

This window allows you to configure the printer settings of the Promega. This informs Cura of the Promega's build space, the firmware flavor and specifies starting and ending G-code. The build volume of the printer represents the maximum value that the printer can travel in each direction. The firmware flavor is the type of firmware that the board is running. The Duet Maestro board runs on RepRap firmware. Your firmware flavor indicates what type of commands the board can understand. The starting and ending G-code is a series of commands that are run at the start and at the end of every print. This is important as it allows you to retract your filament after the print and turn all the heaters off. Configure the settings in this window exactly as shown in the image below.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHE-lyuMwBirREkEIi_%2F-LHEJ_r1qobgdBJv1fgr%2Fcuramachinesettings.jpg?alt=media\&token=c600f426-cfb6-468d-be01-075357663331)

`; Starting G-code:`  \
`G1 Z15.0 F6000 ;Move the platform down 15mm`  \
`;Prime the extruder`  \
`G92 E0`  \
`G1 F200 E3`  \
`G92 E0`

`; Ending G-code`  \
`M104 S0`  \
`M140 S0`  \
`M106 S0`  \
`G28 X Y`  \
`G91`  \
`G1 Z10 S1`  \
`G90`  \
`;Retract the filament`  \
`G92 E3`  \
`G1 E-3 F300`

**Don't click** ***Close*** **just yet!** Move on to the *Extruder 1* tab and fill in the following information. Fill in the nozzle diameter and the material diameter. Your nozzle diameter may vary in the future as you mount different types of nozzles on the Promega. Then you can click *Close.*

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHE-lyuMwBirREkEIi_%2F-LHEKZXOSTGmf3CoooVo%2Fcuramachinesettings_extruder.jpg?alt=media\&token=cc21a58d-480c-48d7-8ee3-aee8d89f6ec2)

Once you have added the printer make sure to activate it by selecting the name and then clicking the button *Activate.*

### Importing the Printer Profile

The next step is to go to the M3D GitHub Promega repository, in the [Cura Profiles folder](https://github.com/PrintM3D/Promega/tree/devel/Cura%20Profiles) and download the Cura profile for your extruder setup. In order to download the Cura Profile, click on the file in GitHub and then press the Download button as seen in the image below, outline in red. This profile contains all kinds of print settings that help the Promega print well. You can find and tune these settings through experimentation at a later time. For now, this default profile will work well.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJ7ti8RozJmzJ3hXmu%2Fdownloadingcuraprofile.png?alt=media\&token=d24bc282-919c-432c-981b-84d86a9a37df)

In Cura, open the Preferences again by clicking *Preferences > Configure Cura.* Click *Profiles > Import*. Then a window will pop up that will allow you to navigate to the profile you just downloaded. It will most likely be in the *Downloads* folder.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJ8da60a79oyKJM4oF%2FImportingCuraprofile.png?alt=media\&token=59e63c98-a1da-45d2-acc6-1981a859d315)

Once you have properly imported the file you will have to *Activate* it. Select the profile and click the button *Activate.* The print settings you just downloaded have now been applied to Cura. Whenever you slice a model, it will now incorporate these settings.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJ8gPT2VfePjBUUSyM%2Factivatingcuraprofile.png?alt=media\&token=1a5e7b18-81c0-4d0f-8f64-c17edc84880d)

## How Cura Works

Now that you have properly configured Cura, we can go over how it operates, and how you can configure it. Look at the diagram below for a simple drawing of the most important functions of Cura. The buttons on the left side allow you to load a model into Cura. This is very important as loading a model into Cura begins the slicing process. The buttons below the *Open File* button allow you to manipulate the position, orientation and scale of the model. This is very important. On the right of the window you have buttons to select your material, and *Advanced Settings.* This tab allows you to configure the finer details of the print as you print with your Promega. Mastering the settings of this tab is extremely useful in order to produce fine and high detail prints. Before you print you should always review the settings in this tab in order to ensure that the printing temperature and other settings is correct for your print and material. Whenever you configure your settings and have your print in the correct position and orientation, you can click Prepare in the bottom right corner. Cura will then take a few seconds to slice the file and create a *.gcode* file. You will then be able to click the button *Save File* and then save the G-code file to a location file of your choice.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJ9moWg_Uj302MX9wf%2FCuraGuide.png?alt=media\&token=56a56257-08df-41a5-bf42-5a629d68f149)

## Slicing in Cura

### Opening a Model

Now we will actually slice the model we downloaded earlier. First, click the folder icon *Open File* in the top left of the window. Then navigate to the *.STL* file you downloaded earlier and press *Open.* You should then see the model appear on your build plate.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJC5mDVU6QtaG-dSLs%2Fcurahasamodel.png?alt=media\&token=022dcb03-8cd9-4f33-88d6-e049225eed0b)

In order to better view your model you can right click and drag in order to change the orientation of your model. Shift + Left Click and dragging will allow you to move the position of the camera. You can always home your view with the buttons in the top-left corner. In the image above I imported three different models.

### Positioning the Model

Use the b~~u~~ttons on the left of the window in order to orient and position the parts as you want. Make sure to keep appropriate distance between parts. Make sure that the parts also have a sufficient flat surface of their model to adhere to the print bed. Check out the images below for more guidance on part orientation.

![This is a good print layout](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJEIDrwLkBf2BrArtM%2FMovingmodelsaround.png?alt=media\&token=4ed6e874-6b06-450a-91bd-ef2604e1a706)

![Make sure the models are kept apart](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJEJo1VZcRFg1eEnRh%2Fdontcurathisway1.png?alt=media\&token=78578cb9-48b2-410c-8afe-0ed89698688d)

![Make sure the model is correctly oriented on the print bed](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJEPcsaawWWniBiGlq%2Fdontcurathisway2.png?alt=media\&token=f00b408f-3fdc-4498-b16a-10d596e2f539)

### Configuring Print Settings

Next, we will configure the print settings in Cura. This will all take place on the right side of the Cura window. In a tab called *Custom.*

{% hint style="info" %}
If you can't see any of the option in the steps below. Go to *Preferences > Configure Cura > Settings* and change the *Setting Visibility* to *Basic.* This will allow you to see more settings. Eventually, you can change this to *Advanced* or *Expert* in order to allow for more print setting options.

\_\_![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJFWGQ1yKsr6hOdyxG%2Fsettingvisibility.png?alt=media\&token=b292ba4f-4243-416a-bb66-5b1ea6e81369) \_\_
{% endhint %}

The only thing you should have to configure for your first print is the *Material: Temperature Setting.* Configure this based on the material you are printing with. If you are printing with ABS-R, I recommend a temperature of 235°C and if you are printing with PLA a temperature of 205°C is fit. Fill this into the box as shown below. For my print, I am printing with ABS-R, so I filled in 235°C.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJJ3PnUHuU8ESCI6kO%2Fsettingcuratemperature.png?alt=media\&token=eacd7da7-bd89-463f-b1c7-7337b017b004)

Now we are ready to slice the model. Just click Prepare in the bottom right corner. It might take a few seconds for Cura to slice the model. Click once and wait for a few seconds.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJ14S2auLuan3N_dt1%2F-LHJJOdS-V2O8ZEuIg7O%2Fslicingincura.png?alt=media\&token=47e61b68-2641-4f6f-9077-c74634f6cb4c)

Once you have sliced the model press the *Save to File* button. Then save the file to a location that you will remember. You will notice that the file you are saving is a *.gcode* file which is ready to print.

You are now ready to continue on to the next guide.


# Preparing The Print

Under Construction. Will be up soon.


# Printing The Print

This is the final guide in the Beginner Guides chapter. It will cover how to upload and monitor a print on the Duet Web Console. This guide assumes you have properly configured your printer with all the previous beginner guides. That means:

* You have homed your printer
* You have configured your Z-probe offset
* You have run and enabled mesh bed leveling
* You have loaded filament into the extruder

## Uploading the G-code File

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJKvRYSgPi9YCoq9TP%2F-LHJMO42BCgUjNoJGmEP%2Fuploadinggcodefiles.png?alt=media\&token=41704a18-a635-42fe-942f-46ba13cc223e)

First, we will have to upload the G-code file we produced in the previous guide. Connect to the Duet Web Console on the printer. Then, press the *G-code Files* button and then press the *Upload G-code File(s)* button as shown in the image above. This will open a window which will allow you to select the G-code file you sliced. *Open* the file and wait for it to upload.

## Printing the File

Once the file is uploaded, you can click the file in order to print it. A window will pop-up confirming that you are about to print something. Click *Yes.*

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJKvRYSgPi9YCoq9TP%2F-LHJOTh2YY8lAkMkWcyu%2Fprintingthegcodefile.png?alt=media\&token=9489e4ca-ad7f-4cec-bd54-d8a214adc48c)

## Monitoring the Print

Now, the print has started. First, the printer will reach it's designated printing temperature that you set in Cura. This might take a while and the printer will not start printing until all components have reached temperature. When the print starts the Duet Web Console will shift over to the *Print Status* tab on the Duet Web Console. This tab allows you to monitor certain settings of the print. Two of the functions on this tab are very useful: *Z Baby Stepping* and *Speed Factor* , these allow you to change the height of the Z and speed while printing. If you notice that a layer is not sticking, try to reduce the speed.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJKvRYSgPi9YCoq9TP%2F-LHJSMq0K_c5Oh3jYX9w%2Fprintstatussettings.png?alt=media\&token=e5a39a3e-5d0f-41d2-8daf-b0278de86cd7)

Your print should now be able to run to completion.


# Where To Go From Here

Now that you have completed the beginner guides you can continue to the following guides:

* Browse the [Getting Started](broken://pages/-LOsdR1vRubxX7V_9Auv) chapter to ensure you know everything
* Read the [Updating SD Card Structure ](broken://pages/-LH1ZbQK2pREbHCZ8zcK)guide to make sure your SD card is up-to-date.
* Read the [SD Card Structure](/documentation/software-firmware/sd-card-structure) guide to learn more about all the files on the SD card.


# Your Printer & Filament Settings


# Printer Settings (Default)

## CoreXY Motion Settings

{% hint style="warning" %}
Because the printer uses a CoreXY Motion setup, X and Y motion settings ***Must Be Identical.***
{% endhint %}

### Feedrate (Speed)

X Motion: 9000 mm/min

Y Motion: 9000 mm/min

Z Motion: 2300 mm/min

#### Input Code:

```
M203 X# Y# Z#
```

### Acceleration

X Acceleration: 3000 mm/s^2

Y Acceleration: 3000 mm/s^2

Z Acceleration: 75 mm/s^2

#### Input Code:

```
M201 X# Y# Z#
```

### Jerk

X Jerk: 350 mm/min

Y Jerk: 350 mm/min

Z Jerk: 50 mm/min

#### Input Code:

```
M566 X# Y# Z#
```

## Compound Mixing: Extruder Motor Settings

{% hint style="info" %}
E parameter format: E \[ Left Motor Value ] : \[ Right Motor Value ]
{% endhint %}

### Feedrate (Speed)

Left Motor: 5000 mm/min

Right Motor: 5000 mm/min

#### Input Code:

```
M203 E#:#
```

#### Example:

I want to set different rates between motors:

&#x20;Left motor feedrate (speed): 9000 mm/min&#x20;

Right motor feedrate (speed): 6000 mm/min

Input Code:

```
M203 E#:#
```

###

### Acceleration

Left Motor: 150 m/s^2

Right Motor: 150 m/s^2

#### Input Code:

```
M201 E#:#
```

#### Example

I want to set different rates between motors:

&#x20;Left motor acceleration: 2000 mm/sec^2&#x20;

Right motor acceleration: 3000 mm/sec^2

Input Code:

```
M201 E#:#
```

### Allowable Instantaneous Speed Change (Jerk)

Left Motor: 60 mm/min

Right Motor: 60 mm/min

#### Input Code:

```
M566 E#:#
```

#### Example

I want to set different rates between motors:

&#x20;Left motor Jerk: 900 mm/min

Right motor Jerk: 600 mm/min

Input Code:

```
M566 E#:#
```

## Single K'Tana: Extruder Motor Settings

{% hint style="info" %}
E parameter format: E \[ Left Motor Value ] : \[ Right Motor Value ]
{% endhint %}

### Feedrate (Speed)

Left Motor: 5000 mm/min

Right Motor: 5000 mm/min

#### Input Code:

```
M203 E#:#
```

#### Example:

I want to set different rates between motors:

&#x20;Left motor feedrate (speed): 9000 mm/min&#x20;

Right motor feedrate (speed): 6000 mm/min

Input Code:

```
M203 E#:#
```

###

### Acceleration

Left Motor: 150 mm/s^2

Right Motor: 150 mm/s^2

#### Input Code:

```
M201 E#:#
```

#### Example

I want to set different rates between motors:

&#x20;Left motor acceleration: 2000 mm/sec^2&#x20;

Right motor acceleration: 3000 mm/sec^2

Input Code:

```
M201 E#:#
```

### Allowable Instantaneous Speed Change (Jerk)

Left Motor: 60 mm/min

Right Motor: 60 mm/min

#### Input Code:

```
M566 E#:#
```

#### Example

I want to set different rates between motors:

&#x20;Left motor Jerk: 900 mm/min

Right motor Jerk: 600 mm/min

Input Code:

```
M566 E#:#
```

## Bed Probe Settings:

### XY Offsets

X Offset: - 43.0

Y Offset: 25.0

#### Input Code:

```
G31 T4 X-43 Y24
```

These values do not change. Do Not Change.

### Z Height Offset

This varies between each printer due to two reason:

1. The flatness of your bed directly affects the Z height offset. This will vary between each printer.
2. The absolute position of the bed probe (as a whole) can shift up and down, if not fixated.

#### Input Code:

```
G31 Z#
```

## Z Limit Switch Settings:

### Height Value

This varies between each printer due to two reason:

1. The flatness of your bed directly affects the Z height offset. This will vary between each printer.
2. The absolute position of the Z Limit Switch can vary between printers.

#### Input Code:

Open up machine\_zendstop.g (located under the sys folder). Follow instructions inside the file.

```
G92 Z#
```

## Temperature Settings

### PID Parameters

#### For Compound:

Proportional value (Kp): 22.1

Integral Value (Ki): 1.154

Derivative Value (Kd): 54.1

Maximum PWM: 1

#### For K'Tana:

Proportional value (Kp): 10.7

Integral Value (Ki): 0.477

Derivative Value (Kd): 38.8

Maximum PWM: 0.75

#### Input Code:

{% hint style="warning" %}
Changing these values can cause unexpected fluctuations in temperature. Proceed with caution.
{% endhint %}

For Compound Mixing:

```
M301 H2 P# I# D# S1
```

For Left, Single K'Tana:

```
M301 H1 P# I# D# S0.75
```

For Right, Single K'Tana:

```
M301 H2 P# I# D# S0.75
```

### Maximum, Allowable Temperature

Maximum Temperature: 320 C

#### Input Code:

{% hint style="warning" %}
If changing this value, allow for a + 15 C buffer between your intended maximum, allowable temperature.
{% endhint %}

For Compound:

```
M143 H2 S#
```

For Left, Single K'Tana:

```
M143 H1 S#
```

For Right, Single K'Tana:

```
M143 H2 S#
```


# ABS-R Filament

Follow this step by step guide for successful printing with ABS-R.

## Material Table

|                     | First Layer | Printing |
| ------------------- | ----------- | -------- |
| Bed Temperature     | 75°C        | 70°C     |
| Nozzle Temperature  | 235°C       | 235°C    |
| Retraction Distance | -           | -        |
| Retraction Speed    | -           | -        |

## Preparation

Follow the [Preparing a Print](/advanced-setup-guides/preparing-the-print) guide for more help on slicing a print. Incorporate the material settings above into printing and bed temperature.

## Guide

1. Heat the bed up to ABS-R first layer temperature
2. Once the bed is hot, probe the bed with `G30` and then level the bed with `G29 S0`. Follow the [Bed Leveling & Probing](/advanced-setup-guides/bed-leveling-and-probing) guide if you need help.
3. Heat up the nozzle to printing temperature and load filament. Follow the [Loading and Unloading Filament](/advanced-setup-guides/loading-and-unloading-filament) guide. It is best to extruder about 10  mm of filament to make sure filament is flowing through correctly. Remember to clear the extruded filament with tweezers before starting the print.
4. Upload the print to the board. For more help follow the [Running a Print](/beginners-setup-guides/running-a-print) guide.

## Quality Troubleshooting

Read the section below to improve the quality of your ABS-R print. The titles of the section below indicate the problems that you might see when printing ABS-R and how to solve them.

**Blobbing**

**Stringing**

**Under-extrusion**


# PLA Filament

Under Construction. Coming soon.


# Filament Extrusion Rate

The extrusion system on the Promega is designed to print at specific speeds at certain temperatures. Printing at the proper filament extrusion rate is essential to provide a good print. The Promega is designed to extrude at a rate of 5.7 mm^3/s. This number can change significantly depending on your printer and slicer settings and material.

## Calculating Filament Flow Rate

Calculating the flow rate of your extruder is typically very easy. The equations you can use to calculate filament flow rate depends on your print settings and whether you are printing or not. Follow the *Extruding in Air* section to calculate the flow rate while extruding filament in the air and the *Printing Flow Rate* section in order to find the filament flow rate while printing.

### Extruding in Air

When the extruder is printing filament into air, we can assume that the printer is creating a steady stream of filament at a slightly larger diameter than the diameter of the nozzle. If the extruder is not skipping, you can use the feedrate of the extruder move and the cross-section of the filament to calculate the flow rate. Because, all the filament that is being pushed by the extruder is pushed through the nozzle. Follow the equation below:

*Flow Rate (mm^3/s) = Feedrate (mm/s)* (Filament Cross-section) (mm^2)\*

*Filament Cross-section = pi* ((Filament Diameter) / 2)^2 \_\_Filament Cross-section for 1.75mm filament: 2.405 mm^2\*

**For Example:** You send the command `G1 E100 F200`, where you extrude 100mm of filament at 200 mm/min. You are using 1.75 mm filament.

*Flow Rate = 8 mm/s = pi* (1.75 / 2)^2 *(200 / 60) = 2.405* 3.333\*

Remember that the `G1` move command feedrate parameter, `F`, uses mm per minute. So divide the feedrate by 60 to obtain the feedrate in mm per second.

### Printing Flow Rate

When printing, the flow rate depends on your layer height, nozzle diameter and print speed.

*Flow Rate (mm^3/s) = (Extrusion Width)(mm)* (Layer Height)(mm) *Print Speed (mm/s)* *Extrusion Width is \~120% of nozzle diameter*

**For Example:** You have a 0.5 mm nozzle mounted and you are printing at 0.25mm layer height at a print speed of 30 mm/s.

*Extrusion Width = 0.6 mm = 1.2* 0.5 *Flow Rate = 4.5 mm^3/s = 0.6* 0.25 \* 30

## Promega Flow Rate

The Promega is designed to extrude filament at 5.7 mm^3/s. If you find your extruder skipping or notice print quality problems, do a filament flow calculation to determine the extrusion rate you are printing at. The extrusion rate of the Promega can be increased significantly depending on material, printing temperature and other factors. Feel free to experiment and push the printer to its limits! But remember to calculate the filament flow rate to determine whether your goal is realistic.


# How To Mix

There are two ways to mix:

**Through the Duet Web Control (DWC)**

AND/OR

**Cura Melt Plugin**

## Duet Web Control (DWC)

Go To G-Code Console

Run&#x20;

```
M567 P# E#:#
```

P# = Tool Number

E#:# = Mixing Ratios \[ LEFT FILAMENT ] : \[ RIGHT FILAMENT ]

{% hint style="info" %}
Heres a link to the[ Duet3D Documentation on M567](https://duet3d.dozuki.com/Wiki/Gcode#Section_M567_Set_tool_mix_ratios)
{% endhint %}

####

#### Example

```
M567 P0 E0.5:0.5
```

P0 = Tool 0

E0.25:0.75 = 25% of Left Filament : 75% of Right Filament&#x20;

## Cura Melt Plugin

Under Construction

{% hint style="info" %}
Here's a link to the [Cura Melt Plugin](https://github.com/PrintM3D/MELT)
{% endhint %}

Thanks to ***gargansa*** for developing the plugin.

## Voxelizer

Coming Soon.


# How To Properly Apply Elmer's Glue

A guide on how to apply Elmer's Glue properly.

#### Let's begin.

Heat the bed to 70 C.

{% hint style="info" %}
Wait for the bed to reach temperature.
{% endhint %}

Lightly apply a THIN layer of Elmer's glue.

The lines applied showed by all consistent (either horizontal, vertical, or diagonal)

{% hint style="warning" %}
Do Not make crazy lines.
{% endhint %}

Wait for the layer to dry.

{% hint style="info" %}
The purple tint of the glue will fade away.
{% endhint %}

Repeat: Apply another THIN layer of Elmer's glue.

You should repeat the THIN layer application until you've done 5 layers.

Thanks to ***m3rc*** for figuring this out.


# Documentation


# Software/Firmware


# SD Card Structure

One of the first steps of setting up your printer is getting access to and understanding the files stored on the microSD card. This guide will cover the basic structure of the files on the SD card. Follow the [Accessing Your SD Card](broken://pages/-LOsewEVG2OVqh2vLOZh#accessing-the-microsd) guide for more assistance on how to get to the files located on the microSD card.

## File Structure

On the microSD card there are four different folders: *gcodes*, *macros*, *sys* and *www*. These folders contain all the information the Duet board needs to operate properly. Below is a list of the folders and their purpose.

* ***gcodes***: This folder contains *.gcode* files that can be run by the Duet. If you upload print files through the Duet Web Console or via a microSD card they should be placed in this folder.
* ***macros***: Any macro files that you create should be located in this folder. Macros are *.gcode* files that can be executed to perform a repetetive task more quickly.
* ***sys***: Configuration files of the printer. Contains important *.gcode* files such as *config.g* which are executed on startup. You will need to change files in this folder regularly.
* ***www***: Holds all files necessary for the operation of the Duet Web Console. It is recommended not to mess with the files here unless you are familiar with web development.

## Sys Organization

As mentioned before, the *sys/* folder contains all sorts of system files. The most important file is *config.g*. This file is executed on the start-up of the Duet Maestro board in order to configure the Promega settings. If you wanted to add a command to the start-up sequence, you should insert it in *config.g*. In the *sys/* folder you will also notice a handful of other files with the *machine* prefix. These files are called from *config.g* with the `M98` command and they represent part of the start-up sequence. The *sys/* folder is structured to indicate which files are recommended to be changed and which are not.

**Machine Files**

Below is a list of files with the *machine* prefix. **This prefix indicates that they should be opened and can be changed to your preferences**.

* *A Instructions.txt:* This file contains a further explanation and instructions of the files on the SD card.
* *machine\_access.g*: This file contains G-code commands to properly setup the network settings. Open and change this file in order to allow the Duet Maestro to connect to your local network. Follow the [Network Setup](broken://pages/-LOshvboTbWC-C0o-1ky) guide in order to setup your network.
* *machine\_axisdimensions.g*: This file contains G-code commands to initialize the minimum and the maximum values of the coordinate axes. Change the values in this file in order to allow your gantry to move to the absolute limits of your buildspace. Use caution when changing the axes limits.
* *machine\_axissteps.g*: The axis steps per millimeter for the stepper motors are placed here. Changing these values should not be necessary as they are already properly configured.
* *machine\_bedmesh.g*: This file initializes the bed leveling mesh.
* *machine\_extruderstep.g*: Configure your extruder steps per millimeter here.
* *machine\_maxtemp.g*: Change the maximum temperature of your extruder in this file.
* *machine\_steppercurrent.g*: The stepper motor current is configured here. Changing stepper motor current is not without risk, riasing the current too high can cause damage to the stepper motors and the printer.
* *machine\_stepperspeed.g*: Contains the maximum speed, acceleration and jerk settings of the printer.
* *machine\_zendstop.g*: Change the offset of the Z-endstop on the bottom printer. This file must be manually configured for each printer depending on the printers configuration.
* *machine\_zprobe.g*: Change the Z-probe settings here. This file allows you to select the IR or limit switch probe and configure the offsets of the probes.

## **Other Files**

In the *sys* folder you will find many other files which handle other important aspects of the printer. Observe the list below for an explanation of the different files.

* *config.g*: This file is called upon the boot-up of the Duet board. Place G-code commands here in order for them to be executed on start-up. This file calls multiple machine files listed above with the `M98` command.
* *homex.g*, *homey.g*, *homez.g* and *homeall.g*: These files operate the homing procedure. Follow [Homing the Printer](/beginners-setup-guides/homing-the-printer) for more help on homing the printer, and [Adjusting Homing Macros](/documentation/software-firmware/adjust-homing-macros) in order to adjust the homing macros.


# Updating Firmware

Updating your firmware can be important to obtain the latest features and bug fixes. The Duet Maestro board uses a fork of RepRap firmware to control a 3D printer. The latest firmware can be found on DC42's [GitHub Page](https://github.com/dc42/RepRapFirmware/releases). There you can download the *.bin* firmware files and, most importantly, read the change log. Note that some firmware releases are experimental and will be classified as an early-release. This means there is a higher risk of unintended bugs in the firmware version.

**Warning: Updating your firmware can cause unintended consequences. Be aware that upgrading or downgrading to unstable firmware versions can cause unexpected bugs and issues. Use caution!**

## Identify Firmware Version

In order to find out if you want to update the firmware on the Duet Maestro you need to find your current version. You can view the RepRap firmware version in the Duet Web Console Settings Tab. Alternatively, you can use `M122`, command `M122` is the diagnose/debug command for RepRap firmware. If you send command `M122` the board will display a lot of debug statistics. In the first few lines the board will print out what firmware version it is running. Based on your firmware version, you might be able to identify if you are encountering a specific bug. Check DC42's github page regularly in order to read the latest firmware changes and see if any would be useful to you.

![Checking the RepRap Firmware Version](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zes5nqDELE-hbOwd%2F7F3Tzsd7JHRwM9se-firmwareversionid.png?generation=1531199042697036\&alt=media)

## Upgrade: Via the Web Control

Download the desired firmware version from DC42's github page.&#x20;

* *DuetMaestroFirmware.bin*
* *iap4s.bin*

{% hint style="info" %}
iap4s.bin is not readily part of new.
{% endhint %}

Go to the settings tab of the Duet Web Console and find the *Upload File(s)* button.&#x20;

{% hint style="warning" %}
This is not for uploading prints.
{% endhint %}

Files uploaded here will be stored in the *sys/* directory of the microSD card. Upload the *iap4s.bin* and *DuetMaestroFirmware.bin* files.

![aosmza6ID0m8KJ7A-uploadsysfiles.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZesBO7WdL-F1AEMl%2Faosmza6ID0m8KJ7A-uploadsysfiles.png?generation=1531199046722453\&alt=media)

Once both files are uploaded successfully, go to the *G-code Console*. Send the command `M997 S0`. This will begin the process of upgrading Duet firmware.

When the firmware upgrade is completed, you can visit the *Settings* tab in order to ensure that the *Firmware Version* has been updated to the preferred version.&#x20;

If you prefer, you can now delete the *iap4s.bin* and *DuetMaestroFirmware.bin* files from the *sys/* directory.

## Upgrade: Via the USB cable

{% hint style="info" %}
You need an additional jumper.&#x20;
{% endhint %}

#### We are first going to erase the Duet board's firmware.

***Turn Off*** the Power Switch

Install the jumper into ERASE.

![The ERASE jumper.](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-d8LgGVW8HFkUTjAF%2FErase_Jumper.jpg?alt=media\&token=267c1c82-2582-499c-9abf-e204b0c458f5)

***Turn*** ***On*** the Power Switch.&#x20;

Wait 3 seconds. Press the Reset button.

![The Reset Button](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-dSSdLeLn2VM7uH5Q%2FReset_Button.jpg?alt=media\&token=65315300-57a7-416b-858c-c824f7d0a223)

Wait 3 seconds. Turn Off the Power Switch.

Remove the ERASE jumper.

#### The firmware is now erased. Let's install the new firmware.

Connect your USB cable to the Duet Board & your computer.

![The Micro-USB ](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-dwIW7NiJv7MQwXSA%2FUSB_Plug.jpg?alt=media\&token=f3f299fd-5582-4015-b9eb-8f9b15dbe5f6)

Open the BOSSA program.&#x20;

{% hint style="info" %}
If not installed, [download](https://github.com/shumatech/BOSSA/releases) here. Use version BOSSA 1.8.
{% endhint %}

![BOSSA Window](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-gpTmuoRpA11fx9z0%2FBossa.PNG?alt=media\&token=b97ad4fe-e26b-443b-be3b-2b46e9a69fa4)

Choose the correct COM port.

![COM Port Location](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-hAlO00YcwZXpCKMd%2FCOM_Port.png?alt=media\&token=2cae2b31-7622-4666-9be2-46fdd8ad9dfe)

Check and/or Uncheck these boxes.

![Match The Check (and Unchecked) Boxes](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-gDz0kxphcVg2gynX%2FCheck_Boxes_Bossa.PNG?alt=media\&token=f1c1a7e0-6bc4-4fca-bb1b-d4d424539bae)

Link to the firmware.

{% hint style="info" %}
The firmware file is probably in the ***Download*** folder.
{% endhint %}

![Link to Firmware](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-gZu6AqzDZ9Dzad0-%2FLink_Firmware.png?alt=media\&token=6de6d555-4884-47cf-8a98-f56d86c2fb45)

Press Write.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-bili7V3Qmz4Zhlo8%2F-LQ-hCk-wUGLZ9fumqgn%2FWrite_Button.png?alt=media\&token=5c93bf53-feec-46a6-a5e2-8c978c2adf32)

Done.

## Other Resources

1. [Duet 3D Wiki: Updating and Installing Firmware](https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware)
2. [Duet3D Forum](https://forum.duet3d.com/): For firmware and Duet specific questions
3. [Duet Fork of RepRap Firmware](https://github.com/dc42/RepRapFirmware)


# Macros

Under Construction. Coming soon.


# Adjust Homing Macros

Whenever you press the homing buttons located on the *Machine Control* tab of the Duet Web Interface macros are called. This guide will cover the possible changes you can make to your homing G-code files. For assistance in homing your printer checkout the [Homing the Printer](/beginners-setup-guides/homing-the-printer) guide.

## Homing Macros

If you looked inside the *sys/* directory of the microSD card you will have noticed five homing files. These homing files control the homing of different components of the printer.

* **homeall.g**: This file contains G-code to home all three axes of the printer. This file is executed whenever the command `G28` is entered or whenever the *Home All* button on the Duet Web Interface is pressed.
* **homex.g & homey.g**: This file contains G-code to home the coreXY system of this printer. Because this printer is a coreXY system, the X and Y axes are linked. We recommend that whenever you home your X axis, you also home your Y axis. This is visible in these G-code files as they are both the same. Each g-code file homes both the X and Y axes. If you prefer, it is possible to separate the homing of the two axes. These files are executed whenever the *Home X* or *Home Y* buttons are pressed or when `G28 X` or `G28 Y` is sent.
* **homez.g**: This file contains G-code to home the Z-axis of this printer. It is called whenever you press the *Home Z* button on the Duet Web Interface or `G28 Z` is sent.
* **homedelta.g**: This file is for homing a delta printer, so obviously not very necessary.

**Changing the Macros**

You are free to change the G-code in the homing macros. But be careful as you could easily crash your printer. When your printer is not homed but moves to a physical limit it will skip motors or belts. Please be sure of the direction you are sending your assemblies and ensure that they will hit the limit switch. Each homing macro contains a few critical commands, in the section below we will go over those commands.

* `M564 H0 S0`: Ignore Machine Boundaries, when you home the printer it is likely because you want to define the printers location and limits. To do this the printer might have to pass through boundaries set in the config.g file. The printer also has to be allowed to move while the axes are not homed. This exception to allow movement while not homed and through axes limits is performed with this command. Put this command at the start of every homing macro. At the end of the homing macro you can engage the axes limitation and homing requirement again with the command `M564 H1 S1`.
* `M561` & `G29 S2`: These two command disable bed leveling compenation during this process. It is best not to compensate for bed leveling while homing. Therefore you can disable bed leveling compensation at the beginning of the macro and enable it with the command `G29 S1` at the end of the macro.
* `G91`: Change to relative positioning. Because the printer does not know where it is, this command will base its movement based on the current position. In order to change back to absolute positioning enter the command `G90` at the end of the macro.
* `G1 S1`: The move command is important to allow the carriage to move to the desired location. It is vital to include the `S` parameter in this command with a value of 1 in order to enable endstop detection. Endstop detection means the printer will check if an endstop was hit. Failure to provide this parameter will crash the printer!
* `G92`: This command allows you to set the value of a particular axis. This is the core command of the homing process, whenever you hit a limit switch, you can use `G92` to define the printers position.
* `M208`: This command allows you to define axes limits which can then be enabled and enforced with `M564`.

**Homing Procedure**

When the Promega certain physical constraints have to be taken into consideration.


# Tool Definitions

This guide will explains the default tool definitions for both the K'Tana and the Compound and explains how to change tools. This can be useful to create complex mixing and switching prints. This guide is not for beginners. Read the [Introduction to Tools](/advanced-setup-guides/meet-the-extruder#tools) guide in order to better understand the tool system.

## Default Tool Definitions

Compound Tools:

* `T0`: Mixing tool
  * Extruder Drive 0 (Left) & Extruder Drive 1 (Right)
  * Heater 2
  * Allows for extruding two filaments and combining them at a 1:1 ratio
* `T1`: Single Left
  * Extruder 0 (Left)
  * Heater 2
  * Extrudes with only the right extruder
* `T2`: Single Right
  * Extruder 1 (Right)
  * Heater 2
  * Extrudes with only the left extruder

K'Tana Tools:

* `T0`: K'tana Single Left
  * Extruder Drive 0 (Left)
  * Heater 1
* `T1`: K'tana Single Right
  * Extruder Drive 1 (Right)
  * Heater 2

As seen above, the Promega has two different extruder drives and two heaters. The current configuration is set-up to make everything on the left a lower number than everything on the right. For example if you were using the left K'tana extruder tool it would:

* Be called `T0`&#x20;
* Use extruder drive `D0` which is plugged into extruder motor port 0 on the Duet Maestro
* Use heater `H1` (remember that `H0` is reserved for the heated bed)

This same concept is applied throughout all the different tools with one exception. The compound uses Heater 2 or `H2` . The reason for this is that the compound wiring comes around the right side of the extruder, hence we found it logical to assign this to heater 2. All wiring and configuration can be changed to your personal preference.

## Tool Definition Command `M563`

The `M563` command allows you to define a tool, it has the following parameters:

* `Pnnn` : The tool number
* `S"toolname"`: The tool name
* `Dnnn` : The assigned extruder drive
* `Hnnn` : The assigned heater number
* `Fnnn` : The fans mapped to the tool.

The extruder drive numbers start from 0 and immediately follow the X, Y and Z axes stepper motor drives on the Duet Board. You can configure the order of these drives with the `M584` command.

The heater number is usually higher than 1 since 0 is the heated bed.

The nozzle fans are mapped to port 2 on the Duet Maestro. So configuring `F2` in the tool definitions will allow you to turn on the fans with the `M106 Snnn` command instead of the `M106 P2 Snnn` command.

## Defining Your Own Tools

Defining your own tools is useful to create prints that switch colors in the middle of a print. This is more applicable to the compound tool than the K'tana. To define a new tool enter the `M563` command in the configuration file, then follow it with the extruder drive and heater number that you would like to use.

## Mixing Ratios

To enable mixing rations for ta specific tool. Enter the `M568` command with the tool number (`Pnnn` ) and the enable parameter (`Snnn` ). For example, if I wanted to enable tool mixing for tool 3 I would enter the command `M568 P3 S1` .&#x20;

To configure the actual tool mixing ratio, use the `M567` command. This will tell the firmware to use one stepper motor drive to move more than the other one when handling an extruder move. `M567 Pnnn Emmm:kkk:llll:iii` where `nnn` represents the tool number. And the rest of the letters the tool ratios of the specific extruder drives.  The total of the `mmm, kkk, llll and iii` parameters should add up to 1 in order to produce a normal and expected extrusion flow rate.

## Additional Resources

* [Duet 3D Wiki `M563` ](https://duet3d.dozuki.com/Wiki/Gcode#Section_M563_Define_or_remove_a_tool)
* [Duet 3D Wiki `M567`](https://duet3d.dozuki.com/Wiki/Gcode#Section_M567_Set_tool_mix_ratios)&#x20;
* [Duet 3D Wiki `M568`](https://duet3d.dozuki.com/Wiki/Gcode#Section_M568_Turn_off_on_tool_mix_ratios)&#x20;


# Duet Driver

## How To Install

Under Construction.


# Electronics


# The Electrical Standard

This guide serves to describe the standard for the electrical system of the Promega and the reasoning behind it.

## The Standard

For all electrical components of the Promega, when facing the front, left should indicate 0, or a lower number and right should indicate 1 or a higher number.

For example: The right K'tana tool uses extruder drive 1 and heater 2 to work.

## Reasoning

The Duet board features two different ports for the extruders, thermistors and heaters. Additionally, the extruder assembly wiring features different connectors for all of these components. On top of that, you can configure the software settings of each of the tools in order to use particular heaters or extruders. This all combined allows you to create a large number of configurations for the extruder wiring. This standard is meant to explain and standardize that wiring.

## Explanation

### Extruder Drives

The Duet Maestro board has two different ports for the extruder, often referred to as E0 and E1. With this standard, the E0 port will power the left extruder and E1 will power the right extruder, always.

### Heaters

The Duet Maestro has two different heater ports labeled E0 HEAT and E1 HEAT. These are also noted as H1 and H2, because the heated bed is H0. With the standard, H1 will correspond to the left heater and H2 to the right heater.

## Thermistor

The thermistors ports on the Duet Maestro are referred to as E0 TEMP and E1 TEMP. In the firmware of the Duet, E0 TEMP is always bound to E0 HEAT and E1 TEMP is bound to E1 HEAT. Therefore, E0 TEMP corresponds to the left extruder and heater and E1 TEMP corresponds to the right extruder and heater.

## Tools

The lower tool number will apply to the left extruder and heater and the higher tool number to the right extruder and heater.

## Deviating from the Standard

In the configuration files and the wiring of the Promega you can deviate from this standard. To change the tool definition in the configuration files, read the [Help! My Extruders are Backwards](/how-to-troubleshoot/common-troubleshooting/help-my-extruders-are-backwards) guide. For wiring read [Duet Maestro Wiring](/documentation/electronics/duet-maestro-wiring) and [Extruder Assembly Wiring](/documentation/electronics/extruder-assembly-wiring).


# Duet Maestro Wiring

This guide covers the wiring of the Promega along with possible wiring solutions to problems. Properly understanding the wiring of the Promega is extremely important. Shorting the Duet Maestro board can be done easily. Follow and acknowledge the warnings listed in [Critical Warnings](broken://pages/-LH1ZbPlUozYbLOsp7GC). The Duet Maestro board can be easily damaged or broken by:

1. Wiring the board incorrectly and causing a short
2. Electro-static Discharge
3. Generating too much voltage by manually moving motors
4. Plugging in and unplugging components while the system is powered
5. Touching electrical components while the system is powered

## Wiring Guide

### Duet Maestro Ports

![Duet Maestro Component Diagram](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znt0PEFqrVY_1JNI%2F7hDuL5UFuMyWk6z6-duetcomponents.jfif?generation=1531199070290649\&alt=media)

The image above displays the ports found on the Duet Maestro and their functions.

### Connection Diagram

![Duet Maestro Promega Wiring Diagram](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znt39PnQv6VcFV_I%2FEegR4vx3jEAcoiyn-guideswiringdiagram.png?generation=1531199073424198\&alt=media)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDclzcxyktJzIURT_k%2F-LPDfvaoUsp72A8HxB07%2FDetailed%20maestro%20wiring%20guide.PNG?alt=media\&token=f325e470-36d6-440c-978a-b8fe989db157)

Each text in the textbox of the first image represents the text found on each cable near the connector. Not all cables have text, but they will have some other feature that identifies them. Read the list, Notes, below for a further explanation on the unmarked wires. Each textbox color represents the cable assembly that the wires are a part of. White represents the cables going up towards the extruder assembly. Red, the cables to the Z and power supply. Blue, the limit switch wires and purple, the wires to the power supply.

![Wiring Label](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znt5Jf0VPBcq9Oks%2FXUyuNhhtrJXntxGO-wiringlabel.jpg?generation=1531199070245231\&alt=media)

![Promega Wiring Assemblies](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znt7N-jJJ0I6r3Xp%2F75W5FDmOfQHmwC8n-promegawiringassemblies.jpg?generation=1531199068740395\&alt=media)

Notes:

* The Z-motor cable is coiled to form a rope. The Y-motor is not. Plugging them in wrong will not result in damage but will result in flipped Y and Z axes.
* The X-motor is an unlabeled 4 pin connector coming from the extruder cable assembly. The colors of the wire are red, green, blue and black. It should be the only 4-wire cable with these colors coming from the extruder cable assembly.
* The Z-probe wires are connected to the 5-pin z-probe connector. Only three pins are used. From left to right:
  1. Signal Port: Black Cable, S10
  2. GND Port: White Cable, P5
  3. MOD Port: Empty
  4. 3.3V Port: Brown Cable, S9
  5. 5V Port: Empty

### Z-probe Wiring

![IR Z-Probe Board](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZntAOhipVBabSqcV%2FphTkVDKc8HaMIdc4-irprobeports.jpg?generation=1531199072533725\&alt=media)

The IR Z-probe ports are listed in the image above. The z-probe board can be powered off both 5V and 3.3V, both pins are found on the Duet Maestro Z-probe connector. We recommend you power the z-probe board with 3.3V as it produces a significantly less noisy signal than 5V, and therefore produces are more consistent distance reading.

### Promega Resistance Table

The Promega electrical components have specific resistances attributed to them. This can make troubleshooting components much easier. With a multi-meter set to measure resistance, you can measure the resistance of a thermistor or heater and compare the reading with the values in the table below. Whenever you are working with electrical components we recommend you switch off the power to the Duet board!

**Resistance Table**

| Component              | Expected Value (Ω) |
| ---------------------- | ------------------ |
| Extruder PT1000        | 1090\* Ω           |
| Extruder Heater        | 13.1 Ω             |
| Bed                    | 2.2 Ω              |
| Bed Thermistor         | 106800\* Ω         |
| Extruder Stepper Motor | 19.3 Ω             |
| Axis Stepper Motor     | 9.0 Ω              |

\*Remember that the resistance of a thermistor is dependent on temperature and will vary from this reading! Thermistor resistance values listed above were taken at room temperature (\~24 C)

### Jumpers

You might notice that your Duet Maestro board for the Promega came with several jumpers on the board. In case you are not familiar with what a jumper is, it represents a connector bridging two electrical components or signals. Read this for more about jumpers: \[Wikipedia: Jumpers]\(<https://en.wikipedia.org/wiki/Jumper_(computing>)). Your Duet should have 5 different jumpers, located as seen in the image below.

![Duet Maestro Jumper Placement](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZntIGJQ2ZZk3CmRP%2FW1auipj2Zhq0fiKu-DuetMaestroJumpers.jpg?generation=1531199047521195\&alt=media)

Jumpers:

1. Allows for internal 5V power when Vin (24V) is connected
2. Fan voltage jumper, B FAN2, set to 5V for nozzle fan
3. Fan voltage jumper, A Always-on-fan set to Vin for cold-section fan
4. and 5. Only one Z-motor on the Promega, so jumpers are required to properly connect Z-motor to the stepper motor driver.

### Before you continue

If you change the wiring of your printer it is best to proceed with the following steps before continuing to prevent damage.

1. Double check the wiring of every single wire you changed.&#x20;
2. Plug in the power supply while the printer is switched **off**.&#x20;
3. Turn the printer on&#x20;
4. Connect to the Duet Web Console&#x20;
5. Verify the temperature readouts of all heating components.&#x20;
6. Test each component individually
   1. Move each motor independently and confirm that it is travelling in the correct direction.
   2. Heat up your nozzle(s)
   3. Heat up your bed
   4. Press each limit switch and test z-probes
7. You should be ready to go!

### Extra Resources:

There is way more to the electronics of the Duet Maestro board. Follow the links below for more help and information regarding the Duet Maestro.

1. [Duet Maestro Pinout](https://duet3d.dozuki.com/Wiki/Duet_2_Maestro_Wiring_Diagram)&#x20;
2. [Duet Maestro Hardware Overview](https://duet3d.dozuki.com/Wiki/Duet_2_Maestro_Hardware_Overview#Section_Wiring_and_pinout)&#x20;
3. [M3D Support](https://printm3d.com/support)&#x20;
4. [Duet3D forum](https://forum.duet3d.com/): A great place for very specific Duet Maestro and RepRap firmware questions


# Extruder Assembly Wiring

The extruder assembly wiring is important to do correctly. Follow the guide below for an explanation of the extruder wiring. The first 50 printers will have an older cable assembly as mentioned

## New Extruder Assembly Wiring

The new extruder assembly is printed in black ABS-R filament, pictured below. This section covers the wiring for the new extruder wiring assembly. If you are removing the old wiring assembly and replacing it with the new wiring assembly follow the *Removing the Old Extruder Wiring Assembly* section below first.

![New Extruder Cable Assembly](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnUyp7AGRFhKNW0p%2F1ABXgjJYPLVJdnEt-newcableassembly.jpg?generation=1531199068804384\&alt=media)

### Required Items and Tools

**Tools:**

* T10 Torx Screwdriver
* 2mm Hex Screwdriver
* Phillips Head Screwdriver

**Materials:**

* 3x M3 20mm Countersunk T10 Torx bolts
* 2x M3 35mm Countersunk 2mm Hex bolts
* 2x M3 nuts
* 1x M3 locknut

![Tools and Materials Required](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnV2Uq4_D93jbKb0%2F9HlxcT59uCVkHiDD-stufffornewcableassembly.jpg?generation=1531199062924447\&alt=media)

### Preparation

1. Remove the two stepper motor screws pictured below.

   ![CCjVc7C1PBeQ7h90-steppermotorscrewsremove.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnV4Rctkfn37FSjx%2FCCjVc7C1PBeQ7h90-steppermotorscrewsremove.jpg?generation=1531199081835085\&alt=media)
2. Open up 3 or more of the cable chain links nearest to the extruder. This will give you more room to work. Follow [Opening the Cable Chain](/repair-and-maintenance/install-uninstall/cable-chain#how-to-open) guide for help.

   ![hrb6GfZZ3GSWsBrd-opencablechainlinks.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnV6J2LrQRprZcUc%2Fhrb6GfZZ3GSWsBrd-opencablechainlinks.jpg?generation=1531199067443099\&alt=media)
3. Cut the zip-ties holding the cable to the back of the printer. Pull the cable out of the cable wrap. This will allow you to redistribute the slack in the wiring. Throughout the following steps, if you find that you do not have enough slack to wire the cable as shown consider pulling slack from the Duet board through the cable chain, to the extruder.

   ![7st7KO6e4OQ02rMX-cutzipties.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnV8THionNORZ7YK%2F7st7KO6e4OQ02rMX-cutzipties.jpg?generation=1531199055364508\&alt=media)
4. Put the two M3 nuts into the channels pictured below. Make sure the nuts are properly in the center of the screw hole. You can choose to superglue the nut in place.

   ![IIQsjycZoHJvkNyT-nutpreparation.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVA76RJCWwAl6qV%2FIIQsjycZoHJvkNyT-nutpreparation.jpg?generation=1531199060674258\&alt=media)
5. Put the M3 locknut in the hole pictured below. Push the lock nut all the way into the hole with a small screwdriver. It might help to place a bit of superglue on the lock nut to keep it in place.

   ![QZ38xar0UPBjx5c8-locknutpreparation.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVCIgh4l2IzxIb_%2FQZ38xar0UPBjx5c8-locknutpreparation.jpg?generation=1531199057332087\&alt=media)

   **Assembly**
6. Mount the back of the new extruder wiring assembly to the stepper motor with the two 35mm M3 screws.

   ![U4QVxGwBLZCXdrnv-wheretomountassembly.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVE21sLSOA_0-fA%2FU4QVxGwBLZCXdrnv-wheretomountassembly.jpg?generation=1531199060007000\&alt=media)
7. Identify whether the nozzle fan is connected to connector P9 or P11. **This varies per printer.** You can either perform a continuity test between the wires. Or observe the colors of the cable and the ports they are plugged into on the duet board. Plugging in the nozzle fan into the cold-section fan connector will break the nozzle fans. In the example below, the blue-green wire will correspond to the nozzle fan and the orange-yellow wire to the cold section fan. **There are multiple wires of the same color!** Find the wires with the colors blue-green and yellow-orange along with the labels P9 and P11.

   ![VcXc2SJD2pqGE0Xc-nozzlevscoldsectionfan.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVGRwQ7EauHl403%2FVcXc2SJD2pqGE0Xc-nozzlevscoldsectionfan.jpg?generation=1531199082030841\&alt=media)
8. Place the nozzle fan connector, that you identified in the previous step, in the slot pictured below. The nozzle fan connector varies for each printer. It will either be P11 or P9. Route the wires as shown in the picture.

   ![v6zVA7zliNjAhyjM-newcableassemblynozzlefan.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVI-MQI9m7-P5Gi%2Fv6zVA7zliNjAhyjM-newcableassemblynozzlefan.jpg?generation=1531199062968397\&alt=media)
9. Place the cold-section fan connector in the slot above the nozzle-fan connector. Route the wires as shown in the picture.

   ![UcaX26ms7PwA8cOn-cold-sectionfanconnector.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVKIAYtSSl_D-Vj%2FUcaX26ms7PwA8cOn-cold-sectionfanconnector.jpg?generation=1531199065246848\&alt=media)
10. Place the thermistor connector S8 in the slot pictured below. Route the cable as shown. (Color of wire in image is wrong, match the labels, not the colors)

    ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHZfj0larU8JimcBbmi%2F-LHZhFbxfg0BAoOrKaVm%2Fnew_extruder_wiring_S8.jpg?alt=media\&token=c9d64771-e646-43c8-afa0-bc5120cf2f04)
11. Place the other thermistor connector S6 in the slot pictured below. Route the cable as shown. (Color of wire in image is wrong, match the labels, not the colors)

    ![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHZfj0larU8JimcBbmi%2F-LHZhDzQRDfommc3Z91b%2Fnew_extruder_wiring_S6.jpg?alt=media\&token=37c9f2fb-fc1f-4559-835e-021d31ab6dd4)
12. Take the two stepper motor connectors P4 and P2 and place them as shown below.

    ![HOZ6vMhjB3bK6mTL-motorconnectorsplacement.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVQ3TsQYrSmx29D%2FHOZ6vMhjB3bK6mTL-motorconnectorsplacement.jpg?generation=1531199056938437\&alt=media)
13. Place the two heater cables (H2 and H4) as shown below. Note: the wiring of H4 should follow the red line, do not wire as shown in the image or the wiring will hit your print.

    ![cNOfX5DXdNPft6QV-heaterconnectorplacement.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVSlHUSUpHB3_eM%2FcNOfX5DXdNPft6QV-heaterconnectorplacement.jpg?generation=1531199066206962\&alt=media)
14. Plug in the cold-section fan cable in the top port pictured. **Do not plug in the nozzle fan yet**. Turn on the printer, and the cold-section fan should run. If it does not **the fans might be wired backwards** double check the wiring before continuing. If the cold-section fan worked as expected, plug in the nozzle fans into the bottom connector.

    ![ce5I1a6wxc1DMQBC-wheretoplugfans.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVYAzSSZegi4XBc%2Fce5I1a6wxc1DMQBC-wheretoplugfans.jpg?generation=1531199067062086\&alt=media)
15. Plug in the right-side (when facing the printer from the front) heater, thermistor and stepper motor. If you are using the Compound nozzle, plug in the heater and thermistor as shown below.

    ![610hfv9gT9OSzyCr-wheretorouteleftsidestuff.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnV_YnJvZ9UMkTZO%2F610hfv9gT9OSzyCr-wheretorouteleftsidestuff.jpg?generation=1531199069015333\&alt=media)
16. Plug in the left-side (when facing the printer from the front), heater, thermistor and stepper motor.

    ![0YlPJcOD89gOUvF5-allwirespluggedin.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVbD-h9WDr4ce_3%2F0YlPJcOD89gOUvF5-allwirespluggedin.jpg?generation=1531199055407749\&alt=media)
17. Route all wires through the circled channels shown below. Make sure to keep the circled peg clear of wires.

    ![RBBYPtPlbMMZs8Zs-how-to-route-wires.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVdVfRyhY8w6O6V%2FRBBYPtPlbMMZs8Zs-how-to-route-wires.jpg?generation=1531199066388710\&alt=media)
18. Put the cable chain into place. Use the M3 20mm bolt to screw down the cable chain into the locknut.

    ![GuN0ckkLzVOFDSZu-tightendowncablechain.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVfSSE-Hd9hoNLq%2FGuN0ckkLzVOFDSZu-tightendowncablechain.jpg?generation=1531199065632508\&alt=media)
19. If you have an older version of the Promega cable assembly, it will feature two 4-wire connectors that are unused. These can either be removed from the cable chain completely, or you can tuck the connectors back into the cable chain to move them out of the way.
20. Pull the slack out of the wires at the extruder end of the cable chain. Carefully pull the wires at the end of the cable chain at the back of the printer.
21. Power on and connect to the printer and ensure that all the heaters, thermistors, extruders and fans are plugged in correctly. If this is your first time mounting the new cable assembly, download the correct configuration release from the [M3D Promega GitHub Repository](https://github.com/PrintM3D/Promega).
    * Observe the thermistor reading(s), none should read 2000C
    * Heat up the nozzle(s), no heater fault should occur
    * Check the direction of both extruder motors
22. Screw down the cover for the cable assembly.

    ![BZulLcEegjEEhvzr-mountedcableassemblyplate.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVhEK7rbibJMygR%2FBZulLcEegjEEhvzr-mountedcableassemblyplate.jpg?generation=1531199060114133\&alt=media)
23. You are now done, please perform a system test before continuing with printing.

## Removing the Old Extruder Wiring Assembly

![T66QPCUEwBySEbGC-oldcableassembly.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVjYLhZbCp3iFFO%2FT66QPCUEwBySEbGC-oldcableassembly.jpg?generation=1531199061235256\&alt=media)

**Tools Required:**

* T20 Torx Screwdriver
* T10 Torx Screwdriver

1. Power off the printer if you have not yet done so already!
2. Make sure you have the new cable assembly ready and printed.
3. Remove the top T20 bolt holding the assembly to the extruder.![apC5KB2gAsohKs3P-removingtopboltoldeassembly.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVltWLHhjqI5Mun%2FapC5KB2gAsohKs3P-removingtopboltoldeassembly.jpg?generation=1531199056909799\&alt=media)
4. Remove the T20 bolt on the bottom of the wiring assembly, circled in red.![cML6VkAUKjsehdhX-bottomboltcableassembly.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVnAmqyEnpjGB7e%2FcML6VkAUKjsehdhX-bottomboltcableassembly.jpg?generation=1531199065854546\&alt=media)
5. Remove the T10 Bolt holding the cable chain to the 3D printed cable assembly.![0bnnxoDWyeTVAYDf-RemoveCableChainBolt.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVposXGyndLEf4m%2F0bnnxoDWyeTVAYDf-RemoveCableChainBolt.jpg?generation=1531199056793448\&alt=media)
6. Carefully pull the cables out of the connectors inside the wiring assembly until you can pull the plastic part free. Use needlenose pliers and a pick to help you. It can help to first remove the wires constraining the wiring assembly to the extruder assembly to give you more room to work.![Qt188HfCXb0WZHx0-removedheatersoldcableassembly.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVrUqAE9Jca3B_g%2FQt188HfCXb0WZHx0-removedheatersoldcableassembly.jpg?generation=1531199067977983\&alt=media)
7. Next, remove the connectors on the cable chain end from the 3D printed plastic part until you are left with just the old 3D printed cable assembly. ![qpvutFimYvZ1IHtt-removedoldcableassembly.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVtMlr0f2MOLWWj%2FqpvutFimYvZ1IHtt-removedoldcableassembly.jpg?generation=1531199061399610\&alt=media)
8. ![ilH6o9ZQyMW4kauK-throwaway.gif](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVv_8a_8m5Rsd_M%2FilH6o9ZQyMW4kauK-throwaway.gif?generation=1531199064439458\&alt=media)

## Old Extruder Assembly Wiring

**This guide is for connecting the OLD extruder wiring assembly. Scroll up for the new wiring assembly!**

![Plugging in Heater Connectors](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVxNHE5ts0qFt38%2FRhM5Sk4174iRwf5J-extruderwire_1.jpg?generation=1531199071583760\&alt=media)

First, cable H4 is plugged in on the left and H2 on the right. These are both heater cartridge connectors. You can find the labels of the wires about 1 inch from the connector on black heatshrink.

![Plugging in the two PT1000 connectors](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnVzxiU_PMUNqFms%2FQwUkY0DDummwZRmG-extruderwire_2.jpg?generation=1531199065071273\&alt=media)

Cable S8 is plugged in on the left and S6 on the right. These cables are PT1000 connectors.

![Plugging in the two fan connectors](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnW0Hko20EcyKbN3%2Fqg08y7D2FvFyCwcw-extruderwire_3.jpg?generation=1531199068126449\&alt=media)

P9 and P11 are plugged in according to the diagram. These connectors are for the nozzle and cold-section fans. Sadly, there is no system for which one of these is the nozzle fan or cold section fan. Pleass use caution when plugging these in as plugging the nozzle fan into the cold-section port will result in a fried nozzle fan. **It is best to test the connectors and ensure your wiring is correct before plugging in the fans.** You can either perform a continuity test by taking a multimeter and measuring the resistance between the two ends of the wire. Or you can measure the voltage on the connector when you turn on the Duet board. Remember that the 24V fan is connected to the Always-on port on the Duet board and the 5V is connected to a PWM controlled port. You will have to switch on your nozzle fan in order to measure the 5V in the connector. You can plug in your cold-section fan into both ports in order to determine which one is the cold-section connector.

![Plugging in an expansion cable](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnW2lbAPEqr8E9PQ%2FLPujDWLHZYTRFeOK-extruderwire_4.jpg?generation=1531199062889597\&alt=media)

Insert S4, this is an expansion cable and is not used for any electrical components (yet).

![Plugging in an expansion cable](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnW4dC_FlXVCpHQM%2FzUwPphBqN9gKHWKS-extruderwire_5.jpg?generation=1531199070840318\&alt=media)

Plug in S2 according to the picture above. This is also an expansion cable and will be used for components in the future.

![Plugging in the extruder motor cables](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnW6jnqEehNQLW03%2FbrXfeBPWFElVAVDy-extruderwire_6.jpg?generation=1531199066862093\&alt=media)

Place P4 and P2 in the housing according to the diagram above. These are extruder motor connectors.

![Final Wiring](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnW8koD9QyKxcS9G%2Fu8kv6PjHwEuNi5hj-extruderwire_7.jpg?generation=1531199055273583\&alt=media)

The image above depicts the cable routing prior to attaching the cable assembly onto the extruder carriage.


# Mechanical Systems


# Compound Mixing

## Front Components

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPRjFNF4h3oPUylBDHw%2F-LPS1X5b7G8-Yx5v0eS_%2Ffront%20components%20mixing.PNG?alt=media\&token=eb7c5c2c-078e-452a-89ab-8f2c2739499f)

| Balloon Number | Name                            | Quantity |
| -------------- | ------------------------------- | -------- |
| 15             | M4 x 0.7 mm Nut                 | 2        |
| 16             | M3 x 12 mm Screw                | 2        |
| 18             | M4 x 8 mm Screw                 | 3        |
| 23             | Cold Section Fan (24V, 8.5 CFM) | 1        |
| 25             | Compound Mixing Wall-E          | 1        |
| 37             | Fan Mount                       | 1        |
| 40             | Nozzle Fans (Pair)              | 1        |

## Back Components

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ0JhZWcZkg8TGSljfL%2F-LJ1JBXBY7FFP2aN9K-M%2FM.%20Walle%20Back%20Components.PNG?alt=media\&token=0472c608-6f0d-4188-86eb-3e2e444304e5)

| Balloon Number | Name                           | Quantity |
| -------------- | ------------------------------ | -------- |
| 13             | Extruder Gear                  | 2        |
| 25             | Mixing Compound Wall-E         | 1        |
| 29             | Mixing Compound Plastic Insert | 1        |
| 33             | MR63ZZ Bearing                 | 2        |
| 34             | MR105ZZ Bearing                | 2        |

## Hot-End Components

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ0JhZWcZkg8TGSljfL%2F-LJ1JU8W4g_19btmeSZz%2FM.%20Walle%20Bottom%20Components.PNG?alt=media\&token=2789f971-213c-430c-81a1-65756f2cc69e)

| Balloon Number | Name                         | Quantity |
| -------------- | ---------------------------- | -------- |
| 3              | M2.5 x 3 mm Set Screw        | 3        |
| 11             | Heater Cartridge             | 1        |
| 12             | PT-1000                      | 1        |
| 25             | Mixing Compound Wall-E       | 1        |
| 26             | Mixing Compound Nozzle       | 1        |
| 27             | Mixing Compound Heater Block | 1        |
| 28             | Mixing Compound PTFE         | 1        |


# Single K'Tana

## Front Components

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPRjFNF4h3oPUylBDHw%2F-LPS3w4gHJNsGIAPQEs8%2Ffront%20components%20single.PNG?alt=media\&token=da624b91-d1e6-4e1a-99a0-41182fecabd5)

| Balloon Number | Name                            | Quantity |
| -------------- | ------------------------------- | -------- |
| 5              | Single K'Tana Wall-E            | 1        |
| 16             | M3 x 12 mm Screw                | 2        |
| 18             | M4 x 8 mm Screw                 | 3        |
| 23             | Cold Section Fan (24V, 8.5 CFM) | 1        |
| 37             | Fan Mount                       | 1        |
| 40             | Nozzle Fans (Pair)              | 1        |

## Back Components

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ1KRsrVtjegRA68iUE%2F-LJ1LYaiAJ2499XMhkYs%2FS.%20Walle%20Back%20Components.PNG?alt=media\&token=733badd5-bda2-4999-967f-21de4e22d883)

| Balloon Number | Name                         | Quantity |
| -------------- | ---------------------------- | -------- |
| 5              | Single K'tana Wall-E         | 1        |
| 9              | Single K'tana Plastic Insert | 1        |
| 13             | Extruder Gear                | 2        |
| 33             | MR63ZZ Bearing               | 2        |
| 34             | MR105ZZ Bearing              | 2        |

## Hot-End Components

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJ1KRsrVtjegRA68iUE%2F-LJ1L_iXIEu6yYCoJ1tL%2FS.%20Walle%20Bottom%20Components.PNG?alt=media\&token=d36b5baa-5df7-49f1-ae62-a6458676fb31)

| Balloon Number | Name                       | Quantity |
| -------------- | -------------------------- | -------- |
| 3              | M2.5 x 3 mm Set Screw      | 6        |
| 4              | M3 x 3 mm Set Screw        | 4        |
| 5              | Single K'tana Wall-E       | 1        |
| 6              | Single K'tana Nozzle       | 2        |
| 7              | Single K'tana Heater Block | 2        |
| 8              | Single K'tana PTFE         | 2        |
| 11             | Heater Cartridge           | 2        |
| 12             | PT-1000                    | 2        |


# Repair & Maintenance


# Install/Uninstall


# Back Cover

## What is the Back Cover?

This is the back cover.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ5h5mTclcSNKZyZhYS%2Fback%20cover.jpg?alt=media\&token=d2cfe87b-a11f-4b4c-b3e9-b1165962fa3a)

## How To Install

### Mount Spools

Mount the Spool Holders to the Back Cover using the included M4 lock nuts and M4 flat head screws.<br>

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJ7dr3-kd0YP7P5zf%2Fimage1.jpg?alt=media\&token=b339fcfa-9658-4d17-aa09-a92d50f27a41)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJ9B3IiU7ZH-PTq11%2Fimage3.jpg?alt=media\&token=f0147778-fee3-41ab-bbd1-fc91ab50edec)

### Mont Standoffs

Mount the Standoffs to the rear of the ProMega frame, using 4 of the included M4 pan-head screws on the inside rear of the ProMega frame.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJBKCsX363Gh53il8%2Fimage4.jpg?alt=media\&token=6a70ebec-7ca6-44e4-b7e2-9133f0d6b48b)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJC_sMBY_poHlhUte%2Fimage5.jpg?alt=media\&token=0f75edf1-4691-4fe0-b169-6e9e91224350)

### Slide Cover To Position

Carefully slide the Back Cover onto the back of the ProMega, making sure the cutouts for the power switches and power cable align properly<br>

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJEjL9NOJnxmBMvfN%2Fimage6.jpg?alt=media\&token=08bef550-35dc-46fe-aecc-34d6826fc16a)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJGGOsh3dQto0rn75%2Fimage7.jpg?alt=media\&token=9fcf6eb3-9d48-4180-b6a7-79d8d17b333d)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJHjBIyqtH_vTvZJo%2Fimage8.jpg?alt=media\&token=fa9cbe7d-717b-422f-a199-6f3e77cb59dc)

Make sure not to pinch the wires coming out of the cable chain

### Secure Down Cover

Secure the Back Cover to the standoffs with the remaining M4 pan-head screws<br>

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJJAcmN13JlqXMgsN%2Fimage9.jpg?alt=media\&token=b0ea62e4-1da6-4168-b723-73c9a8986e23)

Add filament and enjoy!

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LLfJ3JfeEaSFmK5YUca%2F-LLfJKxAwbMzYkBtMpvN%2Fimage10.jpg?alt=media\&token=c8d0128c-703e-4714-a643-e30e83f4b6d7)


# Filtration System

## What is the Filtration System?

This is the filtration system.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ5iUZcKUp1UNgLA9SR%2Ffiltration%20system.jpg?alt=media\&token=af1aade3-d65c-4e4c-8b15-1b4d6aeef229)

A blower fan pulls air from the printer's inside.

The pulled air is blown into a HEPA filter.

The filtered air is ejected into the printer's inside.

## How To Install

Look at the two holes used for the filtration system. Face the backside of your printer.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPboiiYmLymze0zmhSy%2FIMG_1043.JPG?alt=media\&token=c9be5296-3fb8-435c-931a-87ecdb9b3f86)

Slide the HEPA filter into the printed duct.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPc2HWdh3CC0bo8AANZ%2FIMG_1244.JPG?alt=media\&token=d12d3200-a292-4271-bdb9-a73d8f5c1583)

Make sure the carbon layer (black) is facing the clip side.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPc4tAqwx0vTZ0BRwTB%2FIMG_1246.JPG?alt=media\&token=1e8827ce-24c7-43a9-81d6-4df26173e327)

Install the printed part onto the left hole (as shown below). Use the short screws (M3 x 12 mm).

{% hint style="info" %}
Install loosely.
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPboktGyb-cqUnv0Sfv%2FIMG_1044.JPG?alt=media\&token=c8e35cd0-ef96-456b-b2d0-263a0b5f10c8)

Clip the blower fan into the duct.

{% hint style="info" %}
Make sure you the label is pointing outward (as shown below).
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPbrLVLC0VgAPMZgqfM%2FIMG_1077.JPG?alt=media\&token=bfa33efa-dfc1-4da2-8236-44503c784bfd)

Install the blower fan onto the right hole (as shown below).

{% hint style="info" %}
Install loosely.
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPbomR7Ybg3540v5fKO%2FIMG_1045.JPG?alt=media\&token=ba95b777-6d19-4456-a499-73a4f58d6d4c)

Check to see the blower fan is clipped into the duct.

Tighten all screws down.

Plug the blower fan cable into :

**FAN0 (K'Tana or Compound)**

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPbtHUsYJD-Foz4FdxL%2FDuet%20Maestro%20FAN0.jpeg?alt=media\&token=403ed2af-d00d-4a33-b9d6-6118a5eb0062)

**FAN2 (Promega-Quad ONLY)**

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LbUMjArEv-6RPcnDaHD%2F-LbUQq_q2-bu2tdN-eEI%2F20190402_145553.png?alt=media\&token=5e089614-f6da-4b92-b48a-a43fa4828bc5)

***Make Sure*** the blower fan's **BLACK** wire (ground) is installed on the **LEFT** pin.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPbubyEngNebg3WsOLD%2FIMG_1242.JPG?alt=media\&token=f1890c43-5161-447a-a7a3-118f8e195395)

{% hint style="warning" %}
The blower fan will be damaged if installed backward.&#x20;
{% endhint %}

### Additional Software Changes

Open your web control browser

Go to the ***Settings*** tab.

Click the ***System Editor*** tab.

Look for the ***config.g*** file. Open it (double click).

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPbkpcHXFFJCMlusXVj%2F-LPbxNJKxMMsbBl4K6OS%2Fweb%20control.PNG?alt=media\&token=f4e85f08-0a9a-4e45-bff3-fc0293850d94)

Look for the FANS header.

```
; --- SECTION: FANS ( ) ---
```

Search for this specific code.

```
M106 P0 S0 I0 F4 H-1 L0.3
```

{% hint style="info" %}
***(Promega-Quad ONLY)***

Search for this specific code INSTEAD:

`M106 P2 S0 I0 F4 H-1 L0.3`
{% endhint %}

Change S0 to S1.

```
M106 P0 S1 I0 F4 H-1 L0.3
```

{% hint style="info" %}
***(Promega-Quad ONLY)***

`M106 P2 S1 I0 F4 H-1 L0.3`
{% endhint %}

Click "Save Changes."

Done.


# Cable Chain

## What is the Cable Chain? <a href="#tools" id="tools"></a>

This is the cable chain.

![The Cable Chain](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ5gjudEMbQWioh1Plg%2Fcable%20chain.jpg?alt=media\&token=46af24d1-719c-45ff-b688-57f17deb7e4d)

## Tools

* Small Flathead Screwdriver

## Additional Hardware <a href="#additional-hardware" id="additional-hardware"></a>

***None***

## How To Open

Locate the clip on a cable chain.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP1ziaEoByVOL2s50Vc%2F-LP2BsCsGa1C2tfhfcjG%2FIMG_1019.JPG?alt=media\&token=d7fabe14-8e46-4f0d-b23e-816328715aeb)

Look for a trapezoidal gap in the cable chain

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP1ziaEoByVOL2s50Vc%2F-LP2CShZmbDRb4llsZOs%2FIMG_1020.JPG?alt=media\&token=6749f0db-fa9d-4afb-a76d-5070a20d600f)

Use a small flat-head screwdriver. Push in and then angle out.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP1ziaEoByVOL2s50Vc%2F-LP2Bx8vBeeD0qt9JwOp%2FIMG_1022.JPG?alt=media\&token=c8a8a09b-91a7-4428-a79f-2918b4c067b5)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP1ziaEoByVOL2s50Vc%2F-LP2Bz91vNN9Nsd6uz6b%2FIMG_1024.JPG?alt=media\&token=f0a56b58-9698-40c1-9fca-fe900d30339b)

## How To Close

Press the links back to its original position. You will here a click, once its secured.


# Extruder

## What is the Extruder?

The Promega is compatible with two extruder types:&#x20;

### Single K'Tana Extruder&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ5mA4Ic_LlB7ELFtK_%2FIMG_1383.JPG?alt=media\&token=a8da771e-582d-493f-aabe-d78340440975)

The K'Tana has two separate filament inputs and two separate nozzles to print from.

### Compound Mixing Extruder

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ5mCxT9ZCh9t_U_xoX%2FIMG_1382.JPG?alt=media\&token=e895d897-bf83-4928-83ba-ff38eee6ac70)

The compound nozzle accepts two filaments as input and prints through one nozzle by mixing the two filaments.&#x20;

## Warning

Do not attempt to start the guide with a hot extruder. Wait for the hot end(s) of the printer to cool before continuing with this guide.

## Tools

1. T10 Torx Screwdriver
2. T30 Torx Screwdriver
3. Needle-nose pliers
4. Container to hold screws

## Additional Hardware

***NONE***

## How To Uninstall

1. Be sure to turn off and unplug the printer. Retract and remove any filament currently in the nozzle. Use [this guide](/advanced-setup-guides/loading-and-unloading-filament#unloading-filament) if you need help.&#x20;
2. Take the T10 Torx screwdriver and remove the cold section fan from the extruder carriage. Collect the two screws and M4 nuts in a container and place them aside. Move the fan over to the back of the extruder carriage assembly so it is out of the way.

   <img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZfqKTwZkThVwWj00%2FPBezwNA9DMD3QPkF-RemoveFan.jpg?generation=1531199023161413&amp;alt=media" alt="PBezwNA9DMD3QPkF-RemoveFan.jpg" data-size="original">
3. Use the T30 Torx screwdriver to remove the three different screws (circled in red) holding the extruder block to the coreXY gantry. Place these screws in the container.

   ![OnpOTWLP3ifIYRRy-RemoveWalle.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znl6Vd6uOBNfXev-%2FOnpOTWLP3ifIYRRy-RemoveWalle.jpg?generation=1531199053941576\&alt=media)
4. Disconnect the heater cartridge and PT1000 cartridge thermistor cables at the back of the extruder carriage (Circled in red). The heater cartridge cables are red and the thermistor cables are beige. Needlenose pliers can be helpful to reach the cable connectors.

   ![ziM0XfjqbR6zB9AQ-RemoveHeaterCables.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Znl9WVo1drFSEE23%2FziM0XfjqbR6zB9AQ-RemoveHeaterCables.jpg?generation=1531199051492953\&alt=media)
5. Now that all the screws and cables are detached from the extruder assembly, you should be able to remove the old extruder head.
6. Look for two small bearings in the old extruder head. These bearings hold the extruder gears in place while printing. You can find them in the extruder head or on the tip of the extruder gears. Remove these bearings from the old extruder head or extruder gears and place them in the container, you will need them for the next step.

   ![QLQlVWc4ZqJY4X0E-wheretofindbearings.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlB3zPSgEcexHbo%2FQLQlVWc4ZqJY4X0E-wheretofindbearings.jpg?generation=1531199051785278\&alt=media)

## How To Install

1. Inspect the new extruder head. Ensure that there are PTFE tubes in the nozzle(s). Check that there are bearings underneath the black 3D printed cover. Make sure the nozzle(s) are fitted securely in the extruder head and in the correct orientation.
2. Place the two bearings in the circled portion of the extruder head pictured below. Make sure they are seated flat and all the way into the hole. A pen or pencil can help to insert these bearings in place. Almost no force should be required. ![TLy4qxNyBKYbrzlC-ktanaextruderhead.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlDEjSJ0VfrAiP7%2FTLy4qxNyBKYbrzlC-ktanaextruderhead.jpg?generation=1531199052033145\&alt=media) ![CNPjH9u6uV9Y3yZ9-compoundextruderhead.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlFnZ7PojpkPiwr%2FCNPjH9u6uV9Y3yZ9-compoundextruderhead.jpg?generation=1531199053753041\&alt=media)
3. You can now mount the extruder head on the extruder assembly. Make sure the extruder gears are properly seated in the bearings you placed in the step above. Screw in the three M4 bolts holding the extruder to the extruder assembly. Be careful with the amount of force you apply to the screw as you could strip the threads in the extruder assembly.
4. Next, wire the fan onto the extruder head you just mounted. Remember to put the M4 spacers in place as well. Place the wires of the fan below the second screw as shown in the picture below.

   ![Rx0ZeNOrI3mxq3HT-howtowirefan.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlHy3Epk2kklRdi%2FRx0ZeNOrI3mxq3HT-howtowirefan.jpg?generation=1531199053238567\&alt=media)
5. Now move on to the back of the extruder assembly to connect the heater cartridge and PT1000 of your new extruder head. Needlenose pliers and a small screw driver are useful to reach into the wiring assembly. If you are wiring the compound nozzle the wires go around the right side of the extruder assembly but plug into the left side of the cable assembly. For the K'tana nozzle the right heater and PT1000 wrap around the right side of the extruder and plug into the left side of the cable assembly. The left heater and PT1000 do the same but mirrored, the cables wrap around the left side of the extruder and plug into the right side. The image below illustrates this. ![U7vqbEfIj7Ed69NQ-wiringdiagramextruders.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlJP-78ExmTLYKN%2FU7vqbEfIj7Ed69NQ-wiringdiagramextruders.jpg?generation=1531199052690843\&alt=media)

   **Left and right is identified in the image below**\
   ![kIK4Ip2IGYaTy21K-leftandrightktana.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlNJlJZvyVpS3rf%2FkIK4Ip2IGYaTy21K-leftandrightktana.jpg?generation=1531199054580485\&alt=media)
6. Place the cables in the wiring chassis according to the image below. Place the PT1000 cables into the channel before the heater cartridge cables. This is because the PT1000 has a greater distance to reach to its connector. ![chtBPrPsxNp6873s-extruderwirerouting.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlPTTQhgcat8dOU%2FchtBPrPsxNp6873s-extruderwirerouting.jpg?generation=1531199052576078\&alt=media)
7. Plug the wires in according to the diagram below. Plug in the left side cables before the right side. Use needlenose pliers and a flathead screwdriver to carefully plug in the cables into their housing. !\[gN4Sz33QK3kbeWMV-K'tanaportwires.jpg]\(\[../.gitbook/assets/gallery/2018-06-Jun/scaled-840-0/gN4Sz33QK3kbeWMV-K'tanaportwires.jpg]\(../.gitbook/assets/gallery/2018-06-Jun/scaled-840-0/gN4Sz33QK3kbeWMV-K'tanaportwires.jpg)) ![5u20ltlC8ww9m7Uf-compoundnowires.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlRwyiPDlH3Wr-h%2F5u20ltlC8ww9m7Uf-compoundnowires.jpg?generation=1531199051283512\&alt=media)
8. The wiring portion of changing extruders is now complete. Look at the pictures below to see the final result for a mounted compound or K'tana extruder head.

### Compound Extruder

![Compound Extruder Wiring](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlTz6-mBuk_ecaP%2FkxVpXvg2vfyx0XbF-compoundfinalwiring.jpg?generation=1531199053464772\&alt=media)

### K'tana Extruder

![K'tana Wiring](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZnlVVxVJZUXywLC_%2F5V6t4sTEV6wVjOyG-finalktanawiring.jpg?generation=1531199054338495\&alt=media)

## SD Card Configuration

1. Download the SD card image from our GitHub [Repository](https://github.com/PrintM3D/Promega). Select either the Compound or K'Tana folder depending on what extruder you are mounting. The SD card should have 4 folders and one text file:
2. *sys/*
3. *gcodes/*
4. *macros/*
5. *www/*

A text file will also be present on the SD card. This file simply makes it easier and faster to determine if you currently have the K'tana or compound SD card mounted.

1. Plug your SD card into your computer with the microSD card reader.&#x20;
2. Backup your current SD card onto your computer. This can be done by copying the folders listed above into a seperate folder onto your computer. This will make it easier to switch back to the other extruder head in the future as you will not have to spend as long reconfiguring your printer.
3. Delete the files on the microSD card.
4. Copy the downloaded files from the PrintM3D GitHub Repository onto the SD card.
5. Open the *config.g* file in the *sys/* folder and configure your network settings. You can also use your backed up SD card image that you copied in step 3 to obtain your network settings. For more help on configuring you network use the [Network Setup](broken://pages/-LOshvboTbWC-C0o-1ky) guide.
6. Once you have finished configuring your network, eject the card and insert it into the Duet's microSD card slot.

## Testing

Before you continue it is best to follow the steps below to ensure that the process of changing extruders worked correctly.

1. Plug in the Duet Board ethernet cable.
2. Power on the Promega.&#x20;
3. Connect to the Duet Web Console and observe the hotend and bed temperature values. If any of these values are not around room temperature it can indicate incorrect wiring. A temperature reading of 2000C is the temperature error value and means that the PT1000 is wired incorrectly. If the displayed temperature is incorrect, address the problem and continue.&#x20;
4. Ensure that the extruder carriage can move to the limit switches in the back left of the printer. Make sure there is nothing placed on or underneath the bed.&#x20;
5. Move each of the axes and extruders independently and verify for every motor that they are moving in the right direction. Once you have verified that, you can home the printer.&#x20;
6. Heat up the nozzle(s) and make sure no heater faults occur.&#x20;
7. Once the printer is homed and the nozzles heat up correctly you can carry on printing!


# Nozzle

## What is the Nozzle?

There are four types of nozzles.

### Single K'Tana

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ61uKDg9nSh6WZqyos%2FIMG_1386.JPG?alt=media\&token=b67ee3a1-b20a-484d-80c7-5ef7bd2bc176)

### High Temperature (HT) Single K'Tana&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ61vo1J2E73HXmRIDq%2FIMG_1385.JPG?alt=media\&token=75262de1-884b-45c8-afda-5c1755b79432)

### Compound Mixing

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ61xxqgpds8M8viOfH%2FIMG_1384.JPG?alt=media\&token=5f01f5df-33cc-4141-8a7c-e3b4aca83354)

### High Temperature (HT) Compound Mixing

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5eIo6sa_bTPMzNZwr%2F-LQ61zcgDWDjtoY1r8ux%2FIMG_1384.JPG?alt=media\&token=84d59eb3-2afd-435d-8be7-c1a70f5162bc)

{% hint style="info" %}
For each nozzle type, there are differing nozzle sizes (e.g. 1 mm, 0.5 mm, 0.35 mm)
{% endhint %}

## Warning

Follow the steps listed in the guide ***closely***. You will be working with heated hot-ends. Use appropriate tools.

## Tools

* Metal Pliers (Recommendation: Slip-joint pliers)
* 1.5mm Hex Screwdriver
* 1.3mm Hex Screwdriver
* Heat-resistant surface

## Additional Hardware

* Mixing Compound PTFE Tube (possibly, if current is not reusable)
* Single K'tana PTFE Tube (possibly, if current is not reusable)

## How To Uninstall&#x20;

### Notes

Some of the following steps have to be performed with a heated hot-end in order to allow you to slide out and replace the nozzle.&#x20;

{% hint style="info" %}
If you don't heat your nozzle cooled filament will act like glue and hold the components together.
{% endhint %}

Unplug the 24V cold-section fan on the front of the extruder.

Remove the cold-section fan. Follow: [Nozzle Fan Uninstall Guide](/repair-and-maintenance/install-uninstall/nozzle-fan#nozzle-fan) for help.

Connect to the Duet Web Console.

Heat-up the nozzle and retract any filament inside.

{% hint style="info" %}
**Keep the nozzle hot for the next steps!**&#x20;
{% endhint %}

**Hold the heater block with pliers as shown in the images below.**

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAMwf9XCoUq7c65qLU%2F-LQAPQmTwGJc7gsx8cA6%2Fhold%20block%20with%20pliers.jpg?alt=media\&token=e8ef1964-602a-456a-a704-57c350b85434)

Remove the 1.5mm hex set-screws holding the compound heater block in place.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAMwf9XCoUq7c65qLU%2F-LQAPW05dMg-Lqg3cVza%2Fnozzle%20set%20screws.jpg?alt=media\&token=bff5fb9a-aa06-43d0-b011-67b21045c588)

Slide the heater block and cold-section out of the extruder with the pliers.

{% hint style="info" %}
(Optional) If you need to remove the PTFE tube from the extruder you can feed a bit of filament into the hot-end.&#x20;
{% endhint %}

This will push the PTFE tube up and out, allowing you to pull the PTFE tube out. Place this PTFE tube in the replacement nozzle.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAMwf9XCoUq7c65qLU%2F-LQAP_k5hFeCNrYFes52%2Fpushing%20ptfe%20out%20with%20filament.jpg?alt=media\&token=0857b11d-23ca-4b8f-ba7b-28b566db8b35)

Remove the screw indicated in the image below, this holds the nozzle inside the heater block.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAMwf9XCoUq7c65qLU%2F-LQAPcl_vOC_J15Re4FC%2Fheat%20block%20nozzle%20screw.jpg?alt=media\&token=85f724ab-6ced-4932-a43e-157883ba2bde)

&#x20;

With another pair of pliers, carefully pull out the nozzle from the heater block.

Place the **hot** nozzle on a heat-resistant surface. If you have a glass bed, you can place the nozzle on there.

## How To Install

### Notes

The following steps are a continuation from the "How To Uninstall" section of this page.&#x20;

With the pliers, grab the new nozzle and place it into the heater block, pay attention to the orientation of the nozzle. The dimple should face the set-screw in the heater block. This keeps the heater block in place during operation.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAMwf9XCoUq7c65qLU%2F-LQAPgbPYgv1nddwM0b2%2FIMG_1384.JPG?alt=media\&token=b52ff042-f959-48f4-a798-17e67ba16d12)

Tighten down the setscrew that holds the nozzle in place.

Place the nozzle, with the heater block attached, back into the extruder.

Tighten down the 1.5mm setscrews

**You can now power off the heater.**

You can attach the cold-section fan again and continue printing!


# Limit Switch Holder


# X Axis

## What is the X Limit Switch Holder?

This is the X Limit Switch Holder.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ68N9dGcZSGqhCInK6%2F-LQ6C01sHAq9oklkhVTp%2FX%20Limit%20switch%20holder.jpg?alt=media\&token=6c3091a2-0c27-4bbe-8e9b-d2fde15792e2)

## Warning

Exercise caution if you attempt to fit your head underneath the bed. The frame could potentially cause lacerations. &#x20;

* Use protective headgear (e.g. tear-resistant fabric).
* Enter slowly. Do not rush.&#x20;
* Make sure the bed is properly positioned.

## Tools

* T10 Screwdriver

## Additional Hardware

* ***None***

## How To Uninstall

Run:

```
M18 Z
```

This disables the Z motor. Lower the bed until it touches the Z limit switch.

Remove the Limit Switch from the holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRVnRULmIWkifsnmga%2FIMG_1033.JPG?alt=media\&token=90bb9d93-66e9-4d38-84e1-8bc80f51f0c8)

Unscrew the X Limit Switch Holder (printed part):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRVpymVAnRp2H_-AYU%2FIMG_1035.JPG?alt=media\&token=402aecc4-bc63-4ed7-adfc-845570f07f11)

## How To Install

Screw down the X Limit Switch:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRVpymVAnRp2H_-AYU%2FIMG_1035.JPG?alt=media\&token=402aecc4-bc63-4ed7-adfc-845570f07f11)

Slide the Limit Switch into the X Limit Switch Holder (printed part):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRWjepwANpetWYpzU8%2Fx%20limiti%20switch.JPG?alt=media\&token=81c9e394-1581-45ba-b079-5a6c58b971d4)

Done.


# Y Axis

## What is the Y Limit Switch Holder?

This is the Y Limit Switch Holder.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ68N9dGcZSGqhCInK6%2F-LQ6C4bGv-dRiFS8b9jq%2FY%20Limit%20switch%20holder.jpg?alt=media\&token=befaec31-194a-438b-90d9-cde03023387b)

## Warning

Exercise caution if you attempt to fit your head underneath the bed. The frame could potentially cause lacerations. &#x20;

* Use protective headgear (e.g. tear-resistant fabric).
* Enter slowly. Do not rush.&#x20;
* Make sure the bed is properly positioned.

## Tools

* T10 Screwdriver

## Additional Hardware

* ***None***

## How To Uninstall

Run:

```
M18 Z
```

This disables the Z motor. Lower the bed until it touches the Z limit switch.

Unscrew the Y Limit Switch Holder (printed part):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRXSAwif5SizKKcMFs%2FIMG_1036.JPG?alt=media\&token=98a04f4e-f4f9-4a19-9f6f-8e91ea1ec942)

Remove the Limit Switch from the holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRYCz_xAYyq5Ueocz-%2Fy%20limit%20swtich%20slide%20out.JPG?alt=media\&token=76dd5541-f5b1-476d-8001-481e79daa330)

## How To Install

Slide the Limit Switch into the Y Limit Switch Holder (printed part):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRYIBa1ZgPqdS6s2c5%2FIMG_1036.JPG?alt=media\&token=840cc76e-2765-41bb-afa3-77e143cfb132)

Screw down the Y Limit Switch:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPREPt1cgcsY46cdsQ_%2F-LPRXSAwif5SizKKcMFs%2FIMG_1036.JPG?alt=media\&token=98a04f4e-f4f9-4a19-9f6f-8e91ea1ec942)

Done.


# Z Axis

## What is the Z Limit Switch Holder?

This is the Z Limit Switch Holder.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ68N9dGcZSGqhCInK6%2F-LQ6B2fMsVGqWsnnhQNK%2FIMG_1390.JPG?alt=media\&token=a6801000-4c38-4816-bf84-003db55d820e)

## Warning

Exercise caution if you attempt to fit your head underneath the bed. The frame could potentially cause lacerations. &#x20;

* Use protective headgear (e.g. tear-resistant fabric).
* Enter slowly. Do not rush.&#x20;
* Make sure the bed is properly restrained.

## Tools

* T10 Screwdriver
* Flush Cutter (or any cutting pliers will do)

## Additional Hardware

* Nylon Zip tie (1x)

## How to Uninstall

### All Versions

Unscrew previous Z Limit Switch Housing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIrjbMNLeE3liQShLsX%2F-LIrt04Sp_ZJtpQJSDeV%2FZ%20Limit%20Swtich%20Installation%20Guide.png?alt=media\&token=d0fe3ad0-2daa-41e7-816f-3ec624fbe68c)

Remove (Clip) Zip Tie.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIrjbMNLeE3liQShLsX%2F-LIrsyDC3kXzxCjJKXYo%2FZ%20Limit%20Swtich%20Installation%20Guide\(1\).png?alt=media\&token=51cea09c-0f40-418d-897f-85d3c459609f)

Remove Limit Switch from previous casing.

* Suggestion: Use a long screwdriver to push the end-stop out of its casing (e.g. Philips head, flat head).
* Video Demonstration: ??

Disconnect Z Limit Switch from Duet Board

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs-pqM-W8oBc-Tr8y6%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(2\).png?alt=media\&token=f3bc8354-2d01-4fc0-a576-e2c75f0b68b6)

* Refer to " \[ Duet Wiring Guide Name] " for additional help.

## How To Install

### Notes

A zip tie must secure the Z Limit Switch wire. If not, it runs the risk of entangling (and potentially breaking) with a moving bed.

### Version: 051162\_B1

Fit the Limit Switch Wire through the side slit on the Z Limit Switch Housing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2lqSYGHH6eFk8Zm7%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(3\).png?alt=media\&token=25a51ab4-4f7b-40a0-8cc8-366a86fb7f62)

Firmly press/slide the Limit Switch into Z Limit Switch Housing.

* Make sure to press it in fully in, until a hard stop is reached.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2oSLT1StUVcCcgsY%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(4\).png?alt=media\&token=ab8e9883-5223-44cd-9324-f4bed1ce44b5)

Route Limit Switch Wire through side slot.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2q7suCJN51ACoST8%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(5\).png?alt=media\&token=bcb3d90d-a985-4c8f-8f90-82c825ebe6a8)

Screw down the Z Limit Switch Housing.

* Face the lever toward the rails.
* Remember to check for Limit Switching Wire.
  * It must route through the shorter side slot.
  * Do not let the wire compress between the Housing & the Sheet Metal.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs1MpTt9zNt0zZOXnA%2FZ%20Limit%20Swtich%20Installation%20Guide.png?alt=media\&token=b07123d6-4ce6-46e2-a050-c7d685c94ddf)

Connect Limit Switch Wire to the Duet Board.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs-pqM-W8oBc-Tr8y6%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(2\).png?alt=media\&token=f3bc8354-2d01-4fc0-a576-e2c75f0b68b6)

* Refer to “ \[ Duet Wiring Guide Name ]” for additional help.

Install Zip Tie.

* Using the previous holes.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2-sKXMuh72DIfIPO%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(10\).png?alt=media\&token=f83f8ce9-08bc-4bc1-988c-f8b6b1de8200)

* Refer to “ \[ Zip Tie Hole Guide Name ] “ for additional help.

### Version: 051162\_B2

Fit the Limit Switch Wire through the bottom slit on the Z Limit Switch Housing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2sv5hOjONSQ000AE%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(6\).png?alt=media\&token=05c4045c-4de1-4bc7-9a05-e85859312a08)

Firmly press/slide the Limit Switch into Z Limit Switch Housing.

* Make sure to press it in fully in, until a hard stop is reached.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2oSLT1StUVcCcgsY%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(4\).png?alt=media\&token=ab8e9883-5223-44cd-9324-f4bed1ce44b5)

Route Limit Switch Wire through side slot.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs2q7suCJN51ACoST8%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(5\).png?alt=media\&token=bcb3d90d-a985-4c8f-8f90-82c825ebe6a8)

Screw down the Z Limit Switch Housing.

* Face the lever toward the rails.
* Remember to check for Limit Switching Wire.
  * It must route through the side slot.
  * Do not let the wire compress between the Housing & the Sheet Metal.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs3CeKrwl15BhdNukx%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(7\).png?alt=media\&token=1beaffb3-c2cf-4b6b-92d0-03a14857b68b)

Connect Limit Switch Wire to the Duet Board.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs-pqM-W8oBc-Tr8y6%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(2\).png?alt=media\&token=f3bc8354-2d01-4fc0-a576-e2c75f0b68b6)

* Refer to “ \[ Duet Wiring Guide Name ]” for additional help.

Install Zip Tie.

* Using the previous holes.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LIs-DAVQiqCdqnQCvaJ%2F-LIs3R8rLjgw5uxeKT0G%2FZ%20Limit%20Swtich%20Installation%20Guide%20\(10\).png?alt=media\&token=90eecda6-5832-4f8e-824e-4540f09dda14)

* Refer to “ \[ Zip Tie Hole Guide Name ] “ for additional help.


# Sliders

## What are the Sliders?

This is a Slider.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ68N9dGcZSGqhCInK6%2F-LQ6Ajwb_CAheCULEdFE%2FIMG_1388.JPG?alt=media\&token=f8ea30e7-0795-4526-a378-02fedc388111)

## Warning

Exercise caution if you attempt to fit your head underneath the bed. The frame could potentially cause lacerations. &#x20;

* Use protective headgear (e.g. tear-resistant fabric).
* Enter slowly. Do not rush.&#x20;
* Make sure the bed is properly restrained.

## Tools

* T10 Screwdriver
* T25 Screwdriver

## Additional Hardware

***NONE***

## How to Uninstall

### Notes:

Remove/Replace ONLY 1 slider at a time. You will find yourself scrambling to keep the bed aligned and in position if more than 1 slider, at any time, is removed.

### All versions

Place bed \~ 3/4s up the length of the rails.

Restrain the Z motor (closed loop) belt using a small binder clip, or any clamp.

Pick a side.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF4hE7XK-4OWRxo2eu%2FImage%20Edits.png?alt=media\&token=c5a7e3de-b233-4a42-950b-ff243728d4ee)

Loose the bottom M5 torx screw.

* Do not remove the screw.
* Loosen enough to remove the belt.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF4rl_8csI_gZ6TgV_%2FImage%20Edits%20\(1\).png?alt=media\&token=547b9fc5-ea99-4b58-8b8d-6941532b0984)

Loosen the bottom portion of the belt

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF6XrkmY8C1kM08YZx%2FImage%20Edits%20\(7\).png?alt=media\&token=9603b493-517e-4453-8cf6-a561dfc3024f)

Loosen all 3 M3 torx screws on the frame

* Removing them would be preferred, for easier installation

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF56tG4r1j2W3maJJE%2FImage%20Edits%20\(2\).png?alt=media\&token=b39f1014-60be-4891-96c0-967c915d2a40)

Remove the top z belt clamp.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF59diPL0Eyxzp1Nu8%2FImage%20Edits%20\(3\).png?alt=media\&token=cbdb6e97-f45a-4afa-b764-f738fd43a1bd)

Remove belt from the top z belt clamp.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF5DxvH3WZPufZihOj%2FImage%20Edits%20\(4\).png?alt=media\&token=6d28e201-0ccf-4ad7-8c8f-35ab95ce3eac)

Locate M3 screws from the slider.

Remove M3 screws from slider.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF5Vqbj9elxnKTYgve%2FImage%20Edits%20\(5\).png?alt=media\&token=45f083ca-0e9e-4609-b99f-a9479f1842ea)

Pull sliders down.

Remove belts from the sliders.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LJExxcvIu3oyB4VRJ-w%2F-LJF5LclTogSQYscA6r-%2FImage%20Edits%20\(6\).png?alt=media\&token=19cc1a94-aeb4-49e8-b4f6-34f7721ca1ec)

## How To Install

### Notes:

If you are performing more than one slider replacement, you may find it beneficial to keep the corresponding rails loose until the very end (tightening them as the last step of the *entire* procedure).&#x20;

* Definition of "Loose" : Partially unscrewed or Completely unscrewed.

### Version: Standard

#### Install Slider

{% embed url="<https://youtu.be/06qg5LW_yFY>" %}

#### Tighten Belt

{% embed url="<https://youtu.be/KBpaaLvIYxQ>" %}

#### Tighten Slider

{% embed url="<https://youtu.be/WLPDVCSwb9U>" %}


# Belt Clamps

## What are the Belt Clamps?

This is a top belt clamp.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ68N9dGcZSGqhCInK6%2F-LQ6BLDZZ542Nh0sulSR%2FIMG_1389.JPG?alt=media\&token=4848ff6f-9177-4f10-8a03-e0cf7a0f4f72)

The Z-axis belt is held in place with two different 3D printed clamps on the top and the bottom. If either of these two clamps break you can follow the guide below for instructions on how to replace them. The belt clamps are 3D printed, so you are welcome to print replacement belt clamps to fix the printer.

## Preparation

To prepare for the removal of the clamps, perform the following steps: 1. Turn off your Promega and unplug all cords attached to it, this will make it easier to move the printer throughout the process. 2. Place a binder clip, or something similar on the belt of the Z-motor. This will allow you to work under and around the bed without the bed falling. You can also place the printer on its side, if you do so, be careful with the switches on either side of the printer.

![Very Important Binder Clip](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoBr2OJnESIi-UWn%2F2dmrbcxPSLMjnGwW-beltclip.jpg?generation=1531199070095907\&alt=media)

> The steps for removing and installing the new belt clamps is best done one corner at a time. This allows the bed to stay relatively level and in place, making the repair easier.

For the removal and installation of the belt clamps you will need the following tools:

* T10 Torx Screwdriver
* T30 Torx Screwdriver
* New belt clamps
* Container

## Removing Broken Belt Clamps

Follow the instructions below to remove the broken belt clamps, pictured below, from your printer.

![Top (Right) and Bottom (Left) Belt Clamps](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoBtuEfFnJtra_j_%2FrPu6HmyMJVFzW1q5-beltclampdifference.jpg?generation=1531199074761660\&alt=media)

### **Removing the Top Clamp**

**Remember that it is easiest to replace the clamps in one corner at a time.**

* **Removing old clamps:** Remove the top belt clamp by unscrewing the M3 pan bolt with the T10 driver and sliding it off the belt.\
  &#x20;![XJnsF2fffKZ1Ynlw-removingoldbeltclamp.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoC0Nwyl9_AxwtSD%2FXJnsF2fffKZ1Ynlw-removingoldbeltclamp.jpg?generation=1531199076344481\&alt=media)
* **Removing new clamps:** In order to remove the new top clamp you can simply pull it up and out of the Z-slider **after** you relieve the belt of its tension. You can relieve tension by loosening the bottom clamp.

### **Removing the Bottom Clamp**

**Remember that it is easiest to replace the clamps in one corner at a time.**

1. Whether you have the old or the new bottom belt clamps, removing them is the same procedure for both. Remove the bottom clamps by unscrewing the M3 pan bolt with the T10 screwdriver on the bottom of the printer. Store the M3 lock nut and M3 bolt in the container.
2. Unscrew the three M3 countersunk bolts with a T10 Torx driver holding the linear rail in place.

![Remove these Screws](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoCCAgOabH8r-py2%2FCpywX3fzszOXtYgZ-threescrewstoremove.jpg?generation=1531199075622767\&alt=media)

1. Unscrew the M4 pan bolt with the T30 Torx head on the bottom of the linear rail, under the printer. Place the printer corner you are working on over the side of a table so you can easily access the bottom of a printer. &#x20;

![Bottom Screws](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoCEP7DKwOeL_9Si%2FJSAVcYfoBy5I5Fmy-zsliderbottomscrews.jpg?generation=1531199068633333\&alt=media)

1. Once you have removed all 4 screws holding the linear rail in place, you can slide up the linear rail and remove the bottom belt clamp. This is assuming that all tension on the belt is removed. You do not have to remove the belt in order to replace the clamp.

![Removing the Bottom Belt Clamp](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoCG8jLf3OVt-l1S%2FIUoXDruUd1Sq28v0-bottombeltclampremoval.jpg?generation=1531199068795756\&alt=media)

1. You can now move on to the next section in order to place your new belt clamps.

### Installing New Top Belt Clamps

1. Attach the new top belt clamp by threading the belt through the new belt clamp as pictured. The orientation of the new top belt clamp is important to ensure that the belt clamp properly holds on to the belt when installed. On the new top belt clamp you will find a small dot as pictured below. This dot should be facing the bed (or the Front as labeled in the second image). All **top** belt clamps will have this dot, so be sure to orient them correctly. The length of the belt on the back should be similar to the length in the second picture. **If the belt on the back of the belt clamp is too long it will hit an M3 screw holding the aluminum Z-rail in place.** This will make it impossible to fit the belt clamp.

   ![YCE6h3lzI5hjuVBM-topclampdot.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoCJhfzzfx_v7qGx%2FYCE6h3lzI5hjuVBM-topclampdot.jpg?generation=1531199071569114\&alt=media)

   ![JFg8eoNzmxXfA0PP-topclampbeltrouting.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoCL2UmINxsOTdV4%2FJFg8eoNzmxXfA0PP-topclampbeltrouting.jpg?generation=1531199058108893\&alt=media)
2. Before you insert the new top belt clamp into the slider
3. Now that the belt is threaded through the new top belt clamp you can insert it in the rail as pictured above. This can be a little tricky, make sure the back belt properly enters the rail slot before attempting to place the clamp on the slider. It can help to pull down the belt on the front of the z-slider as you insert the belt clamp.
4. Once the belt is properly seated on the aluminum rail you can continue on to the section *Tensioning the Belts* below.

### Installing New Bottom Belt Clamps

1. Thread the belt through the new belt clamp as pictured below.

   ![1AAEnX1MejHjxojk-Bottombeltclamprouting.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZoCNylDOgbAudb0s%2F1AAEnX1MejHjxojk-Bottombeltclamprouting.jpg?generation=1531199070813679\&alt=media)
2. Pull all the slack out of the belt in the corner you are working on.
3. Slide the new belt clamp onto the linear z-slider.
4. Attach all four screws that were removed in the *Removing the Bottom Clamp* section. This should hold the linear rail in place again. Make sure that the rail is flush (flat) against the frame on both the bottom and the side.
5. Insert the M3 locknut into the bottom Z-clamp. Throught the bottom of the Promega, insert a M3 pan head screw. Again, it might help to place the Promega over the edge of your work surface so you can reach this slot better.
6. Follow the *Tensioning the Belts* section below to continue.

## Tensioning the Belts

1. In order to gauge the tension of the Z-axis belts you can pull down on the belt as pictured below. Determining the proper tension on the Z-axis belt is difficult. This is because more tension will result in better accuracy but can also cause too much friction for the Z-motor to handle comfortably. It is a careful balance and you will become more familiar with the proper tension over time. While pulling on the belt check that the top and bottom clamps are gripping the belt firmly. You should see no evidence of slipping.

   ![W94X14FanYl02dp2-Belttension.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zhg9VoNzfTR1aY1A%2FW94X14FanYl02dp2-Belttension.jpg?generation=1531199020807889\&alt=media)
2. To tension the belt pull up as shown in the picture below, while tightening down the screw underneath the Promega. You should not have to pull hard to achieve the proper tension as tightening down the clamp can tension the belt.

   ![xg91HFq6NPl3oF53-tensioningthebelt.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZhgBDJx_bSQhlnij%2Fxg91HFq6NPl3oF53-tensioningthebelt.jpg?generation=1531199035391285\&alt=media)

## Leveling the Bed

After you change out belt clamps, your bed might be misaligned. As covered in the [Bed Leveling & Probing](/advanced-setup-guides/bed-leveling-and-probing) guide, bed leveling compensation will work for differences of about 3mm across the entire bed. Leveling your bed can be done by skipping teeth on the bed in specific corners.

1. Look at your bed and determine if one side is visibly higher than the other side.
2. Remove the binder clip if you have placed one on the Z-motor belt
3. Gently pull up on the corner that you want to skip. Apply pressure until you feel the corner give with a loud click. **Do not skip the bed near the belt clamps as it can break your belt clamps**
4. Once the bed is level enough to the point where it drops by itself, move the bed up to the nozzle. The bed is best lifted up from the points pictured below. Lift slowly or you will skip the bed. Moving the bed too fast can also fry your Duet board, so be careful.
5. When the bed is touching the nozzle, determine the offset of the Z-sliders to the top belt clamps to determine whether the bed is level. This will give you a good enough estimate to level the bed, bed leveling compensation with `G29` can take care of the rest. The bed can be leveled more accurately by using a caliper to measure the distance between the bed and the top of the Z-slider rails and comparing the corners.

   ![ZVLNWJ7ERVNSrBPG-distancebedcorners.jpg](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1qy5iL0VFWfLO6%2FZVLNWJ7ERVNSrBPG-distancebedcorners.jpg?generation=1531199021805233\&alt=media)
6. Skip corners until the bed looks visibly level using the procedure in step 5.


# CoreXY

## What is the CoreXY?

This is the CoreXY (belt).

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ68N9dGcZSGqhCInK6%2F-LQ6CkOafpSDGmO6PTRF%2FCorexy%20belts.jpg?alt=media\&token=60d00715-5d1a-43cf-aa65-2d2c418b57cb)

## Belt Routing

If the belt tension in the coreXY system became too loose the belts can become unseated from their bearings. The coreXY belt system might seem complicated, but it is relatively simple. If your Promega system.

![Broken CoreXY](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeAVIjqGd2nnz9GF%2FdU9oH3DjfF1WxgFT-brokencoreXY.jpg?generation=1531199043752765\&alt=media)

### Two Loops

The coreXY belt system is made up from two loops, an upper loop and a bottom loop. You can see this in the image below, one of the stepper motor mounts is higher than the other one. They each pass around the entire frame of the printer and incorporate one of the stepper motors.

![The Two Different CoreXY Loops](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeAXqrcQHEWQbqFv%2FuCqJbgZgCbY7c8vT-twoloops.jpg?generation=1531199044600407\&alt=media)

This is the belt routing diagram for a generic coreXY system. Below you can see that the belt system is in fact two different colors (blue and red). This same concept is applied in the Promega, there is an upper loop and lower loop.

![XLhNrDhIPuyXhYMD-coreXY.png](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZeAZCSYLpzJ7wZ39%2FXLhNrDhIPuyXhYMD-coreXY.png?generation=1531199045379616\&alt=media)

On the Promega, note that all the belts start at the extruder carriage, and that they end on the extruder carriage as well.

Follow the steps below in order to reroute the coreXY belts. The following steps will start with the upper loop, on the left side of the extruder carriage.

1. Make sure both CoreXY stepper motors are loose on their mounts. This will make it possible to route the belts. Routing the belts while these motors are not loose will make it extremely hard as you will not find slack in the system. Follow the CoreXY tensioning guide in [Belt Tensioning](/repair-and-maintenance/belt-tensioning#corexy-tuning) for more help.\
   &#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9HFIaaeLdXRVlohjy%2F-LH9RqGpJC10vVfC2f39%2Fthatsoneloosemotor.gif?alt=media&amp;token=a54b9229-c3d3-4dea-bcce-b7b742937d3c" alt="" data-size="original">&#x20;
2.
3. Route the belt from the extruder carriage around the bearing on the bracket on the linear slider. Remember the upper and lower belt loop throughout these steps. A belt that is mounted lower on the extruder carriage is supposed to go around all the lower bearings around the CoreXY assembly.\
   &#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9HFIaaeLdXRVlohjy%2F-LH9MGNsjLoHiYfueUJJ%2Fbeltaroundbearing.jpg?alt=media&amp;token=a2483e13-6caa-4053-b23f-7a61cd1919ed" alt="" data-size="original">&#x20;
4. Once the belt is around the first bearing, it will go around the bearings on the bolt in the front left corner.\
   &#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9HFIaaeLdXRVlohjy%2F-LH9NF9EEwDEk-P-CtrX%2Fbeltthroughsecondbearing.jpg?alt=media&amp;token=1e5087a3-24bf-4e8b-a51c-717d6706ed0b" alt="" data-size="original">&#x20;
5. The belt will then travel and go around the bearings on an identical bolt but on the front right corner of the printer.
6. The belt will then travel all the way to the stepper motor bracket in the back-right corner of the printer. The belt routing through the motor bracket is shown below.\
   &#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9HFIaaeLdXRVlohjy%2F-LH9QNoFn0AdKkokGbe3%2Fbeltaroundbackrightextruderbracket.jpg?alt=media&amp;token=cf469ee8-56f1-4665-aee2-efccb9335e94" alt="" data-size="original">&#x20;
7. The belt will then go around the final bearing and then should go to the extruder carriage.\
   &#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9HFIaaeLdXRVlohjy%2F-LH9QvRguGASYyt3XJ-C%2Ffinalbearingupperloop.jpg?alt=media&amp;token=6b515256-a321-4c17-8c6e-fbc6c560cb6c" alt="" data-size="original">&#x20;
8. You have now completed the first loop of  the belt system. It helps to tighten down the motor in the back right corner while putting a bit of tension on the belt system in order keep the belts in place.
9. Repeat this same process for the lower belt loop.
10. Follow the [Belt Tensioning](/repair-and-maintenance/belt-tensioning#corexy-tuning) guide in order to tension your CoreXY system and make sure it is square.


# Fans

## What are the Fans?

On the Promega you will find two different fans.

* The cold-section fan, on the front of the extruder assembly.
* The nozzle fans are two 5V fans currently located on the sides (or under, in previous revisions) of the extruder assembly.

#### Cold Section Fan

Serves to cool the extruder assembly.&#x20;

This fan is **very important** to ensure that materials with lower printing temperatures, such as PLA, can comfortably pass through the extruder without losing its rigidity. If the cold-section fan is not functioning properly, heat could creep up from the hot-end, located right underneath, and cause filament to melt and jam the extruder.&#x20;

The cold-section fan is currently a 24V fan and is plugged into the **"Always On"** port on the Duet Maestro board. This is usually the best idea to ensure that the fan is always on while the hot-end is hot.

#### Nozzle Fan

Allows for cooler air to reach the nozzle. This is important to allow printed filament to cool as quickly as possible and become rigid. Bridging without this fan would be very difficult.&#x20;

These fans are PWM controllable, by entering the G-code command:

```
M106 Pn Sm
```

you can turn the fans on or off.&#x20;

`n` specifies the port number that the fan is plugged into.&#x20;

`m` represents the desired speed of the fan.&#x20;

* This can be a value of 0 to 255, where 0 is off and 255 is the highest setting.

## Version: Current

### General Fan Location

This are the fans.

![Promega Fan Location](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPSQXQQbwnVIQkJBPrJ%2F-LPSZCjhSexnnO3THv1K%2FIMG_1042.JPG?alt=media\&token=48841db5-4a61-4021-aa6d-bb9a1fee34cc)

### Warning

Do not attempt to start the guide with a hot extruder. Wait for the hot end(s) of the printer to cool before continuing with this guide.

### Tools

1. T10 Torx Screwdriver
2. T30 Torx Screwdriver
3. Needle-nose pliers

### Additional Hardware

***NONE***

### How To Uninstall Fan Mount

Turn off board.

Move the bed all the way down. Let it rest on the limit switch.&#x20;

{% hint style="warning" %}
Do not place a significant amount of weight on the bed. It could skip your bed.
{% endhint %}

Disconnect the heater and PT1000 (extruder side).

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5MGWuOkFh04d0MTFe%2FHeater%26PT1000%20wires.jpg?alt=media\&token=a150f126-d241-4ad4-b773-5213336739c9)

Disconnect the nozzle fan and cold section fan cables (extruder side).

![The nozzle fan connector](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5MLyZFd87SSoXM9YZ%2FIMG_1369.JPG?alt=media\&token=74d5540a-aa0e-492f-b9b5-76c37089024a)

Unscrew the Wall-E.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5MVbdg83OnvcCNpwF%2Fwalle%20screws.jpg?alt=media\&token=a9a43476-0073-4383-b813-554076689e33)

Remove the Wall-E from the chassis.&#x20;

{% hint style="info" %}
Parts inside the Wall-E may fall out. Be careful not to lose them.
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5Nng2fqGKfTu5kU3A%2Fremove%20walle.jpg?alt=media\&token=fe1fb8e3-9b79-4b1c-b7be-52e523cfd8ee)

Slide the Cold Section down.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmOK1JdZJ4nKbIQwKl%2Fslide%20down.jpg?alt=media\&token=96ecf9d3-4f74-4069-ac27-c8684c71aabd)

Unscrew the M3 screws.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ-lZ_De1MQ-04d2TV5%2F-LQ-mmRL47BWwmW-rrai%2FM3%20fan%20screw.jpg?alt=media\&token=aeda8ac8-3241-4f73-bc4b-185928b22838)

Remove the nozzle fans from the fan mount

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5Rbfjeb99vkVNRD5h%2Fremove%20nozzle%20fans.jpg?alt=media\&token=b8af129b-6af8-4918-9d7b-e324ef8803bf)

Slide the Cold Section Fan out of the fan mount.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5Sm1kVQAOg7mqTFPD%2Fremove%20cold%20section.jpg?alt=media\&token=095e087a-08c9-4c44-831c-80e3d5789c29)

###

### How To Install Fan Mount

Disconnect the heater and PT1000 (extruder side).

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5MGWuOkFh04d0MTFe%2FHeater%26PT1000%20wires.jpg?alt=media\&token=a150f126-d241-4ad4-b773-5213336739c9)

Unscrew the Wall-E.&#x20;

Remove the Wall-E from the chassis.&#x20;

{% hint style="info" %}
Parts inside the Wall-E may fall out. Be careful not to lose them.
{% endhint %}

Line up the Wall-E onto the Fan Mount.

Screw in both M3 screws onto the Fan Mount.&#x20;

{% hint style="info" %}
Aligning the Wall-E to the Fan Mount may be a bit tricky, as it may slip.&#x20;
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5TIkn2PYAUPyy7Grh%2FM3%20fan%20screw.jpg?alt=media\&token=ce601a20-ad9b-4fca-a6c5-a618aaec6dc4)

Check for any gaps.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5V8kmdUsiq4ANsXwQ%2Fnozzle%20fan%20gaps.jpg?alt=media\&token=00667d1c-68cf-46ee-871f-9293d8ea6260)

If you have gaps, slowly unscrew and clamp (with your hands). The gap should start close.

Once its closed, tighten the screws down.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ5FJiurxXkq5moRzWa%2F-LQ5VBDKRMSGL8XCzkb1%2Fno%20fan%20mount%20gap.jpg?alt=media\&token=a9a930f5-59f1-4deb-8239-e914ba79d86f)

## Version: Legacy

### General Fan Location

![Promega Fan Location](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1ZfqGSw7u6WbcruXK%2FhfsKLGqrNj6ZZ2YW-fanlocation.jpg?generation=1531199023658999\&alt=media)

### Warning

Do not attempt to start the guide with a hot extruder. Wait for the hot end(s) of the printer to cool before continuing with this guide.

### Tools

1. T6 Torx Screwdrive
2. T10 Torx Screwdrive
3. Needlenose pliers
4. Container

### Additional Hardware

***NONE***

### How To Uninstall Nozzle Fan

Switch off power to the system. Wait for nearby components of the printer to cool before attempting to remove the fans.

Move the bed all the way down. Let it rest on the limit switch.&#x20;

{% hint style="warning" %}
Do not place a significant amount of weight on the bed. It could skip your bed.
{% endhint %}

Remove the four T6 Torx bolts holding the nozzle fan duct, IR probe board and limit switch mount to the extruder assembly.&#x20;

Place the four T6 torx bolts, two M2 nuts and two M3 nuts aside in a container.

![Right side of extruder](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPWvrl0OpyoYweMQPMX%2Ffan%20screw1.jpg?alt=media\&token=9af86e3f-e1aa-493e-8d59-2721be9513e2)

![Left side of extruder](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPWw1Nuv0q7sWdDL4Sk%2Ffan%20screw2.jpg?alt=media\&token=52e47eb2-53ec-402d-8ed8-177f746682a0)

Once all the screws are removed, you should be able to pull the nozzle fan duct down and out of the extruder assembly. You can now remove the nozzle fans from the fan duct by simply pulling them out.

![Unscrewed Fan Mount](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPWwIwayw9Z8h4aa6SH%2Ffan%20pull%20out.jpg?alt=media\&token=738858ec-5939-46bb-bdbb-711aed124123)

Place the fan duct aside, now we will remove the nozzle fan connector from the cable assembly on the back of the extruder assembly. \
Find the connector pictured below and remove it with needlenose pliers, you might have to remove the thermistor connector first in order to reach the nozzle fan connector.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPWwfnzhx50XLAvbPa9%2Fnoz%20fan%20disconnect.jpg?alt=media\&token=a0479c5a-dc7f-4ca4-81e0-ae441f11fb91)

Once you disconnect the nozzle fan connector you should be able to pull out the nozzle fans.

### How To Install Nozzle Fan

The orientation of your nozzle fans is very important, be sure that you have your new nozzle fans inserted into the fan duct as shown below. This will blow the air out the center of the fan duct.&#x20;

{% hint style="warning" %}
If you flip your nozzle fans it will result in the fans attempting to blow air out the sides of the fan duct (not a great idea!).
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPWxIWvmk4ghJh6p7Og%2Fnoz%20fan%20mount%20positions.jpg?alt=media\&token=3a91b559-2a33-4aaa-b6a7-49904ca3a4e7)

Push the nozzle fan connector up through the extruder assembly and above the X-axis rod. The fan connector should be right next to its female connector. Plug it in with needlenose pliers.&#x20;

Before you continue reassembling your printer it is best to check that both new fans work. Double check your wiring.

Turn on your Promega, connect to the printer, and send the g-code command to turn the nozzle fans on. Remember that these fans are PWM controllable.

By entering the G-code command

```
 M106 Pn Sm 
```

you can turn the fans on or off.

&#x20;`n` specifies the port number that the fan is plugged into.

&#x20;`m` represents the desired speed of the fan. This can be a value of 0 to 255, where 0 is off and 255 is the highest setting.

Once you have verified that your nozzle fans work you can slide your fan duct back into place. Ensure that the IR probe board is right on the side as shown in the image in step 4.&#x20;

Screw the bolts back into the IR board and attach the limit switch mount. Ensure that you fasten the nuts on the bolts of the limit switch mount.&#x20;

Make sure both the limit switch mount and the IR probe board are level.

![Nozzle Fan Screw](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPWy6jigMzwXdHDQONf%2Ffan%20screw%203.jpg?alt=media\&token=36576295-5f47-4fdd-b25b-8c9ea32ddf53)

### How To Uninstall Cold-Section Fan

Switch off power to the system. Wait for nearby components of the printer to cool before attempting to remove the fans.

Remove the two screws holding the fan to the extruder assembly, one of these screws will be held in place with glue, you might have to use some force. When the fan is removed, place the nuts and bolts in a separate container.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPX1ltphKpuqXuHpfbu%2Fcold%20section%20fan1.jpg?alt=media\&token=5b75591a-e175-4099-a8a3-f0f9badd0c48)

Move the fan over to the back of the extruder assembly, and observe where the cold-section fan is currently plugged in. The new fan will have to be plugged into the same location.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPX25VBuRCcgbXrbnZj%2Fcold%20section%20fan2.jpg?alt=media\&token=8e63788d-7b6e-41aa-b315-9eeb8f9d795e)

Use needlenose pliers to carefully remove the male fan connector from the female connector at the back of the cable assembly. You might have to unplug the heater cartridge connector in order to reach the fan connector.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPX2D1ChzafRR5yQcis%2Fcold%20section%20fan3.jpg?alt=media\&token=50838884-2bf0-4148-9b8a-ce06b82af083)

### How To Install Cold-Section Fan

Connect the cable of the new fan. Plug the new fan into the same location that the old fan was plugged into. Before you continue with reassembling the printer, test if the fan works. Double check your wiring and turn on your Promega, the fan should start spinning immediately.

Route the wire to the fan as shown in the image below. Remember to plug in the heater cartridge if you unplugged it.

Insert the bolts with the M4 nut spacers to fasten the fan back to the extruder assembly. Pay attention to path of the fan wire. We recommend applying glue to one of the nozzle fan bolts to prevent it from loosening with vibration.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPWqMxosdXZU4ojXwIS%2F-LPX2PjtewokDmHPIu-Q%2Fcold%20section%20fan4.jpg?alt=media\&token=32d4cf4e-6a96-4eb0-b551-cee82d2e10a1)


# Routing Z Belts

## Notes

This guide will not cover how to properly tension and level the system. Belt tensioning is covered [here](/repair-and-maintenance/belt-tensioning) and mechanical leveling is covered [here](/repair-and-maintenance/mechanical-bed-leveling).

## Belt Routing

The Z-belts are clamped at the top and bottom by 3D printed clamps. From there, the belt enters a 3D printed block mounted to the Z-platform called the Z-slider.

![Z-slider](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zg_-spG5bFEIgCuJ%2FUNYfc5Q5YhxMiPlc-z-slider.jpg?generation=1531199024232797\&alt=media)

After the z-slider the belts go to the pulley. If you look on the underside of the Z-platform of the Promega, you will notice that two of the four belts cross over themselves. This allows the bed to be driven by a single motor with a single axle. The belt that crosses over is referred to as the *Flipped Belt*. Follow the section immediately below to route a bed as normal, and the section *Flipped Belts* to route the flipped belt. When facing the front of the Promega, the right side belts of the Z-platform should have its belts flipped.

![Flipped Belts on the Z-assembly](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zg_3FDoVItQBAUh2%2FuEREdp4TlwEEMR8T-flippedbelts.jpg?generation=1531199024284463\&alt=media)

## Normal Belts

Loop the belt through the Z-slider as shown below. The inside of the Z-slider contains bearings that allow the belt to smoothly slide as it is being driven.

![Belt-Toothed Idler Mating](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zg_5u0mlO_jU-kEv%2FOqMwNRXw0qV4gD19-z-slidernormalbeltrouting.jpg?generation=1531199024796964\&alt=media)

After routing the belt through the Z-slider the belt must go around the pulley as shown in the image above.

The belt is then routed back through the Z-slider. The belt should nest comfortably inside the 15x15 aluminum extrusion channel.

The tops and bottoms can now be fastened. Following the [Repairing Broken Belt Clamps](/repair-and-maintenance/install-uninstall/belt-clamps) guide covers installation of the belt clamps.&#x20;

To tension the belt system follow [Z-belt Tensioning](/repair-and-maintenance/belt-tensioning#z-assembly) guide.

## Flipped Belts

Loop the belts through the Z-slider. The flat of the belt must be riding the bearing.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAQ7x8Y357sqM_DHdg%2F-LQARrhBjULy-jkQxRjX%2Fbelts.jpg?alt=media\&token=827b7f47-96f1-40df-8134-15097a9005a7)

Once the belt is through the Z-slider, flip the belt 180 degrees so the teeth can properly mesh with the pulley. Remember to cross the belt as well, if you are routing the belt from the top of the z-slider it should go around the bottom of the pulley.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAQ7x8Y357sqM_DHdg%2F-LQARwSEQrmUQX9xH09_%2Fflipped%20z%20belt.jpg?alt=media\&token=aef87c6f-c474-4437-9a01-c7e447df70d5)

When the belt is around the pulley, flip the belt 180 degrees again. **Flip the belt in the right direction!** If you rotate in the wrong direction it will cause the belt teeth to mesh together instead of the flat of the belt. It should look like the image below. **Notice how the two belt flats face each other!**

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAQ7x8Y357sqM_DHdg%2F-LQAS3YGycFRdZCeFEj5%2Fbelts%20face%20flat.jpg?alt=media\&token=ab69469b-4d4c-44d1-a498-d0e2577e79c7)

This is not what the flipped belt should look like, notice how the belts mesh together.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAQ7x8Y357sqM_DHdg%2F-LQAS4x4Odr1Ql_BXSST%2Fincorrect%20belts.jpg?alt=media\&token=4512fc59-a95f-4ed9-a09d-b9ef03dc6040)

The final result should look like this:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQAQ7x8Y357sqM_DHdg%2F-LQAS7GzCmkExUoc6YXx%2Ffinal%20zbelt%20results.jpg?alt=media\&token=b685c1ee-8844-474b-9e3f-0547931ee9df)


# Belt Tensioning

As the Promega is used over time it is possible slack develops in the CoreXY or Z-assembly belts. This can be fixed easily by following the guides below. Properly tensioning your belts will address problems with backlash and XY skipping.

## CoreXY Tuning

In order to tension the CoreXY loosen the three screws as indicated below.

![Tensioning the CoreXY Belts.](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQASdvMt8EE86XyjEI8%2F-LQATvqZOekn5ibUlOqb%2Fslide%20gantry%20motor.jpg?alt=media\&token=2ff88aee-c3a5-4b66-9cea-977633242d60)

Once the screws are loosened you should be able to pull the motor to tension the belts. Pull in the direction of the arrow.

{% hint style="info" %}
You will **not** need to pull very hard to tension these belts, around 2 lb of force is sufficient.
{% endhint %}

Strum the belts near the extruder assembly to get an idea of the tension applied to the system by pulling the motor. Once you are satisfied with the tension, tighten the M3 screws back down.

Apply this same process to the other CoreXY motor.

{% hint style="warning" %}
Be sure to tension this belt system with the ***same amount of force.***

You can misalign the extruder carriage gantry and your coreXY system will not be square.
{% endhint %}

To check that your system is properly square, align the extruder gantry with the front frame of the Promega as shown in the image below.

The extruder gantry shaft should be parallel to the frame. If one side is off, your system is not square and you will have to readjust tension.

![Checking If Your CoreXY is Square](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9WclJbGYcHUMnLmUz%2F-LH9X2AtTGUKGgOZqTMr%2Fhowtocheckifsquare.jpg?alt=media\&token=be97d55c-201f-47ba-a056-ad8f643bd19a)

In the image below you can see a coreXY assembly that is not square. The left side is not pulled in as far as the right side. This is because the right side of the gantry is being tugged backwards harder than the left. The solution would be to tension the right side tighter.

![A Not Square CoreXY Assembly](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9d76IehpevQH6J1PL%2F-LH9fFOeaJ6LOstgW0og%2Fnotsquarecorexy.jpg?alt=media\&token=899490d7-49c9-4436-bbd2-92bb2a0b9628)

## Other CoreXY Tuning Links

{% embed url="<https://reprap.org/forum/read.php?397,530210>" %}

## Z-assembly

### Tensioning the Belts

In order to gauge the tension of the Z-axis belts you can pull down on the belt as pictured below.

#### Determining the proper tension on the Z-axis belt is difficult.

{% hint style="warning" %}
More tension gives more accuracy, ***but*** can cause too much friction for the Z-motor to handle.
{% endhint %}

It is a careful balance and you will become more familiar with the proper tension over time. While pulling on the belt check that the top and bottom clamps are gripping the belt firmly.

#### You should see no evidence of slipping.

![Feeling Z Belt Tension](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQASdvMt8EE86XyjEI8%2F-LQAVaKjnzA5Ngrartng%2Ffeeling%20z%20belt.jpg?alt=media\&token=c46be801-0b4b-4ba2-8afc-4606d18e4612)

To tension the belt pull up as shown in the picture below, while tightening down the screw underneath the Promega.

{% hint style="info" %}
You should not have to pull hard to achieve the proper tension as tightening down the clamp can tension the belt.
{% endhint %}

![Tightening Z Belts](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQASdvMt8EE86XyjEI8%2F-LQAVcKd57kDb2_SEYTP%2Ftensionsing%20z%20belt.jpg?alt=media\&token=ee3b7579-6e8d-47e0-9780-5fef140883e4)

![Comparing the Distance in Each Corner](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1qy5iL0VFWfLO6%2FZVLNWJ7ERVNSrBPG-distancebedcorners.jpg?generation=1531199021805233\&alt=media)


# Slowing Down Your Bed

If you bed crashes against the nozzle or another part of the extruder it will cause the Z-axis motor to skip. The motor skips to prevent damage to a glass bed or the Z-platform itself. This skip can also cause your bed to misalign, if this occurs, follow the [Mechanical Leveling](/repair-and-maintenance/mechanical-bed-leveling) guide to fix this issue.

Once the Z-motor skips it will power off and will not hold the position of the bed. Due to the weight of the bed and the lack of friction the bed can fall with speed. This can be dangerous, therefore it is best to **keep clear of the Promega while it is moving.** The speed of the fall of the bed can be reduced greatly by:

* Properly tensioning the Z-assembly belts according to the [Belt Tensioning](/repair-and-maintenance/belt-tensioning#corexy-tuning) guide.

In addition, tighten the Z-motor belt by loosening the two screws on the bottom of the Z-platform and pulling the motor as shown in the image below.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ6IFf5u8J58rU2Tk4B%2F-LQ6JC6v354WvH5eyJqO%2Fbelt%20tightening.jpg?alt=media\&token=b4b34333-9296-4055-8937-4385f29435d8)

Tighten the Z-motor belt pulley against the rail in order to increase friction.


# Mechanical Bed Leveling

### Leveling the Bed

As covered in the [Bed Leveling & Probing](/advanced-setup-guides/bed-leveling-and-probing) guide, bed leveling compensation will work for differences of about 3mm across the entire bed. Leveling your bed can be done by skipping teeth on the bed in specific corners. If your bed is extremely un-leveled, it will not be movable by hand.

Look at your bed and determine if one side is visibly higher than the other side.

Remove the binder clip if you have placed one on the Z-motor belt.

Gently pull up on the corner that you want to skip. Apply pressure until you feel the corner give with a loud click.&#x20;

{% hint style="warning" %}
Do not skip the bed near the belt clamps as it can break your belt clamps.
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQGHTgx2TNDPQIciNXP%2F-LQGHtgfG3NGhuXNxnM3%2Fskippingthebed.gif?alt=media\&token=afe401fc-298b-41ce-8da7-8a7564afacba)

Once the bed is level enough to the point where it drops by itself, move the bed up to the nozzle by hand. The bed is best lifted up from the points pictured below.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQGHTgx2TNDPQIciNXP%2F-LQGI-EHQazdO4WzwNQt%2Fwheretoholdbed.jpg?alt=media\&token=75722273-ac03-4850-b291-dac474f29e9d)

Lift slowly or you will skip the bed.&#x20;

{% hint style="warning" %}
Moving the bed too fast can also fry your Duet board, so be careful.
{% endhint %}

When the bed is touching the nozzle, determine the offset of the Z-sliders to the top belt clamps to determine whether the bed is level. This will give you a good enough estimate to level the bed.

{% hint style="info" %}
Bed leveling compensation with `G29` can take care of the rest.
{% endhint %}

![Comparing the Distance in Each Corner](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH1Za_0zE3Gc48IOTMt%2F-LH1Zf1qy5iL0VFWfLO6%2FZVLNWJ7ERVNSrBPG-distancebedcorners.jpg?generation=1531199021805233\&alt=media)

{% hint style="info" %}
The bed can be leveled more accurately by using a caliper to measure the distance between the bed and the top of the Z-slider rails and comparing the corners.
{% endhint %}


# Z-Probe Calibration & Software Bed Leveling

This guide will walk you through setting the Z-offset of a Z-probe sensor. This is necessary in order to allow you to probe the bed accurately.&#x20;

The Promega comes equipped with two different Z-probes:

* The Limit Switch&#x20;
* The IR Probe.&#x20;

{% hint style="info" %}
This guide can be followed to configure either one.&#x20;
{% endhint %}

Whenever you home the printer, the current Z-value of the printer is set based on the limit switch on the bottom of the printer. Whenever you "probe" the bed, meaning you touch the bed against the limit switch probe on the extruder or the IR probe on the extruder, the Z-value will now be based on that probe move. However, in order to do this accurately, you will have to configure the distance between the nozzle and the trigger height of the Z-probe. This is because the firmware will set the Z-value of the printer to the Z-probe offset, as configured in this guide, whenever the Z-probe is triggered during a probe move.

## Calibrating the Limit Switch

To find out the z-offset of the limit switch to the nozzle, follow the steps below.

Home the printer again, just to ensure you do not stall the printer throughout this process.&#x20;

Print head to the center of the build plate by sending the command

```
G1 X187 Y154
```

Heat up the bed to the preferred printing temperature. You can do this by sending the command `M140 Snnn` where `nnn` is your temperature in °C. You can always look up the recommended bed temperatures for specific materials online.&#x20;

{% hint style="info" %}
For PLA, a bed temperature of 50°C is recommended.&#x20;

For ABS-R, a bed temperature of 60°C is recommended.&#x20;
{% endhint %}

Wait until the heated bed has reached temperature before continuing.&#x20;

Set the Z-probe offset to 0 by entering the command:

```
G31 P999 X-40 Y28.5 Z0
```

This will make it easier to gauge the distance between the Z-probe and the nozzle in the following steps.&#x20;

Run the command:

```
G29 S2
```

This clears any active bed leveling compensation. This is **very** important as it will conflict with your updated Z-probe offset.&#x20;

{% hint style="warning" %}
It will induce a 0.1 - 0.3 mm error.
{% endhint %}

Deploy your Z-probe!

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQKvMgeOnSd5cF2J51g%2F-LQKwOTaEnSkV1jWoGHH%2Fdeployingtheprobe!.gif?alt=media\&token=88adfd52-6fea-484d-b320-b7d8f9ff2e05)

Check whether the Z-probe is functioning correctly.&#x20;

{% hint style="info" %}
This is a great step to perform before using your Z-probe in order to prevent crashes.&#x20;
{% endhint %}

Press your Z-probe limit switch and observe the change in value from 0 to 1000 in the Duet Web Console *Machine Status* table in the *Z-Probe* box.&#x20;

{% hint style="warning" %}
If the value does not change the Z-probe is wired or configured wrong, Do Not continue to the next step!
{% endhint %}

![Z Probe Is Not Triggered](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQKvMgeOnSd5cF2J51g%2F-LQKwSc8fCO6VXyBU-hF%2Fzprobemachinestatus.png?alt=media\&token=f40876fb-24c9-4448-a7a0-745c5662ea8a)

Move the bed towards the nozzle by sending the command `G1 Z20`. When you send the command `G30` the bed will move slowly and precisely to the Z-probe, if you send `G30` while the bed is at `Z100` or greater you will have to wait for a long time for the Z-probe to trigger.

Run the command `G30`. This will move the bed toward the z-probe until the limit switch triggers.

Now your Z0 is set to your Z-probe limit switches trigger height. This means that if you go to Z0 with the command `G1 Z0` it will send the bed to the trigger height of the limit switch. This is because the Z-probe limit switch offset is 0mm, and the firmware sets the Z-height of the printer to the Z-probe offset whenever the probe is triggered during the probe move.

Now that we have set our Z0 to the trigger height we can move the bed toward the nozzle in order to find the distance between the trigger height of the Z-probe and the nozzle!

Retract the Z-probe.

Jog the bed up slowly toward the nozzle using the negative Z buttons in *Machine Control* on the Duet Web Console. Read the next step!

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQKvMgeOnSd5cF2J51g%2F-LQKwY_Nfyz6fp_ZHNjC%2Fassets%252F-LH1ZPQUJrjMM5Ql5c--%252F-LH1Za_0zE3Gc48IOTMt%252F-LH1ZhMl0in2UE80MDRt%252FZ81QrJdADnqOrI0d-MachineControl.PNG?alt=media\&token=1a2d1e68-fa60-4581-8335-a46b83c28510)

As you are moving the bed up towards the nozzle you will encounter an axis limit. These axes limits are set for the X, Y and Z axes and will stop you from moving past a certain coordinate. This will make it harder to stall the printer. However, in this case we know what we are doing so we can disable the axes limits. Send the command `M564 S0` to disable the axis limits. To learn more about this command visit the [RepRap G-code wiki](https://reprap.org/wiki/G-code#M564:_Limit_axes).

**Be careful when moving the bed close to the nozzle. Use the 0.1mm buttons.** Determining when the bed is touching the nozzle can be difficult. Heat up the nozzle as you learned before in order to ensure that none of the filament from the hot-end gets in the way. Using a piece of paper to determine when the nozzle is touching the bed is also helpful. Grab a sticky-note or small piece of paper and place it under the nozzle. Then carefully jog the bed into the nozzle, move the paper back and forth. When you feel the nozzle grab the paper your nozzle is touching the bed!.&#x20;

Record the Z-value that the printer is currently displaying in *Machine Status*. The absolute (non-negative) of this value is your Z-probe offset. It might be a good idea to write down this value.

Enter the command `G31 P999 X-40 Y28.5 Znnn` where `nnn` is your Z-probe offset.

Enter the command `M564 S1` in order to re-enable your axes limits.

Move the bed away from the nozzle `G1 Z20`.

Deploy your Z-probe!

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQKvMgeOnSd5cF2J51g%2F-LQKwbTClgITRgNsZR3k%2Fdeployingtheprobe!%20\(1\).gif?alt=media\&token=8d93c638-b2be-4288-8102-05cf8930f0e3)

Send the command `G30`.

Retract your Z-probe!

Move the bed back up to the nozzle as described in the steps above. Your Z value should be 0 when the bed is touching the nozzle. If it is not you might need to tune the Z-probe offset or repeat the process.

In order for these changes to take effect permanently, you will have to open up your *config.g* file and update the Z-offset of this command there. If you have the newer version of the SD card, you will have to find *machine\_zprobe.g* and open that instead.

Find the un-commented `G31` command and change the `Z` parameter value to the value you just found.

Save the file, now if you reboot your Duet the Z-probe offset will be saved. If you ever make a mechanical change to the printer, skip the bed and so on, you will have to recalibrate your Z-probe following the steps above.

## Automatic Bed Leveling Compensation

To accommodate for small discrepancies in the bed level of the Promega, you can enable bed leveling with `G29` , however, this command will require a *heightmap.csv* file. Each *heightmap.csv* file will be unique to your Promega, and sometime even unique to a specific time. If you stall your printer or otherwise misalign your bed, you will have to re-run mesh bed leveling. Bed leveling compensation can compensate for about 2mm of error. If your error is greater, follow the [mechanical leveling guide](/repair-and-maintenance/mechanical-bed-leveling) via skipping. Follow the steps below to generate a *heightmap.csv* file and enable bed leveling compensation.

Home the printer if you have not already done so.

Heat up the print bed to your preferred printing temperature. The Promega's bed will warp differently depending on what temperature it is heated up to.

Wait until the bed has reached its temperature before continuing. This could take a few minutes.

Deploy the Z-probe.

Send the command `G1 X200 Y200 Z20` followed by the command `G30`.

Send the command `G32` , this will start the mesh bed leveling process. The mesh is defined in the configuration files on the SD card, and should not need to be changed.

Wait for the mesh probing to complete. This could take a while as it probes over 100 points on the bed.

Once the leveling completes, it will generate the *heightmap.csv* file in the *sys/* folder on the microSD card. It will also display the heightmap on the Duet Web Console. This is a great tool to observe and visualize any error in the levelness of your bed. Remember that this graph is inflated **massively** and represents a 400mm by 400mm are&#x61;**.** A height difference of  ± 1mm between the corners of the print bed is expected. Below you can see heightmaps. The one on the left is a normal heightmap, the one on the right is a good heightmap (courtesy of @talrynn(John) on discord). With mesh bed leveling compensation, there should be no difference in print quality or ability. &#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQKvMgeOnSd5cF2J51g%2F-LQKxTfnVSzJRz1X4oFM%2Fgoodheightmapvisual.png?alt=media\&token=a494ceea-6db0-45d5-925e-18b0b973c425)

Bed leveling compensation will be automatically enabled once bed leveling completes. It is important to **remember to disable bed leveling compensation whenever you are finding constants and offsets on the Z axis**. Otherwise the bed leveling compensation will conflict with the offset you obtain. If you want to disable bed leveling compensation send the command `G29 S2` , to enable bed leveling compensation after disabling it, send the command `G29 S1`


# Screw & Tool List

## Notes

Look under the All Tools header for each assembly to see all the possible tools you will need to maintain, assemble or repair the Promega .

Look under the [All Screws](/repair-and-maintenance/screw-and-tool-list#all-screws) section to view a more in-depth list of the screw types and their location.

## Brief Overview

### All Tools

* T20 Torx Screwdriver
* T10 Torx Screwdriver
* T6 Torx Screwdriver
* 1.5mm Hex Driver
* 1.3mm Hex Driver
* 5 mm Nut Driver&#x20;
  * (or Pliers/Adjustable Wrench)
* 5.5 mm Nut Driver&#x20;
  * (or Pliers/Adjustable Wrench
* 7 mm Nut Driver
  * (or Pliers/Adjustable Wrench)
* Needle-nose pliers

### All Screws

* Hot-end Block: 1.3 mm Hex
* Hot-end Extruder Set screws: 1.5mm Hex
* Fan duct & Z-Probe: T6 Torx
* Other screws: T10 or T20 Torx

## Detailed List

### Extruder Assembly

#### Tools

* 1.3 mm Hex
* 1.5 mm Hex
* T6 Torx Screw Driver
* T10 Torx Screw Driver
* T20 Torx Screw Driver

#### Screws

**1.3 mm Hex**:

* PT1000 Setscrew
* Heater Cartridge Setscrew
* Nozzle Setscrew

**1.5mm Hex**:

* Hot-end Setscrews

**T6 Torx**:

* Fan Duct Bolts (2x)
* Z-Probe Limit Switch Mount (2x)

**T10 Torx**:

* Cable chain bolt
* Cold-section fan (2x)
* Extruder Wiring Assembly (2x)

**T20 Torx**:

* Extruder block mount (3x)
* Belt clamp (2x)

### CoreXY Assembly

#### Tools

* T10 Torx Screwdriver
* T20 Torx Screwdriver
* 1/4-20 Hex

#### Screws

**T10 Torx**:

* CoreXY Stepper Motor (6x)
* Belt Routing (8x)
* Linear Slider Mounts (6x)
* X & Y Limit Switch Mounts (4x)

**T20 Torx**:

* CoreXY Gantry Brackets (2x)
* Belt Routing (4x)
* Motor mount (6x)

**1/4-20 Hex**:

* CoreXY Rods (4x)

### Z-Assembly

#### Tools

* T10 Torx Screwdriver
* T20 Torx Screwdriver

#### Screws

**T10 Torx**:

* Bottom belt clamp (4x)
* Linear Slider Mount (12x)
* Heated Bed / PCB Mount (12x)
* Z-Slider Screws (8x)
* Limit Switch Mounts Screws (2x)
* Z-motor Screws (2x)

**T20 Torx**:

* Linear Bottom Screws (4x)
* Bed Frame Screws (12x)

### Wiring Assembly

#### Tools

* T10 Torx Screwdriver
* T20 Torx Screwdriver

#### Screws

**T10 Torx**:

* Duet Board (4x)

**T20 Torx**:

* Power supply (4x)
* Bed switch (2x)
* Power switch (2x)
* Filament holder

**Phillips Head**:

* Bed Terminals
* Power Supply Terminals
* Duet Board Terminals


# Temperature Calibration

The hot-end(s) and the bed are controlled by temperature feedback loops which are supposed to maintain a steady temperature. The type of feedback loop is a first order plus dead time ([FOPDT](https://controlguru.com/process-data-dynamic-modeling-and-a-recipe-for-profitable-control/)) loop. This loop has three different control variables: 1. Gain: Kp: Allows for manipulation of the strength of the heater response. 2. Time Constant: Tp: Control of the speed of the response of the heater. 3. Dead time: The delay before the system will begin a response.

This control loop and its variables are applied to the different heaters on the Promega. With the command `M303` and `M307` the temperature control loop can be tuned and changed. The default control variables supplied by M3D in the configuration files should allow you to print at a stable temperature. However, significant changes to the printing environment, such as room temperature, air-flow or humidity can impact your control loop effectiveness and stability. An improper control loop can cause problems listed below.

* **Overshoot**: A response to a new set-point will send the temperature of the heater significantly beyond the set-point. An overshoot of about 15°C is reasonable. A greater overshoot can cause your filament to char or present a fire hazard.&#x20;
* **Oscillation**: An unstable control loop can result in a temperature oscillation. An oscillation of more than 5 °C degrees can impact printing quality.
* **Steady-state Error**: The stable temperature output of the control loop does not reflect the temperature set-point.
* **Long Response Timer**: The heater will take a long time to achieve the desired set-point. While not dangerous, this can be an annoying and unnecessary delay.

## Auto-tuning

RepRap firmware has a built in auto-tune heater function. This allows you to tune the control loop of a heater on the Promega. Follow the section below!

**WARNING: The auto-tune function can rapidly heat your hot-end(s) to a high temperature. DO NOT leave your printer unattended while running** `M303`

### Overview

The command `M303` will heat-up your hot-end to a set-point temperature and record data as it does so. Therefore, while your hot-end is undergoing it is important to replicate the conditions that your 3D printer prints in. For example, turning on your nozzle fans. First, the tuning process will heat the hot-end to your set temperature. It will likely overshoot the set-point. The nozzle will then cool-down to room temperature. If you instructed the control board to perform multiple cycles, it will repeat this process multiple times. Once complete, the firmware will return suggested control variable values.

#### `M303` Parameters:

* `Hnnn`: Heater number (by default: 0 is bed, 1 & 2 hot-ends)
* `Pnnn`: PWM percentage from 0 to 1.
* `Snnn`: Set-point temperature in °C

#### `M307` Parameters:

* `Hnnn`: Heater number (by default: 0 is bed, 1 & 2 hot-ends)
* `Annn`: Gain constant
* `Cnnn`: Time constant
* `Dnnn`: Dead time
* `Fnnn`: PWM frequency
* `Bn`: Bang-bang control enable (1)
* `Snnn`: Maximum PWM
* `Vnnn`: Vin at the time of calibration. Allows for compensation of power supply voltage variation.

### Auto-tune Procedure

* **Do not leave the printer unattended.**
* Unload the filament from your hot-end.&#x20;
  * Once you are more familiar with the `M303` command, this step is not necessary. We recommend removing filament as it can burn and char inside your hot-end if the tuning process reaches a high temperature.
* Wait for the heater to reach room temperature. **This is important to achieve a good result!**
* Send the `M303` command.&#x20;
  * Change the `H` parameter to reflect the heater number.&#x20;
  * The PWM percentage can be changed with `P` if the heater is heating up too fast, and the firmware is unable to present control variables.&#x20;
  * The `S` parameter should be set to a **typical** printing temperature, such as 230°C.&#x20;
  * An example would be `M303 H1 P0.5 S230` in order to run auto-tune on hot-end 1, with 50% PWM and to 230°C.
* Wait for auto-tune to complete. **Do not leave the printer unattended.**
* The firmware should print out the calculated control variables.&#x20;
  * Sending `M303` should also display the control variables.
* Use the `M307` command in order to set new control variables. Use the parameter list above to determine the proper syntax.&#x20;
* Remember to replace the `M307` command in the configuration file *config.g* with the command you just entered in order for your changes to take effect upon a system restart.

## Legacy PID Control

RepRap firmware also allows for control of the heaters with basic PID with three different constants: Kp, Ki, Kd. Use the command `M301` in order to send enable and send these control variables. These control variables also can be found by running the `M303` auto-tune as listed above. The command `M301` will enable the legacy PID control loop.

`M301` Parameters:

* `Hnnn`: Heater number
* `Pnnn`: Proportional constant (Kp)
* `Innn`: Integral constant (Ki)
* `Dnnn`: Derivative constant (Kd)

## Manually Tuning

Manually tuning your control variables can be done. Read more about the control variables explained in this guide online and their effects on a control loop before changing your control variables. Manually tuning your control variables is often a great option to reduce or obstruct observed errors as the ones listed above. Tuning your control loop from scratch is not recommended! Be careful when changing your control variables as it could easily produce unintended consequences


# Unclogging The Nozzle

Slide your Cold Section Fan half-way down.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmOK1JdZJ4nKbIQwKl%2Fslide%20down.jpg?alt=media\&token=96ecf9d3-4f74-4069-ac27-c8684c71aabd)

Unscrew the M3 screws on your Wall-E.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPChoviKi4gmvBKGC9L%2F-LPCldhj-8bt3t_VdDMS%2FIMG_1026.JPG?alt=media\&token=3afa42fc-f07a-476e-9020-d531d696c2bc)

Remove the Wall-E

{% hint style="info" %}
Be cautious. Parts housed in the Wall-E may fall out. Do Not lose them.
{% endhint %}

Carefully bend the filament out of the filament path.

{% hint style="warning" %}
Avoid doing this with PLA or any other brittle filament.
{% endhint %}

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmX6nAplLMgXxxC9HY%2Fbendfilament.jpg?alt=media\&token=b4179430-e1c5-4d01-8a6f-17decdae289b)

Heat the nozzle to 200 C.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmKnZBFHPGyTJBjuis%2Ftemp%20200.PNG?alt=media\&token=5b24eada-d354-4221-9d62-0781b8e099da)

Wait for the temperature to reach.

Retract the filament out.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmXBN__D6FR8S2_CFk%2Fretract%20filament.jpg?alt=media\&token=478f831e-22f7-478e-ae26-5fda39b60a82)

Turn off the nozzle

Wait for the nozzle to cool.

Re-install any missing components in the Wall-E.

{% hint style="warning" %}
Double check all components are installed. Failure to do so will prevent the printer from working.\
\
Check using this [Single K'Tana](/documentation/mechanical-systems/single-ktana#back-components) or [Compound Mixing](/documentation/mechanical-systems/compound-mixing#back-components) parts guide.&#x20;
{% endhint %}

Install the Wall-E back into the chassis.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmXDtYfsPJO9278aji%2Freinstall%20walle.jpg?alt=media\&token=75ffd762-14d1-4155-8678-2be4e639c34e)

Use the M3 screws to tighten the Wall-E.

{% hint style="info" %}
Lightly tighten the M3 screws. Do Not Over-tighten.
{% endhint %}

Slide you Cold Section Fan back to original position.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPm7NftBujlbovOWkqw%2F-LPmOOgBKHsu7D3JhlUx%2Fslid%20up.jpg?alt=media\&token=a1b6f12f-7b79-479e-a9f9-8dfa69980965)

Done.


# How To Troubleshoot


# Network Connection

This a complete troubleshooting procedure used to determine the issue behind any connection issues to Duet Web Control (DWC).

## DHCP  (Default Setting)

### Verify You Have DHCP

Open the "machine\_access.g" file (located under *sys* folder).&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP7rYG3VRVt8RjtijB9%2F-LP7si2-KFOkFrOzJtpy%2Fmachine-access.PNG?alt=media\&token=59095f99-a627-4a5d-9b83-c4c80f150b3b)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP7rYG3VRVt8RjtijB9%2F-LP7tD3BXdTyWLRpuMx7%2Fmachine-access-2.PNG?alt=media\&token=90a23e52-f883-490f-b998-6a760b29be9c)

Locate the code: M552

Two things to check:

1. Look for this exact, matching code, with a single line. Dismiss anything after S1.

```
M552 P0.0.0.0 S1
```

&#x20;  2\. Make sure the semicolon (**;**) character is not present before the M552, within the same line.

```
; M552 P0.0.0.0 S1             ; DHCP - IS - enabled.
M552 P0.0.0.0 S1             ;   DHCP - IS NOT - enabled.
```

If any of these two items are not correct, you may be using a [Static IP](/how-to-troubleshoot/network-connection#static-ip).

### Verify IP Substitute Name

Open the "machine\_access.g" file (located under *sys* folder).&#x20;

Locate the code: M550.

Your IP substitute name is:

```
M550 P[here]
```

Example:

```
M550 PFrankie
```

Enter the name into your web browser:&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP7rYG3VRVt8RjtijB9%2F-LP7ti521l9uMF-IuT0x%2Fip-name.PNG?alt=media\&token=0fbc74bc-a42f-423e-97f4-01a0a39ae0a5)

Continue if the DWC could not connect:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP7rYG3VRVt8RjtijB9%2F-LP7twkCPkyjaWux0XMt%2Fip-name-not-found.PNG?alt=media\&token=068abf81-f4db-46d5-ad13-560c2144d3b2)

### Verify IP Address

#### Follow Duet3D's [Official Getting Connected to Your Duet](https://duet3d.dozuki.com/Guide/1.\)+Getting+Connected+to+your+Duet/7) link.

OR

#### Here is simplified version:

Download [YAT](https://sourceforge.net/projects/y-a-terminal/).

Connect the Duet Maestro (your board) to your computer using the USB connection.

Open YAT.

Pick the correct COM# port. Click "Okay"

![If you don't have the "Duet 2 Maestro 3D printer .. " label show up, it's not too important.](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP7rYG3VRVt8RjtijB9%2F-LP7vPZMhftwU9ERZEAh%2FYAT.PNG?alt=media\&token=c7af0df4-4dc7-4df3-b30a-6ae02a40dfe6)

{% hint style="info" %}
If you want have to "Duet 2 Maestro 3D Printer ..." show up, follow the [Installing the Duet Driver](/documentation/software-firmware/duet-driver#how-to-install) guide.
{% endhint %}

Enter code (into the bar labeled "Send Text"):

```
M552
```

Possible Response #1:

```
Network is enabled, configured IP address: 0.0.0.0, actual IP address: 192.168.1.##
```

You have a valid IP address. Enter the IP address (e.g. 192.168.1.54) into your web browser.&#x20;

Possible Response #2:

```
Network is disabled, configured IP address: 0.0.0.0, actual IP address: 192.168.1.##
```

Your network settings were disabled (off).&#x20;

Enter:&#x20;

```
M552 S1
```

Re-evaluate response.

Possible Response #3:

```
Network is enabled, configured IP address: 0.0.0.0, actual IP address: 0.0.0.0
```

A 0.0.0.0 IP address means: the Duet (board) did not connect to the internet.

Check your internet connection.&#x20;

If you're sure the Duet (board) has internet connection, move on to the next step.

### Check SD Card&#x20;

Make sure the SD Card is installed into your Duet

{pic}

{% hint style="warning" %}
Do Not install or uninstall the SD Card when the printer is on. You May Burn the SD Card by doing this.
{% endhint %}

Return To YAT.

Enter:

```
M21
```

#### Possible Response #1 & #2:

```
[NOTHING]. Literally nothing.
```

OR

```
No SD car present.
```

Your SD Card is not being read.&#x20;

Make sure the SD Card still works, by verifying you can still see the SD Card's content through your computer.

If you cannot, you need a new SD Card. Refer to [Updating SD Card](broken://pages/-LH1ZbQK2pREbHCZ8zcK) for repopulating your new card.

If you can, we recommend reformatting the SD Card (follow official Duet3D [microSD guidelines](https://duet3d.dozuki.com/Wiki/SD_Card)).

**Possible Response #3 & #4:**

```
SD Card mounted in slot 0, capacity ###.##Mb
```

OR

```
SD Card has open file(s).
```

Your SD Card is being read. Move on to the next step.

### Check SD Card Content

Connect and open the SD Card to your computer.

Make sure your [root folder](https://gopro.com/help/articles/How_To/How-to-Find-the-Root-Level-of-Your-SD-Card) is exactly as shown below:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP7rYG3VRVt8RjtijB9%2F-LP7si2-KFOkFrOzJtpy%2Fmachine-access.PNG?alt=media\&token=59095f99-a627-4a5d-9b83-c4c80f150b3b)

If not, re-organize until exact.

*OR*

*Delete-all* and C*opy-Paste* from [official Promega SD Card Content](https://github.com/PrintM3D/Promega/tree/devel/SD%20Card%20Structure).

Re-install the SD Card into the Duet board. Enter valid IP address or substitute name.&#x20;

## Static IP

Under construction. Coming Soon.


# Duet Web Console (DWC)

## Rejected by the Duet

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHF3qV6rH57O4Ijx8Uk%2F-LHFAJ5ftIekg9k3aTcJ%2FRejectedbytheduet.png?alt=media\&token=7090b3f6-2c00-432a-9fb5-afb99e0523f7)

### Problem

When attempting to connect to the Promega the error "Your Duet rejected the HTTP request: page not found" is shown.&#x20;

This indicates that the web pages of the Duet web server can not be loaded from the SD card. Usually the problem lies in the SD card not being properly mounted to the system. This can happen if you ejected the SD card and then put it back into the Duet board while it was powered.&#x20;

### Solution

* Reboot the Duet Maestro board with the microSD card properly fitted inside.
* Reformat the microSD card.
* [Update the microSD card files.](broken://pages/-LH1ZbQK2pREbHCZ8zcK)
* [Update the Duet Web Firmware.](/documentation/software-firmware/updating-firmware)

## Frequent Disconnects from the Duet Web Console

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHF3qV6rH57O4Ijx8Uk%2F-LHFBkzYanDdUTOhRemX%2Fduetdisconnected.jpg?alt=media\&token=49bcbc36-f27d-4dfa-b646-52e4478e9972)

### Problem

When working with the Duet Web Console there are frequent disconnects with the Duet Web Console.

### Solutions

* Ensure that your computer has a proper connection to the local network. It is possible that the Duet is not disconnected from the network but your computer is.
* Ensure that the Duet has a proper connection to your local network.
* [Try configuring a static IP address](broken://pages/-LOshvboTbWC-C0o-1ky#changing-the-network-settings-via-sd). It is possible that the router is continuously changing the IP address of your Promega.
* Go to *Settings > General* on the Duet Web Console and increase the *Status Update Interval* and *Maximum Number of AJAX Retries*.


# Z Probe

## Z-probe Not Triggering

### Problem

Pressing the Z-probe does not result in a change in Z-probe value in the Duet Web Console *Machine Status* table.

### Solution

This indicates a broken Z-probe or a problem with the Z-probe wiring.&#x20;

#### Z-probe Limit Switch Wiring Problem

The limit switch has an extension cable that extends into the cable chain as it goes to the Duet Board. It is possible that the Z-probe become disconnected from the extension cable during printer use.

#### Let's start.

Turn off the printer.

Open the cable chain segments until you find the connection of the Z-probe limit switch cable to the extension cable.

{% hint style="info" %}
&#x20;Read [this guide](/repair-and-maintenance/install-uninstall/cable-chain#how-to-open) for more instructions on how to open the cable chain.
{% endhint %}

&#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHKKvi1FQln3JxYC2Yv%2F-LHKO5WRRShTOgPuTey5%2Fzprobeconnector.jpg?alt=media&amp;token=2fa22d31-06be-448f-90dd-84c7261d0313" alt="" data-size="original">&#x20;

Make sure the cable is properly plugged in.&#x20;

{% hint style="info" %}
Polarity does not matter as it is a switch.
{% endhint %}

You can apply glue to the connector to ensure that the connector stays in place.&#x20;

Make sure that the cable overall has enough slack for the gantry to move around the entire CoreXY plane.

#### Z-probe IR Probe Wiring Problem

A connection problem has been identified in some of the IR probe connectors. This is easy to fix with the following procedure.

#### Let's start.

Turn off the printer.

Unplug the connector from the IR board.

Take the contact of the white signal cable out of the connector. You will notice that this contact has a U shape on the end. This is meant to properly contact the pin on the IR board, but it does not. Crimp this U so that the tips come closer together.\
&#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHKKvi1FQln3JxYC2Yv%2F-LHKQWECqihIVkV72s_q%2Fz-probecable.jpg?alt=media&amp;token=92fd8ee7-f743-4bd4-a524-75cd817c80b9" alt="" data-size="original">&#x20;

When inserting the white cable back in the connector it might help to apply a little bit of superglue to keep it in place.

Plug the connector back in the IR board.

Put the fan duct and IR board back in their place.

Test the IR Z-probe.

## Error: Z-probe Triggered Before Move

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJyPod7KfYf0dijBq6%2F-LHK3VrclZ3QyxJsIbxG%2Ferrorzprobetriggeredbefore.png?alt=media\&token=73318e60-727d-4c57-aa1f-e50b36e82137)

### Problem

The probing procedure does not start and the Error: Z-probe Triggered Before Move is  printed in the console.

### Explanation

This indicates that the firmware has detected a triggering Z-probe value before it has even started moving the Z-platform. This can be seen in the *Machine Status* table as the *Z-probe* value will usually be 1000. The procedure here is attempting to move the Z-platform to the Z-probe in order to trigger it, but the Z-probe is already triggered.

### Solution

Test that the Z-probe value in the Duet Web Console is toggling correctly.

Ensure that the Z-probe is properly connected.

Ensure that the Z-probe is properly configured with the `M558` command.

## Error: Z-probe Not Triggered During Move

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHJyPod7KfYf0dijBq6%2F-LHK-KpMjrIchA1BBFkx%2Ferrorzprobenottriggered.png?alt=media\&token=912c7860-0ae4-4345-b80d-516ae50a6426)

### Problem

As the image above indicates, the Error: Z-probe Not Triggered During Move is printed out and the probing operation has failed. If the printer was moving during the probing command, the printer stopped moving before the Z-probe was triggered.

### Explanation

This error is actually a fail safe, the printer is preventing what it presumes is a crash. Since the printer does not know where the mechanical limits of the printer are, it assumes the software limits are the limits of its motion. When the printer is performing its probing procedure it reaches the axes limit before the Z-probe is triggered and prints the error above. &#x20;

### Solution

Disable axes limits with the command `M564 S0`

Make sure that the Z-probe value on the Duet Web Console changes when the Z-probe is supposed to be triggered.

Ensure that the printer never reaches a value less than 0 in the Z, during a probe move. You can do this by sending the command `G92 Z50` while the printer is less than 50mm away from the nozzle.

{% hint style="warning" %}
Travelling to a small Z-value after you do this will crash the printer!
{% endhint %}


# Mesh Compensation

## My Bed Is Too Low or High

### Problem&#x20;

The nozzle is too high up from the bed. My filament has no chance of sticking to the bed.

OR

The nozzle is scraping against the bed.  Little or no filament is extruding.&#x20;

### Temporary Solution

{% hint style="info" %}
This solution only applies during a print.&#x20;
{% endhint %}

Open the "Print Status" Tab.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDDG7nw8ONjMirwl2t%2F-LPDN0fXf7ZgXZtfYOYz%2Fprint%20status%20tab.PNG?alt=media\&token=c668b240-f492-4d4c-b3ea-a3a28f30b3eb)

Look for the "Z Baby Stepping" section.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPDDG7nw8ONjMirwl2t%2F-LPDN2oDNT9exUz7LtpI%2Fbaby%20stepping%20tab.PNG?alt=media\&token=8523da8d-b1b4-4bfa-9aaf-cf6f230eadf9)

Use the two buttons below.&#x20;

```
+ 0.05 mm = Moving the Bed DOWN
- 0.05 mm = Moving the Bed UP
```

{% hint style="info" %}
Use the buttons LIBERALLY. 0.05 mm increments are hard to visually see.

The goal is to manually set nozzle bed height to a desired level.&#x20;
{% endhint %}

Mesh grid compensation is NOT disabled. It is shifted, holistically.&#x20;

### &#x20;Solution

Your Bed Switch's Height Offset parameter not calibrated.

OR

Skipping of bed caused the Height Offset to change.

Follow the [Setup Bed Probe](/beginners-setup-guides/get-your-bed-ready) guide.

If you notice any skipping of the bed since the last time mesh compensation probing (G29) was preformed, follow the[ Read The Map](/beginners-setup-guides/get-your-bed-ready#map-the-bed) guide.

If not, proceed with printing.

{% hint style="warning" %}
Do Not Home The Z after performing a G30. Homing Z ***OVERRIDES*** any bed level adjustments you just did with the bed probe. \
\
Homing Z serves 2 purposes:&#x20;

1\) Allow movements (No movement can occur without homing first).

2\) Used for power recovery.
{% endhint %}

## Bed Mesh Compensation Is Not Accurate

### Problem&#x20;

Mesh compensation is on and compensating, but the nozzle-bed height is still erratic.&#x20;

### Solution

Mesh compensation works within the mesh grid probe.

Check your print's location, with respect to the limits of the mesh grid.

Run:

```
M557; Mesh Grid Parameters
```

The output should provide the mesh grid limits.

Example:

```
Grid: X0.0:340.0, Y35.0:380.0, radius -1.0, X spacing 48.0, Y spacing 48.0, 64 points
```

X Minimum: 0

X Maximum: 340

Y Minimum: 50

Y Maximum: 380

## Cannot Find Heightmap.csv

### Problem&#x20;

Duet Web Console (DWC) throws an error during a print and/or during operation of the printer involving  Heightmap.csv

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP84SI22y_wGyJvbFFZ%2F-LP86xToRvJIKPMF_dUa%2Fimage.png?alt=media\&token=9c25d002-c756-4440-8ac3-b8e07e58f29e)

### Solution

Engage your bed limit switch.

Make sure your bed limit switch is calibrated. If not, follow [Setup Bed Probe](/beginners-setup-guides/get-your-bed-ready#setup-bed-probe) guide.

Next, follow the [Map The Bed](/beginners-setup-guides/get-your-bed-ready#map-the-bed) guide.

## Bed Mesh Compensation Is Not Activated

### Problem&#x20;

The z motor is not actively compensation for bed level variations.

### Solution

Enter code :

```
M122
```

In the list, look for :

```
Bed compensation in use:
```

If you see:

```
Bed compensation in use: none
```

Enter:

```
G29 S1
```

If you see:

```
Bed compensation in use: mesh
```

The mesh compensation is activated. Bed compensation typically occur in fine, slow movements. The more angled your bed is, the more active the z-motor is.&#x20;


# Bed

**Under Construction.**


# Heater

## Heater Faults: Temperature Spikes

### Problem

The temperature has an impulse-like increase  - OR - erratic temperature changes.&#x20;

### Solution

There is a faulty wire connection.&#x20;

Replace PT1000 sensor.&#x20;

If replacement does not work, replace PT1000's wire extension. The wire extension is a long wire housed in the [cable chain](/repair-and-maintenance/install-uninstall/cable-chain) that extends from the extruder to the Duet board.

## Heater Faults: Temperature Not Rising Fast Enough

### Problem

Heater starts rising in temperature. Then the Duet Web Control (DWC) throws a fault, stopping the heating process and/or the print.

### Solution

#### Your Promega may have been placed in a drafty region.

Drafty locations (e.g. near a ceiling fan) may cause the heaters (both bed and/or extruder) to perform unexpectedly.

We recommend you enclose the Promega.

#### You may need to tune your heater.

Let the heater cool to room temperature.

Make sure you have some space ( estimated: 20 mm) between the bed and nozzle. We'll will be heating up the heater.

Run:

```
M562; Removes the fault.
M303 H# S260; Starts heater AUTO-TUNING Heater #. H# is the faulted heater's number.
```

Example: A fault on heater 2.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LP84SI22y_wGyJvbFFZ%2F-LP88hHFHCUS3jlVgNDf%2Fimage.png?alt=media\&token=169b0448-9ad8-4934-adc0-3ff308808663)

```
M562; Removes the fault
M303 H2 S260; Starts heater AUTO-TUNING on Heater 2.
```

Wait for the process to finish.&#x20;

{% hint style="warning" %}
Stay with the printer. Do Not Leave the printer unattended while the heater is tuning.
{% endhint %}

Run:

```
M500; Saves auto-tuning results. Saved in config-override.g (under sys folder)
```

Open: config.g  (Located in the sys folder, in your SD Card).

Go to the last line of entire file.

Make a new line. Enter (if not seen):

```
M501; This loads the new auto-tuning results at start up.
```

{% hint style="info" %}
If you see this warning, **Ignore:**

No M501 command was executed in config.g

**Why:**&#x20;

You just entered the M501 command into the config.g. The changes to the config.g file will take effect after a restarting your printer.
{% endhint %}

## Heater Faults: Heating Suddenly Stops

### Problem

Everything is working fine. Then a Duet Web Console (DWC) suddenly throws this heater fault:

### Solution

Your highest, allowable heater temperature was passed.

Run:

```
M143 H#; H# is faulted heater's number
```

The default maximum heater temperature is 320 C.

## Heater Faults: Temperature is 2000C!

### Problem

My temperature reads continuously reads 2000 Celsius.

### Solution

The PT1000 is completely disconnected.

Check your PT1000 cables are connected. Use the [Duet Maestro Wiring Diagram](https://duet3d.dozuki.com/Wiki/Duet_2_Maestro_Wiring_Diagram) to figure out which cable is that. If connected, continue.

Replace the PT1000.

## Bed Fault: Not Heating Up

### Problem

Your bed is not heating up uniformly or not heating up at all.&#x20;

### Solution

**Turn OFF the printer FIRST**

Check if your bed power switch is on.&#x20;

![Location of the Bed Power Switch](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPChoviKi4gmvBKGC9L%2F-LPCjKHVv-CCQu_ApT8F%2FIMG_1027%5B1%5D.jpg?alt=media\&token=9511cf01-e30e-40ee-b8e1-18b5323102b1)

Check the screw terminals that connect the bed to the Duet. Check these terminals on both the Duet side and the heated bed side. It is possible that they loosened up and are not making proper connection.&#x20;

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHK91X7PG00OPANWC1I%2F-LHKC_kUzZWLbDG0pcCZ%2Fheatedbedterminals.jpg?alt=media\&token=288872c8-0f5f-4081-9b2b-496477d6d8ae)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LHK91X7PG00OPANWC1I%2F-LHKCWwLIbpkYb8QKNOA%2FDuetheatedbedterminals.jpg?alt=media\&token=753ba18a-dc2e-46b5-a458-41449f723ab0)

Feel the wires going into the terminals and move them around to see if they are loose. If they are open the terminal cover and screw them down tight again with a Phillips head screwdriver.


# Extruder

## Grinding: One Side Keeps Grinding.

### Problem

Only left or right side of my extruder keeps stripping when extruding.

### Solution

#### Wall-E may be tightened, in a skewed position.

Make sure both ports have filament inserted.

Loosen all three M4 screws.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPChoviKi4gmvBKGC9L%2F-LPCldhj-8bt3t_VdDMS%2FIMG_1026.JPG?alt=media\&token=3afa42fc-f07a-476e-9020-d531d696c2bc)

Look for a shift in the Wall-E position, when loosening. The Wall-E should shift into its natural position, if not already all there.

Lightly tighten the all M4 screws.

Extrude again for 400 mm (minimum). Look for a grinding.

If still skipping, continue reading.&#x20;

#### There may be artifacts or clogging in your filament path.

Remove the Wall-E. Follow the [Uninstall Extruder](/repair-and-maintenance/install-uninstall/extruder#how-to-uninstall) guide.

Remove the plastic insert: [K'Tana](/documentation/mechanical-systems/single-ktana#back-components) or [Compound](/documentation/mechanical-systems/compound-mixing#back-components).

Look for artifacts.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPChoviKi4gmvBKGC9L%2F-LPCljSQhVD31ew5B5GT%2FIMG_1025.JPG?alt=media\&token=01fcb073-415e-4ec3-b3e3-748352793e0c)

If it's a clog, follow the [Unclogging Nozzle](/repair-and-maintenance/unclogging-the-nozzle) guide.

## Skipping: No Extrusion. All Skipping.

### Problem

I hit extrude. Nothing comes out.

OR

I hit extrude. Only one side extrudes.

### Solution

#### There may be artifacts in your filament path.

Remove the Wall-E. Follow the [Uninstall Extruder](/repair-and-maintenance/install-uninstall/extruder#how-to-uninstall) guide.

Remove the plastic insert: [K'Tana](/documentation/mechanical-systems/single-ktana#back-components) or [Compound](/documentation/mechanical-systems/compound-mixing#back-components).

Look for artifacts.

![#1 is a clog. #2 is an artifact.](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LPChoviKi4gmvBKGC9L%2F-LPCljSQhVD31ew5B5GT%2FIMG_1025.JPG?alt=media\&token=01fcb073-415e-4ec3-b3e3-748352793e0c)

If it's a clog, follow the [Unclogging Nozzle](/repair-and-maintenance/unclogging-the-nozzle) guide.

## Skipping: Extrudes, but Skips

### Problem

I am extruding and keep hearing skipping sounds.

### Solution

#### Check your extrusion settings.

Run:

```
M92; Displays motor steps.
M906; Displays current motor settings.
M350; Displays microstepping settings. 
```

#### Let's check the results with ones below.

***Compound Mixing*** Expected Settings:

```
E Motor Steps: E195.0:191.5:####:####
Motor Current: E400:400:####:####
Microstepping: E128:128:####:####
```

***Single K'Tana*** Expected Settings:

```
E Motor Steps: E198.82:197.00:####:####
Motor Current: E400:400:####:####
Microstepping: E128:128:####:####
```


# Homing

## Won't Complete: Just Keeps Skipping

### Problem

I starting homing. The printer starts moving and then it just keeps skipping. It never homes.

### Solution

#### **Your limit switch may not work.**

Let's see if your limit switches works.

Run:

```
M18 X Y; This disables the CoreXY (motion) motors
```

Slowly move the extruder head to the center

Run:&#x20;

```
M564 H0; Let's you move the motors without homing.
G91;
```

Manually engage (press down) on the X, Y, and Z Limit Switch. We recommend using tape.

{% hint style="warning" %}
We discourage using your fingers. Do so at your own risk.&#x20;
{% endhint %}

Run:

```
G1 Y100 S1;
G1 X100 S1;
G1 Z100 S1;
```

#### Let's evaluate:

If the ***extruder moves forward or backward,***&#x20;

* The Y Limit Switch is not working.

If the ***extruder moves to either side***,&#x20;

* The X Limit Switch is not working.

If the ***bed moves down***,

* The Z Limit Switch is not working.&#x20;

## Homing Z: Weird Z Endstop Values

### Problem

I am calibrating my z endstop value. After I home Z, the Z endstop value is not what I put.

### Solution

#### Your new z endstop value may not be saved.

Let's check what your current Z Endstop Value is.

Go to ***Settings***. Then click the ***System Editor*** tab. Open the ***machine\_zendstop.g*** file.&#x20;

Scroll down to the last line.

Check your Z Endstop Value. Is this the calibrated value?

{% tabs %}
{% tab title="YES" %}
Change it to a new value.

Click "Save Changes" button.

Home the Z.

Check to see if your Z Endstop Value is correct.

If not, continue reading.
{% endtab %}

{% tab title="NO" %}
Continue reading.&#x20;
{% endtab %}
{% endtabs %}

#### Your machine boundaries may be too low.

Let's check if your machine boundaries are interfering.&#x20;

Go to ***Settings***. Then click the ***System Editor*** tab. Open the ***machine\_axisdimension.g*** file.&#x20;

Look for the line labeled " Maximum"

```
M203 X# Y# Z#; Maximum
```

Is this value smaller than your new Z Endstop Value?

{% tabs %}
{% tab title="YES" %}
This value MUST be at least 0.5 mm above your calibrated Z Endstop Value.

Add 0.5 mm to your new Z Endstop Value. This is your new Maximum Z Value.

Change the Z value to the new Maximum Z Value.

Click "Save Changes"

Home the Z.

Check to see if your Z Endstop Value is correct.

If not, continue reading.
{% endtab %}

{% tab title="NO" %}
Continue reading.&#x20;
{% endtab %}
{% endtabs %}

#### Your mesh compensation may be changing the value.

Home the Z.

Run:

```
G29 S2
```

The Z Endstop Value should now be the calibrated value.

Mesh compensation is changing the value of your Z Endstop Value.&#x20;

Proceed with printer operation.


# Common Troubleshooting


# Help! My Extruders Are Backwards

Whenever you are changing or updating configuration files it is possible that your heaters or extruders will be wrongly configured. This could result in your extruder drivers going the wrong way, or the left extruder spinning when you want the right extruder to spin.

## Flipping Extruder Directions

This will fix extruder drives that are going backwards. For example if you pressed the button *Extrude* on the Duet Web Console it will result in the drive pushing filament back out of the extruder hole as if you were retracting. **Heads-up read the information box below.** If you implement this fix, and in the future update to new configuration files, it will undo these changes.

{% hint style="info" %}
It is possible that your extruder directions are flipped because the extruder drives are flipped, meaning left is wired to right and right is wired to left. Check that your left extruder (drive 0) does actually move the left extruder and that the right extruder (drive 1) actually moves the right extruder.
{% endhint %}

Connect to the Promega's Duet Web Console

To check your extruder directions go to the *Machine Control* tab in the Duet Web Console and select drive 0 or 1 in *Extruder Control.* Then try to feed filament into the extruder and see if your directions are correct. It is also possible to change the extruder drives in the section below. If your filament is being pushed out of the top of the extruder when you press extrude, follow the steps below.\
&#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9pa7xL-HytZuxQUqn%2F-LH9zm50_JM3SnbbL7nj%2FMachinecontrol.png?alt=media&amp;token=77df963d-89f4-4005-9515-022a68495bcd" alt="" data-size="original">&#x20;

Go to the *Settings* tab of the Duet Web Console and then to the *System Editor.*\
&#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9pa7xL-HytZuxQUqn%2F-LH9v1VE1aeiFVf-rBLr%2FSettingsssytemeditor.png?alt=media&amp;token=2d6d50f5-86cd-44a8-bad2-ccb4ca77cdac" alt="" data-size="original">&#x20;

Open the *config.g* file. Find the block with the following commands:\
`; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS ---`

`M667 S1 ; Enable coreXY mode` \
`M569 P0 S0 ; Drive 0 goes forwards, CoreXY_1` \
`M569 P1 S1 ; Drive 1 goes forwards, CoreXY_2` \
`M569 P2 S1 ; Drive 2 goes forwards, Z Motor` \
`M569 P3 S0 ; Drive 3 goes forwards, Left Extruder` \
`M569 P4 S1 ; Drive 4 goes forwards, Right Extruder`

Change the `P3` and `P4` drive directions with the `S` parameter. For example, if my left extruder was going backwards, I would change the command to go from `M569 P3 S0`

&#x20;to`M569 P3 S1.`

Save the file and reboot the system. Repeat step 2 to confirm that the directions are correct.

## Flipping Extruder Drives

This section will fix extruder drives that are flipped. If you actuate what you think is the right drive and it results in the left drive spinning and vice versa. **The inherent problem here lies in wiring, so be aware, the fix you are applying is temporary.** The wiring is intended to have the left extruder wired to extruder drive 0 and the right extruder to extruder drive 1. If you implement this fix, and in the future update to new configuration files, it will undo these changes. To fix this permanently fix the wiring of your Promega in the [Extruder Wiring](/documentation/electronics/extruder-assembly-wiring) guide. The fix below is fine to implement, but will provide a temporary solution.

Connect to the Promega's Duet Web Console

To check your extruder drives go to the *Machine Control* tab in the Duet Web Console and select drive 0 or 1 in *Extruder Control.* If you have extruder drive 0 selected and press extrude it should move the left extruder. For extruder drive 1, the right extruder should move.  It is also possible to change the extruder drives in the section below.  \ <img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9pa7xL-HytZuxQUqn%2F-LH9zm50_JM3SnbbL7nj%2FMachinecontrol.png?alt=media&amp;token=77df963d-89f4-4005-9515-022a68495bcd" alt="" data-size="original">&#x20;

Go to the *Settings* tab of the Duet Web Console and then to the *System Editor.*\
&#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9pa7xL-HytZuxQUqn%2F-LH9v1VE1aeiFVf-rBLr%2FSettingsssytemeditor.png?alt=media&amp;token=2d6d50f5-86cd-44a8-bad2-ccb4ca77cdac" alt="" data-size="original">&#x20;

Open the *machine\_compound\_tools.g* (or *machine\_ktana\_tools.g*) file. And find the `M563`  commands, this configures the tool:\
`M563 P0 D0:1 H2 F2 S"Mixing" ; Define mixing tool`&#x20;

`M563 P1 D0 H2 F2 S"Mixing as Single Left" ; mixing nozzle only using left extruder motor`\
`M563 P2 D1 H2 F2 S"Mixing as Single Right" ; mixing nozzle only using right extruder motor`

For the tools with only one drive (the `D` parameter) you will have to change the drive. If it was using `D1` change it to `D0` and vice versa. You are telling the firmware to use drive for 0 or 1 for specific tools.

Save the file and reboot your printer.

Check the direction of the drives now as you might have to now flip the directions of the extruder drives.

## Changing Tool Heaters

Just like in the section above, you can use the `M563` command in order to change which tool uses which heater. This section will fix a heater that is wired to the wrong port of the Promega, or configured wrong. This will present itself in the form of a heater fault, or a thermistor error value of 2000°C.The Promega configuration expects heater 1 to be assigned to the left tools and left extruder, and heater 2 to be assigned to the right tools and right extruder. Remember that heater 0 is the heated bed in the configuration files.&#x20;

Connect to the Promega's Duet Web Console  <br>

Go to the *Settings* tab of the Duet Web Console and then to the *System Editor.*\
&#x20;<img src="https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LH9pa7xL-HytZuxQUqn%2F-LH9v1VE1aeiFVf-rBLr%2FSettingsssytemeditor.png?alt=media&amp;token=2d6d50f5-86cd-44a8-bad2-ccb4ca77cdac" alt="" data-size="original">&#x20;

Open the *machine\_compound\_tools.g* (or *machine\_ktana\_tools.g*) file. And find the `M563`  commands, this configures the tool:\
`M563 P0 D0:1 H2 F2 S"Mixing" ; Define mixing tool`&#x20;

`M563 P1 D0 H2 F2 S"Mixing as Single Left" ; mixing nozzle only using left extruder motor`\
`M563 P2 D1 H2 F2 S"Mixing as Single Right" ; mixing nozzle only using right extruder motor`

Change the heater number (`H` parameter) assigned to the tools above. It should be either `H1` or `H2` .

Save the file and reboot the Duet.

Look for a change in temperature reading on the Duet Web Console. If it is displaying a proper value, you can try to heat up the heater.


# Changelog

## **1.19: Inception - June 26, 2018**

* Updated Printed Parts:
  * 051402\_C1 Z Top Belt Clamp
  * 051404\_B3 Z Bottom Belt Clamp
  * 051168\_B2 Y Limit Switch Holder
  * 051166\_C1 X Limit Switch Holder
  * 051112\_B1 Spool Holder

## **1.20: June 26, 2018**

* New Z Belt Tightening method:
  * Clamping with a washer
* Updated Printed Parts:
  * Z Belt Bottoms: REMOVED
  * 051224\_A2 Bed Terminal Cover
  * 051172\_B2 Bed \_ Power Switch Holder
  * 051108\_C1 Rear Cable Harness\_Base
  * 051134\_A2 Rear Cable Harness Support

## **1.21: July 13, 2018**

* Updated Printed Parts:
* Updated SD card contents.
* Updated wire connections (board side)
* Updated Printed Parts:
  * 051224\_A3 Bed Terminal Cover
  * 051108\_D1 Rear Cable Harness\_Base
  * 058302\_B1 Front Cable Harness Base
  * 058304\_A1 Front Cable Harness Cover

## **1.23: July 17, 2018**

* Updated Printed Parts:
  * 051162\_B2 Z Limit Switch Holder
  * 051404\_A1 Magnet Holder Left
  * 051405\_A1 Magnet Holder Right

## **1.24: July 23, 2018**

* Update Printed Parts:
  * 051176\_A2 Bed Limit Slider
  * 051174\_A2 Bed Limit Housing
* Bed Switch Endstop Improvements:
  * Reinforced soldering
  * Longer wire

## **1.25 : July 30, 2018**

* New public 3D printed part file names.
  * Naming conversion details under:
    * \Public\Printed Part Bin\Conversion Details\Naming Conversion - Details (as of 7/27/201811\_37a.m.).pdf
  * A copy of the entire bin before conversion is under:
    * \Public\Printed Part Bin\Conversion Details\Bin (Prior To Naming Conversion)
* Updated Printed Parts:
  * 058302\_B3 Front Cable Harness Base
  * 058302\_B3 Front Cable Harness Base\_Text
  * 058304\_A3 Front Cable Harness Cover
* Duet3D Hardware Update:


# Your Printer's 3D Parts

For all printed part iterations, click [here](https://drive.google.com/drive/u/0/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w).


# Latest Parts

For all printed part iterations, click [here](https://drive.google.com/drive/u/0/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w).

##


# Frame

For all printed part iterations, click [here](https://drive.google.com/drive/u/0/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w).

## Exception:

* Z Bottom Belt Clamp: Housed inside "Bed".

## Bed & Power Switch Holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AawMK1qBZiVJ8hy_%2FIMG_1364.JPG?alt=media\&token=832c1dc8-bb79-4fd7-924b-0e46c11c7f6d)

### Current

{% file src="/files/-LIwTHGb09vERzMRS3WB" %}

### Legacy

{% file src="/files/-LIwTK2soS5tAbJ7Afb3" %}

## Magnet Holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AgjO-gLlqTZVzL04%2FIMG_1361.JPG?alt=media\&token=a741133a-77a8-473b-966e-cd032e3baa00)

### Current

{% file src="/files/-LIwiW5OEfVCociTs0Bh" %}

{% file src="/files/-LIwiYxXm-Hi68rModPd" %}

### Legacy

* ***NONE***

## Spool Holder:

### Current

{% file src="/files/-LIwieA9MAfZ9XFTd2Pe" %}

### Legacy

* ***NONE***

## X Limit Switch Holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AkQNQykvGmcVt6_S%2FIMG_1360.JPG?alt=media\&token=1ce4a4e5-50a0-4f9a-9551-297e5feb861f)

### Current

{% file src="/files/-LIwik3qSzv9Z3XYOko9" %}

### Legacy

{% file src="/files/-LIwinBPtA2SSuoFEejP" %}

## Y Limit Switch Holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5Av40vA01vole74KV%2FIMG_1365.JPG?alt=media\&token=a348ec9a-7c9e-4ece-97ac-6a0e23c6c5b1)

### Current

{% file src="/files/-LIwirTjP0xlzNwweHxC" %}

### Legacy

{% file src="/files/-LIwiu\_gHY85KplVlJRv" %}

## Y Limit Housing XL:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LaM9h071FdFjfRfxLHM%2F-LaM9lOg3OHMPJjN1jYu%2Fy-limit-housing-xl-v2_2.jpg?generation=1553019379436635\&alt=media)

### Current

{% file src="/files/-LaM9lOpYwZfRFS3G1gI" %}

### Legacy

{% file src="/files/-LaM9lOrLQ6vf0Gj4NDa" %}

## Z Limit Switch Holder:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AyDiUQSKAMGYmAFp%2FIMG_1358.JPG?alt=media\&token=581abd9a-60f9-4485-8bd6-5f6a50e77110)

### Current

{% file src="/files/-LIwixfZ7PuRddHn2mq-" %}

### Legacy

{% file src="/files/-LIwj3DqOQIZD\_L4Zz2L" %}

## External Filter Fan

### Current

{% file src="/files/-LM9lA2xTLPi-g698JG7" %}

### Legacy

* ***NONE***


# Extruder System

For all printed part iterations, click [here](https://drive.google.com/drive/u/0/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w).

## Bed Limit Housing:

### Current

{% file src="/files/-LIwOcpDsNTomKv\_-99t" %}

### Legacy

{% file src="/files/-LIwOfNyrUIwrAWslgSW" %}

## Bed Limit Slider:

### Current

{% file src="/files/-LIwPCBD\_FpxYM\_QHdxk" %}

### Legacy

{% file src="/files/-LIwPFgzm28DC1psFNHt" %}

## Extruder Dampener:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ59UL_6y9vpMqiQFvo%2FIMG_1343.JPG?alt=media\&token=dcd8be04-577c-40fc-9766-e8aa2a16c7cc)

### Current

{% file src="/files/-LIwPRzS6JsxeE1nyJP7" %}

### Legacy

* ***NONE***

## Nozzle Fan Guide:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ59XE7wZuotOO_6CNn%2FIMG_1345.JPG?alt=media\&token=714d2492-bdc1-487f-b761-06bee6b48f09)

### Current

{% file src="/files/-LM9jPg5KLY3FQew6yhb" %}

### Legacy

{% file src="/files/-LLHWMdQX8Lz22q-BjlV" %}

{% file src="/files/-LIwPYZIya1hNJQiroQx" %}

## Plastic Insert (Mixing Compound):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AEalmzNxFmUArNVT%2FIMG_1348.JPG?alt=media\&token=9f23c81a-7ff6-434a-9eec-fb6d2ea0c62b)

### Current

{% file src="/files/-LIwQAAoYgS7ji8yBz-2" %}

### Legacy

* ***NONE***

## Plastic Insert (Single K'tana):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AH0Qs1QKEypLo8pY%2FIMG_1351.JPG?alt=media\&token=7c5de985-8b3e-41b0-871a-8b3c94683bd3)

### Current

{% file src="/files/-LIwQctRr1FW8QywWWlm" %}

### Legacy

* ***NONE***

## Cable Harness (Front, Base):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5ALI0BxSWXQHoQq17%2FIMG_1367.JPG?alt=media\&token=bea543ed-43f4-4e3e-97e7-d8cc1eb9aad9)

### Current

{% file src="/files/-LIwR63n1S1jsOEE0mfI" %}

{% file src="/files/-LIwR7l6VtqcLIn3fXZ6" %}

### Legacy

{% file src="/files/-LIwRgyccVw1\_3Qqm98B" %}

{% file src="/files/-LIwRkbre07B45XfJ4QC" %}

{% file src="/files/-LIwRmH\_4KnjcKuq6vkZ" %}

## Cable Harness (Front, Cover):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5AQzNoOkefiTE64AT%2FIMG_1346.JPG?alt=media\&token=14ff2d94-c6de-4413-8179-abf10cb2114e)

### Current

{% file src="/files/-LIwS6PzVgp5uZxEds0Z" %}

### Legacy

{% file src="/files/-LIwS9BqJaV\_pjTcTR-p" %}

{% file src="/files/-LIwSApXMmYOvQnmmG82" %}

## Cable Harness (Rear, Base):

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQ50QK_nHOVSaMq5--I%2F-LQ5ATbtmwWnTHpZ4aWW%2FIMG_1347.JPG?alt=media\&token=15e1e25b-59cb-43d1-96f0-d28a09e6551e)

### Current

{% file src="/files/-LIwSMk3Czz7s-wIeiba" %}

### Legacy

{% file src="/files/-LIwSPO37Y-1GPkzPpbW" %}

## Cable Harness (Rear, Support):

### Current

* ***REMOVED***

### Legacy

{% file src="/files/-LIwSa4pPldMQ7Etf9Ky" %}

{% file src="/files/-LIwScnKRFwO1O\_mawnP" %}

## Cable Harness (Rear, Bearing-Standoff Height Offset):

*Note: This is a tool used to help assemble the Cable Harness (Rear, Base).*

### Current

{% file src="/files/-LIwSn8r8c8ZKdsKPbgP" %}

### Legacy

* ***NONE***


# Bed

For the latest printable revisions, click [here to goto CODA](https://coda.io/d/M3D-Official-Troubleshooting-Self-Help-Guide_dzE73kMbIAL/All-Printable-STL-Files_sugSV#_luTLj)

For older printed part iterations, click [here](https://drive.google.com/drive/u/0/folders/1cmnAcQU7NjgBqAub60Pz7tJyY-e5qH1w).


# Promega 1.24 or earlier

## Summary

Details on the naming convention change, occurring before the release of Promega 1.25.

## Bin Prior To Name Change

{% embed url="<https://drive.google.com/drive/folders/1chxR-ROfIFDwGnpFyaNdO2aebk03Mhzc?usp=sharing>" %}

Note: This bin has been deprecated and should ONLY be used if the user used the prior naming convention for reference.&#x20;

Use the new bin located at:

{% content-ref url="/pages/-LIwEtRghjkbAaRpVZf-" %}
[Latest Parts](/printed-parts-bin/bin)
{% endcontent-ref %}

## Conversion Details&#x20;

{% embed url="<https://drive.google.com/file/d/10pujKYhO14VoV3bjHiiSU-fxk4pZBGch/view?usp=sharing>" %}


# Setup Guide


# Install

Under Construction

## What is the Quad Add-On?

## Tools

* T10 Screwdriver
* T20 Screwdriver
* Small Flat-Head Screwdriver
* Philips-Head Screwdriver
* Medium-size Pliers
* Adjustable Wrench&#x20;
  * Recommended: M6 Hexagonal Driver Bit (for bolts)

{% hint style="info" %}
Details, on when to use them, as shown throughout the install guide.
{% endhint %}

## Additional Hardware

* Super Glue

{% hint style="info" %}
Details, on when to use them, as shown throughout the install guide.
{% endhint %}

## How To Install

#### Turn off Power

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LVKZpVVi1p802s_yNmg%2F-LVKZvBdlLKl7yy3nt2z%2FIMG_0077.JPG?alt=media\&token=5e3fffb7-e0e9-497d-9fd5-0ec80ca519f7)

#### Unplug Power Supply

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LVKZpVVi1p802s_yNmg%2F-LVKZy_b_lc7pKdn_3bJ%2FIMG_0072.JPG?alt=media\&token=3b9f839d-3349-41af-81d1-02040dd3c943)

#### Remove Wall-E

{% embed url="<https://youtu.be/ESNClgTFywQ>" %}

{% hint style="success" %}
Tools:

* Small Flat-head Screwdriver
* T10 Screwdriver
* T20 Screwdriver
  {% endhint %}

#### Remove Cable Chain

{% embed url="<https://youtu.be/Q8EUlI4kuD4>" %}

{% hint style="success" %}
Tools:

* Philips Head Screwdriver
  {% endhint %}

#### **Unfasten Gantry Belt Clamp**

{% embed url="<https://youtu.be/VqGK6qcCMn8>" %}

{% hint style="success" %}
Tools:

* T20 Screwdriver
  {% endhint %}

#### Remove X Axis System

{% embed url="<https://youtu.be/bmPePS8jyVc>" %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
  {% endhint %}

#### Remove Extruder

{% embed url="<https://youtu.be/HNqaTdfDCok>" %}

{% hint style="success" %}
Tools:

* Adjustable Wrench&#x20;
  * Recommended M6 Hexagonal Driver Bit (for bolts)
    {% endhint %}

#### Prep Promega-Quad Adapter

{% embed url="<https://youtu.be/HQ3qw7pvMn0>" %}

{% hint style="success" %}
Tools:

* Pliers
* T10 Screwdriver

Additional Hardware:

* Super Glue
* 2x Small Cylindrical Magnets (Provided)
* 2x M3 Locknuts (Provided)
  {% endhint %}

#### Install Promega-Quad Adapter

{% embed url="<https://youtu.be/rw6SntHdPPg>" %}

{% hint style="info" %}
Take the time to make sure your Promega-Quad Adapter slides smoothly.
{% endhint %}

{% hint style="success" %}
Tools:

* Adjustable Wrench
  * Recommended: M6 Hexagonal Driver Bit (for bolts)
    {% endhint %}

#### Prep Cable Chain

{% embed url="<https://youtu.be/Iu5SqmuvGWc>" %}

{% hint style="success" %}
Tools:

* Small Flathead Screwdriver

Additional Hardware:

* Quad (Long) Motor Cables (Provided)
  {% endhint %}

#### Prep Duet Maestro

{% embed url="<https://youtu.be/rAeKsvmrjq4>" %}

{% hint style="info" %}
Double check your electronics
{% endhint %}

{% hint style="success" %}
Tools:

* Electronics Gloves (recommended)

Additional Hardware:

* Motor Expansion Board (Provided)
  {% endhint %}

#### Install X Axis System

{% embed url="<https://youtu.be/zAK7kCCi-Oc>" %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
  {% endhint %}

{% hint style="info" %}
The holes used to fasten the X Axis System shown below:
{% endhint %}

![Left Gantry Slider (symmetric for the right side) ](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LbZKch0VBQBKjW7518L%2F-LbZQMYFbyhEWDi7CxBJ%2Fscrew%20hole%20left%20gantryslider.png?alt=media\&token=a1ed65ed-a54a-430a-b2bc-8bc7aef299cf)

#### Loosen Motors

{% embed url="<https://youtu.be/1OxzPaosM7E>" %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
* T20 Screwdriver
  {% endhint %}

#### Install Belts

{% embed url="<https://youtu.be/FVCRk-dd-tg>" %}

{% hint style="info" %}
Use a small Flat-head screwdriver to help with routing the belts through the idlers.
{% endhint %}

{% hint style="success" %}
Tools:

* Small Flathead Screwdriver
  {% endhint %}

#### Tighten Belts

{% embed url="<https://youtu.be/2EsqSvQU-Bg>" %}

{% hint style="info" %}
Double check your X Axis System is straight.
{% endhint %}

{% hint style="success" %}
Tools:

* ***NONE***
  {% endhint %}

#### Tighten Motors

{% embed url="<https://youtu.be/ndXeUfurlK8>" %}

{% hint style="info" %}
Double check your X Axis System is straight.
{% endhint %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
* T20 Screwdriver
  {% endhint %}

#### Install Quad

{% embed url="<https://youtu.be/gxBcfXwyrY0>" %}

{% hint style="info" %}
Use the small Flat-head screwdriver to move the M3 nuts to the correct position.
{% endhint %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
* Small Flat-head Screwdriver
  {% endhint %}

#### Install Cable Chain

{% embed url="<https://youtu.be/SGv8X08vIUo>" %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
  {% endhint %}

#### Connect Quad

{% embed url="<https://youtu.be/o_meHtOtH3g>" %}

{% hint style="success" %}
Tools:

* T10 Screwdriver
* Small Flat-head Screwdriver
  {% endhint %}

#### Adjust Bed Limit Switch

{% embed url="<https://youtu.be/fZXRubA6xzU>" %}

{% hint style="success" %}
Tools:

* Small Flat-head Screwdriver
  {% endhint %}

#### Check Wire Slack

{% embed url="<https://youtu.be/NyKIuQjD4FA>" %}

{% hint style="success" %}
Tools:

* Small Flat-head Screwdriver
  {% endhint %}

#### Plug-in Power Supply

## Additional Electrical Changes

### Jumpers need to be re-positioned.

Before:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LYh7FvMZBjzOYDLpkNw%2F-LYhCyb6AP-unKPrpOP_%2FBefore%20Jumper%20Image.jpg?alt=media\&token=4770d0c5-08db-472d-814d-5d8c182dd862)

After:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LYh7FvMZBjzOYDLpkNw%2F-LYhD2O7VncIPYdrrH31%2FAfter%20Jumper%20Image.jpg?alt=media\&token=9d9325b3-ea70-4687-9f60-c017a50bd6dc)

### Fans need to be reconfigured.

Two Methods:

Change Fan Connections **(Recommended)**

{% embed url="<https://youtu.be/x_1gCOkPz-A>" %}

Swap Crimps (Advanced)

{% hint style="danger" %}

### Proceed at own risk. Similar changes are done in-house by trained personnel for assembled Promega-Quads.

Make sure Promega is OFF during reconfiguration.
{% endhint %}

{% embed url="<https://youtu.be/YA3u8R11ZE4>" %}

### Plug In Motor Cables

Location of Motor Cable Connections on Board:

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-Lcl_EmKACEComiRkJFH%2F-LcleOvFMVYdxuQs7aor%2Fmotor%20port%20locations.jpg?alt=media\&token=33927d1e-f6c4-4d9f-adf0-963a08a6fb85)

When plugging in motor cables, match the dots:

![Left-side: Port 1, Right-side: Port 0](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-Lcl_EmKACEComiRkJFH%2F-Lclcs_WAkK0mYQK1q4h%2Fe%20motor%20port0-1%20connections.jpg?alt=media\&token=309b783d-4661-4784-b79c-adc607aa7227)

![Left-side: Port 3, Right-side: Port 2](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-Lcl_EmKACEComiRkJFH%2F-LclbHIEF40KUK25Ydhn%2Fe%20motor%20port2-3%20connections.jpg?alt=media\&token=3a9e212e-784a-4226-a7d2-41cb1b973f1f)

{% hint style="warning" %}
CAREFULLY & FULLY plug in the motor cables into their designated spots.&#x20;

The pictures above are partially plugged in (for sake of seeing the markings).&#x20;
{% endhint %}

## Additional Software Changes

Go to [GitHub](https://github.com/PrintM3D/Promega)

Download the Promega Source File.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LVKZpVVi1p802s_yNmg%2F-LVKbg7MZNFygkGeTGiZ%2Fgithub_download.PNG?alt=media\&token=648cd71f-8272-4714-b670-4d8cccb7d1b3)

Delete ALL content in SD Card.

Go to .../Downloads/promega-devel/Promega-devel/SD Card Structure/Quad.

Copy ALL and paste into SD Card.

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LVKZpVVi1p802s_yNmg%2F-LVKbqr_LKWJxocAeuug%2Fquad_download.PNG?alt=media\&token=98283126-eccb-42e9-a559-d87c4e6c1b16)

Ready For Printing.


# Calibration

## XYZ Calibration

&#x20;The XYZ calibration is identical to the Promega calibration process.

Refer to the [Promega Beginner Guide](https://promega.printm3d.com/beginners-setup-guides) for information.&#x20;

{% hint style="info" %}
Dismiss any reference to the Compound or K'Tana (e.g. "Your Extruder" page)<br>
{% endhint %}

## Extrusion Calibration

Operation of Quad (e.g. loading) is identical to the QuadFusion.&#x20;

Refer to the [QuadFusion Beginner Guide](https://quadfusion.printm3d.com/beginner-guides) for information.&#x20;


# Active Community Support

{% tabs %}
{% tab title="M3D-Community Discord" %}

## [M3D-Community Discord](https://discordapp.com/invite/fzA83gd)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkhbx7cYLvb2-qqg6z%2F-LQkk8PIBdIbD2ke7-c_%2Fdiscord.PNG?alt=media\&token=e26de829-2e11-4af9-b98d-db171ecab9c9)

{% endtab %}

{% tab title="M3D Support Forum" %}

## [M3D Support Forum](https://m3d.app/index.php)

![](https://3381616767-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH1ZPQUJrjMM5Ql5c--%2F-LQkhbx7cYLvb2-qqg6z%2F-LQkiIc93LuD0CDXs7lD%2FM3DApp.PNG?alt=media\&token=878b248a-d08c-425a-99cc-f88e06bebf60)

{% endtab %}
{% endtabs %}




---

[Next Page](/llms-full.txt/1)

