Site Navigation

Your Account

Choose Language

Duet Web Control is a full featured UI for the Duet family of electronics. It is adaptive and what is displayed changes depending on the configuration of the printer connected. The screenshots in the example below is for a printer with 2 extruders, each mounted on their own X axis however the descriptions are valid for any printer setup.

Overview ¶ 

When opened in a browser Duet Web Control starts in the machine control screeen, when viewed on a large screen will look similar to this:

Block Image

Note it will adapt to smaller screen sizes as required however all the features can still be accessed through drop down menus, as shown here on an Android Phone:

Block Image

Browser Compatibility ¶ 

Note that Chrome and Firefox browsers fully support DuetWebControl however Edge, IE have problems. (

DWC file editor works in Safari 10.0.1 and later. (Won't work in any earlier versions), from the thread linked above

Machine Control ¶ 

The machine control page is composed of the following elements:

Header bar (common to all pages):

Block Image

Printer status (common to all pages):

Block Image

Main menu (common to all pages):

Block Image

Axes and extruder control:

Block Image

Macros and miscellaneous:

Block Image

Selecting Tools, Setting Temperatures ¶ 

Tools can be in three states::

  • active
  • standby
  • off

Only one tool can be active at any one time (but a tool can be made up of multiple hotends, Configuring multiple independent X-carriages on a Cartesian printer, making a tool active sets the remainder to standby (unless they are off, in which case they stay off).

The active tool is set to the defined active tool temperature, standby tools are set to the standby tool temperature, tools that are "off" have their heaters turned off.

In this image the tool choices for heater 1 are shown as T0 and T2 (due to the specific dual independent X axis printer setup, just having 1 tool per heater is normal). Both heaters are in standby mode, at 170C and the bed is active at 75C.

Block Image

After T0 is selected it becomes active and the temperature rises from the standby temperature to the active temperature

Block Image

Homing and Moving Axes ¶ 

Before some axes can be moved they must be homed, the rules depend on the printer configuration but it is best practice to ensure all axes are homed before moving them. If an axis requires other axis to be homed before it is homed you get an error, as shown below:

Block Image

This error also shows that the Web interface is using the Gcode "G28 Z" to home the Z axis - the same as if the gcodes were entered manually in the console or over USB.

See the section below about configuring system macros for links to more details on how this works.

Once the axes are homed they turn from orange to blue:

Block Image

Axes can be moved using the buttons in large or small steps and the axes co-ordinates are shown in the machine status box:

Block Image

Note that by default an axis will not be allowed to move outside of the printer dimensions set in the printer configuration file.

Macros and Miscellaneous ¶ 

To run a macro simply click on the macro name, or select it from a sub directory drop down:

Block Image

Defining macros is shown in a later step in these instructions.

The Miscellaneous box is not shown by default, when options are selected within the "settings" page to display the ATX power control and Fan slider they appear here.

Print Status ¶ 

The print status page does not display any useful information until a print is started. Once a print is started though it shows the layer times, forcast for print time remaining based on the layer numbers and/or filament usage. It alos allows for Fan, extrusion ration and print spees to be adjusted in real time:

Block Image

The some of the reported information is reliant on the slicer placing the correct information at the end of the gcode file. Simplify3d, Slic3r and some versions of Cura do this.

Gcode Console ¶ 

The Gcode console provides a log of gcodes entered, responses and errors/warnings/notifications received from the Duet by the webinterface since the browser was last refreshed.

In the example below the error of trying to home the Z axis before the other axes are homed is shown, along with a couple of example information gcodes entered in the console. Gcodes can also be entered in the quick gcode entry box as shown with M302 in this example, with the output shown in the console. If the console page is not selected any output from the quick gcode entry box is also shown as a popup message

Block Image

Gcode Files ¶ 

The Gcode Files page allows for g-code files for printing to be uploaded, downloaded, deleted and sorted into sub directories. A summary of the print time and other information is provided, if the slicing software puts this information in the gcode file in a format readable by the Duet. As shown in the image, there is a drop down menu to select the external SD card if one is attached to the DuetWifi.

Block Image

The file upload functionality cannot be used during a print to prevent interference with reading the SD card for an ongoing print:

Block Image

Files can be dragged and dropped in to sub directories for organisation.

Block Image

Starting A Print ¶ 

Clicking on a file prompts you if you want to print it.

Block Image

You can also use the upload and print button in the header bar to quickly start a print.

Macros ¶ 

Macros are a powerful addition to RepRapFirmware and Duet Web Control as they allow automation of any process that can be described in Gcodes. There are two general types of macros: system Macros which will be described later, and user macros which are described here.

The Macro screen shows a list of all the user macros that are currently on the on-board SD card in the Duet (in the /macros/ directory):

Block Image

Macros can be organised into sub directories and dragged and dropped between them. As well as editing macros in a text editor and then uploading them, they can also be created and edited within Duet Web Control in the browser:

Block Image

In this example I created a new macro called "PreparePrinter", this macro homes the printer, sets the hotend temperatures, waits for them to be reached and then calls another macro (using M98) to purge both hotends.

For examples of commonly useful macros have a look at the

Settings ¶ 

The settings page has a number of sub pages which give information and allow for the configuration of both Duet Web Control, and the Duet to be updated. Currently these settings are stored by Duet Web Control as a local cookie however it is on the to have them stored on the ob-board SD card on the Duet for more permanence and portability.

Overview ¶ 

Block Image

General ¶ 

Block Image

This shows the versions of the firmware, webserver and DWC installed, along with a button to upload new firmware:

Block Image

When a new firmware file is uploaded the web interface will prompt you if you want to install it immediately:

Block Image

You do not need to install the firmware immediately as it can be initialted from the console/over USB/from a PanelDue at a later point.

Also on this page are setting for DWC in the browser communicating with the RepRapFirmware running on the Duet. The default communication settings should work well however if you are having intermittent network issues resulting in AJAX errors then increasing the maximum number of AJAX retries will help.

User Interface ¶ 

Block Image

Many elements of how the user interface responds can be set on this sub page, along with adding an information to display the output from an IP camera.

List Items ¶ 

The list items sub page allows for certain drop down options to be changed or added to with the DWC User Interface. The default gcodes that are an option in the Quick Gcode entry box and the console can be modified, along with the default temperature selections for hotend/bed/chamber.

Block Image

For example, adding a cold extrusion override as a menu option:

Block Image

Gives this result in drop down menus:

Block Image

System Editor ¶ 

All the configuration of RepRapFirmware is carried out by gcode commands stored in specifically names gcode files within the /sys/ directory on the ob-board SD card. These are also known as system macros.

Block Image

There are wiki pages dedicated to the specific settings within config.g, the various homeing and tool change gcodes:

These changes can be made by downloading the files and editing them in a text editor before uploading them (this has the advantage of maintaining a local copy). Alternatively all the changes can be made by editing the files within the web interface:

Block Image

In this case The config.g file is being edited to change the printer name from "DWCExample" to "BigBoxIDEX". After the config file is saved the web interface prompts to reboot:

Block Image

Setting changes to config.g do not come into effect until the duet is rebooted, in this case after reboot then printer name is changed:

Block Image

Changes to other system macros such as the homeing, tool change, pause etc macros come into effect without rebooting as they are read every time the printer is homed, tools are changed, a print is paused etc.

Machine Properties ¶ 

Block Image

This table provides a summary of the configuration of the various drives within the DuetWifi and expansion header/board, along with endstop trigger status, z probes information and other miscellaneous information. The Firmware diagnosis button runs the M122 Gcode which outputs a detailed diagnostic dump to the console.

Tools ¶ 

Block Image

This sub page shows the configured tools and allows for tools to be added or removed. Currently these additions and removals don't persist through hardware resets so it is recommended to add tools using the config.g file as described in Configuring RepRapFirmware for a Cartesian printer.

back to top


Hello Duet3D folks. I am very happy with my Duet (ethernet) and I would recommend it to anybody. I have a few very small issues with the user interface. Is there a way to change the size/layout of the elements on the DWC? I would like the temperature chart to be scaled at least double on the Y (temp) axis, so I can watch the fluctuations with a bit better resolution. Is this a possibility? I have programming experience. I am willing to volunteer to figure out this problem if nobody else has, but I will need to have a “hint” in order to know where to start looking. Are the DWC fields defined somewhere in one of the directories in the firmware on the SD card? Is there a working group of enthusiasts focusing on the DWC? I would enjoy being able to help out.

Again, I love your product, and I am planning on upgrading my large (4’x8’) CNC router to use one instead my current Ethernet Smoothstepper.

Benjamin Willhoite - Reply

Hello Folks,

everything nice and good. I Installed web interface 1.21 for my duet wifi . Everything works so far.

EXCEPT: I can not edit macros within the web browser. Also the tab “system editor” is missing.

when using notepad++ for editing and uploading as a .txt file, json file is not updated.

All together that is really a pain in the….

Hope someone can be of any help here. Thanks in advance,


Joe - Reply

View Statistics:

Past 24 Hours: 26

Past 7 Days: 289

Past 30 Days: 1,191

All Time: 5,187