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.
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:
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:
Browser Compatibility ¶
Note that Chrome and Firefox browsers fully support DuetWebControl however Edge, IE have problems. (https://www.duet3d.com/forum/thread.php?...).
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):
Printer status (common to all pages):
Main menu (common to all pages):
Axes and extruder control:
Macros and miscellaneous:
Selecting Tools, Setting Temperatures ¶
Tools can be in three states::
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.
After T0 is selected it becomes active and the temperature rises from the standby temperature to the active temperature
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:
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:
Axes can be moved using the buttons in large or small steps and the axes co-ordinates are shown in the machine status box:
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:
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:
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
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.
The file upload functionality cannot be used during a print to prevent interference with reading the SD card for an ongoing print:
Files can be dragged and dropped in to sub directories for organisation.
Starting A Print ¶
Clicking on a file prompts you if you want to print it.
You can also use the upload and print button in the header bar to quickly start a print.
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):
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:
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 http://reprap.org/wiki/RepRap_Firmware_m...
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 https://www.duet3d.com/forum/thread.php?... to have them stored on the ob-board SD card on the Duet for more permanence and portability.
This shows the versions of the firmware, webserver and DWC installed, along with a button to upload new firmware:
When a new firmware file is uploaded the web interface will prompt you if you want to install it immediately:
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 ¶
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.
For example, adding a cold extrusion override as a menu option:
Gives this result in drop down menus:
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.
There are wiki pages dedicated to the specific settings within config.g, the various homeing and tool change gcodes:
- Configuring RepRapFirmware for a Cartesian printer
- Configuring RepRapFirmware for a Delta printer
- Configuring RepRapFirmware for a CoreXY printer
- Configuring RepRapFirmware for an IDEX printer
- Configuring RepRapFirmware for a SCARA printer
- Configuring RepRapFirmware for a CNC machine
- Configuring RepRapFirmware for a Polar printer
- Configuring RepRapFirmware for a Hangprinter printer
- Tuning the heater temperature control
- Setting up automatic probing of the print bed
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:
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:
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:
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 ¶
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.
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.