How complicated is it to setup a printer with Duet?



  • I have a Ender 5+ with SKR 1.4T and Marlin, I wouldn't say I'm very proficient with Marlin, but I understand the concept.

    After several broken SKRs I'm looking at ordering a Duet 3 and PanelDuo combo, the hardware looks really nice and thought through and in contrast to BTT, high quality.

    I've been reading and trying to understand the setup procedure, I understand that here we use a core firmware in which most can be configured through gcode - but what I haven't really grasped is how much of the gcode I need to write from scratch to setup my printer?

    If I go through the online setup guide I guess I'll get a good starting point, but how much more will I have to fiddle manually? In the long run this will be great, but in the beginning it seams a bit daunting, but maybe I'm overestimating the setup job?

    It would be great to hear roughly what's expected when doing the initial setup and if there is something I should be aware of?



  • If you are worried about setup the Duet 2 has been around much longer and has much more information.

    This will guide you through the setup.
    https://duet3d.dozuki.com/c/Getting_Started

    The RepRapFirmware Configurator should get most your settings if you know all the values.



  • @Reine said in How complicated is it to setup a printer with Duet?:

    It would be great to hear roughly what's expected when doing the initial setup and if there is something I should be aware of?

    there is a learning curve to the gcode that replaces the editing of source code in Marlin, but if you're familiar with the terminology then using the online config tool to create as starting point for configuring the machine should get you 90%+ there.

    https://configtool.reprapfirmware.org/

    I'd be more concerned with why the SKRs are breaking, while the Duet boards are a lot more rugged in general they're not indestructible.



  • @Reine you could always play with the LPC port of RRF to get you feet wet.
    Will give you an idea what to expect when you get a duet.



  • Hi,

    Many folks use the RRF Configurator.

    The only "problem" I have seen with that approach is the new user may not learn much about the various commands needed to create a quality, working set of configuration files.

    Often it seems they run the Configuration tool, copy the files to the Duet and fire it up.

    If it doesn't work they then don't know what to do to fix it.

    I learned by starting with one of the example set of configuration files and edited them by hand. To do so required studying the documentation to see what needed to be done.

    Frederick



  • Super easy, barely an inconvenience.



  • I’m no expert but I don’t think the panel due works with the duet 3. The Duet 3 is great and you can offload the DWC (user interface) to an Rpi and just use a small touch screen to control it.

    I’m just finishing up converting my Ender 5 pro over to a duet 2 wifi as I didn’t want all the extra (cost) of the bigger drivers and pi interface.

    The reprap GCode everywhere is much easier for me to wrap my head around than the marlin firmware. I also like the programatic stepper driver current parameters.



  • @baird1fa said in How complicated is it to setup a printer with Duet?:

    I’m no expert but I don’t think the panel due works with the duet 3

    it does; just need to enable in config after 3.1.1, but that goes for all boards.

    there is however a limitation that the duet 6hc doesn't support the sd card socket on the paneldue, but dc42 hinted at this becoming supported in a future version but without the dedicated 10 pin connector the wiring will likely be "interesting".

    the duet 3 mini (or 5lc) has full support for the paneldue.

    (edit: there may still be some file system related limitations if using with a single board computer like raspberry pi etc, like accessing macros or job files)


  • Moderator

    Here's an example guide on doing the conversion for an Ender 3.

    https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+1:+Wiring/37?lang=en

    It's based around RRF2 and the Duet Maestro, but it should give you an idea of what's involved.

    There's an updated guide right around the corner for RRF3 and the Duet 3 Mini 5+, which will be more applicable for modern firmware.

    I think the more you browse through the documentation before getting started the easier it is.



  • You have a config.g file which basically tells the printer what to do when you turn it on.

    After that you have a set of files you use to tell the printer to do specific things after that, for example the homing, be it homing a single axis or the homing of all axes together.

    Those consist of home.x, home.y, home.z & home all

    The duet runs on the g.code system so you would do well to learn about how and what each g.code command (and each codes switch parameters) does.

    Go here: https://duet3d.dozuki.com/Wiki/Gcode

    The config.g is also structured/sectioned in such a way as to be relatively simple to understand. It is structured in the following manner

    1. General preferences: This provides the board basic info on what and how it should do for the start stuff, such as:
    G90                  ; Operate the motion system with absolute positioning moves
    M83                 ; Operate the Extruder with relative positioning moves
    M669 K1         ; Set the machine to operate in CoreXY mode
    
    1. Drives: This provides the board with all the info that relates to what you want the motors to do, for example:
    M671 X-31:332:150 Y-10:-10:340 S5; The Z axes pivot point locations to allow true levelling to be undertaken
    M584 E121.0 S1 ; Drive mapping for the toolboard LC1 
    M584 X0.0 Y0.1 Z0.3:0.4:0.5 ; Drive mapping for the mainboard 6HC
    M569 P121.0 S1; Driver 121.0 is connected to the extruder motor output (Driver 0) on the toolboard LC1 & goes forwards
    M569 P0.1 S1; Driver 0.1 is connected to the Z1 axis motor (Front Left) on the mainboard 6HC & goes forwards
    M569 P0.2 S1; Driver 0.2 is connected to the Z2 axis motor (Front Right) on the mainboard 6HC & goes forwards
    M569 P0.3 S1; Driver 0.3 is connected to the Z3 axis motor (Centre Rear) on the mainboard 6HC & goes forwards
    M569 P0.4 S1; Driver 0.4 is connected to the X axis motor on the mainboard 6HC & goes forwards
    M569 P0.5 S1; Driver 0.5 is connected to the Y axis motor on the mainboard 6HC & goes forwards
    M350 X16 Y16 Z16 E16 I1; The stepper motors micro stepping & interpolation amount
    M92 X160.00 Y160.00 Z1600.00 E480.00; Steps per mm of each stepper motor
    M566 X900.00 Y900.00 Z160.00 E160.00; The maximum instantaneous speed changes expressed in (mm/min) that the stepper motors are allowed to achieve
    M203 X6000.00 Y6000.00 Z180.00 E1200.00; The maximum speeds expressed in (mm/min) that the stepper motors are allowed to achieve
    M201 X1000.00 Y1000.00 Z120.00 E120.00; The maximum accelerations expressed in (mm/s^2 that the stepper motors are allowed to achieve
    M906 X800 Y800 Z800 E1000 I30; The maximum motor currents expressed in(mA) & idle factor  expressed as a % that the stepper motors are allowed to achieve
    M84 S30; The idle timeout
    
    1. Axis Limits: This provides the board with the required information to basically know where 0.0.0 is and the maximum distance (in mm) of travel of the print head, as seen below:
    M208 X0 Y0 Z0 S1; each axes minimum travel boundaries M208 X320 Y320 Z320 S0; each axes maximum travel boundaries
    
    1. Endstops: This provides the board the required info as to basically tell where a designated point is (be that at a minimum or a maximum location)
    M574 X1 S1 P"121.io1.in"; The X endstop is located at the X axes minimum location & is mapped/connected to the io1.in port on the toolboard LC1 
    M574 Y1 S1 P"io3.in"; The Y endstop is located at the Y axes minimum location & is mapped/connected to the io3.in port on the mainboard 6HC
    M574 Z1 S2; The Z probe acts as the Z axis endstop & is located at Z axes minimum & mapped/connected to the io0 port on the toolboard LC1
    
    1. Z-Probe: This provides the board with the required info to set up a Z probe for “levelling” and to allow you to control it fully
    M558 P8 C"121.io1.in" H5 F120 T2000; The Z probe is of type 8 & is mapped/connected to the io0 port on the toolboard LC1 
    G31 P500 X-35 Y0 Z1.00; The Z probe's trigger value, offsets & trigger height
    M557 X15:280 Y15:280 P6; The mesh grid's defined points
    
    1. Bed Heater: This tells the board about what and how you want your bed heater to operate and what systems are used to provide the board with the required information to allow you to do that safely:
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Bed"; Sensor 0 is a thermistor & mapped/connected to the temp0 port on the mainboard 6HC
    M950 H0 C"out0" T0; the heated bed output is mapped/connected to the out0 port & mapped/connected to sensor 0 on the mainboard 6HC
    M307 H0 B0 S1.00; the bed heater is set to PWM & limited
    M140 H0; the heated bed is mapped/connected to heater 0 port on the mainboard 6HC
    M143 H0 S120; the heated bed it temperature limited to 120C on heater 0 on the mainboard 6HC
    
    1. Hot End Heater: This tells the board about what and how you want the nozzle/hotend heater to operate and the required info to allow you to do that safely:
    M308 S1 P"121.temp0" Y"thermistor" B4725 C7.06e-8  A "Tool 0" ; Sensor1 is a thermistor & mapped/connected to the temp0 on the toolboard LC1
    M950 H1 C"121.out0" T1; the hot end heater optput is mapped/connected to the out1 port & mapped/connected to sensor 1 on the toolboard LC1
    M307 H1 B0 S1.00; the hot end heater is set to PWM & limited
    M143 H1 S310; the hot end temperature is limited to 310C on heater 1 on the toolboard LC1
    
    1. Fans: This tells the board how to configure all the different types of fans you might wish to use on your printer be that always on fans (for example on the hot end heat-break) and other types that can be thermostatically controlled:
    M950 F0 C"121.out1"; the hot end cooling fan (fan0) is mapped/connected to out1 on the toolboard LC1
    M106 P0 S0 H-1; the hot end cooling fan (fan0) is set to value 0 & thermostatic control is turned off
    M950 F1 C"121.out2" Q5000; the part cooling fan (fan1) is mapped/connected to out4 on the toolboard LC1
    M106 P1 S1 H1 T45; the part cooling fan (fan1) is set to value 1 & thermostatic control turned on
    
    1. Tools: This tells the board about the info you require to allow you to safely configure the “tool” (or hot-end)in the way you want:
    M563 P0 D0 H1 F0; Tool 0's definition
    G10 P0 X0 Y0 Z0; Tool 0's axes offsets
    G10 P0 R0 S0; Tool 0 is set to active & its standby temperature is set to 0C
    
    1. Misc Settings: This is self-explanatory it tell the board about misc. settings that don’t really fall in to any specific category
    T0 ; define which tool is selected at start up
    M501; run any config-overide settings
    

    Now if you look at that all in one go your eyes are going to glaze over and you are going to quickly become very overwhelmed and until you get used to it you are going to look at it and think W.T.F.

    But as the old saying goes: how do you eat an elephant? One bite at a time.

    Break down each section of the config.g and work out from the g code web page what each g code (and each parameter) does, work on getting one section worked out and working one at a time and you will be successful. With logical thought and a little self-application you will be able to do it no problem



  • @Reine said in How complicated is it to setup a printer with Duet?:

    After several broken SKRs I'm looking at ordering a Duet 3 and PanelDuo combo

    If the SKRs got broke by issues with your printer (shorts and such), you may want to fix it before installing the Duet.

    As for upgrading to Duet, definitely worth it if you have patient. You will be able to find here all the information and help you may need


Log in to reply