Uploaded April 2018 | Updated September 2026, 2 weeks ago
In this video we show you how to setup your Reprap Firmware config.g file and home files within the Duet Wifi interface.
3ddistributed.com/3d-printers/workhorse-printer
We use the Duetwifi board to drive dual x-axis motion of this particular 3d printer. We've tried many boards and Duet3d is the only one that performs.
We're now using the Duet 3 Mainboard 6HC on the Workhorse Printer. I'm still documenting all the steps but this is what I have so far.
3ddistributed.com/duet-wifi/duet-3-wiring
If you haven't wired a 3d printer before I suggest reading over the Duet3D website to gather more information.
Config file
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central Standard Time)
; Motor remapping for dual X
;M584 X0:3 Y1 Z2 U3 E4 P3 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P1 ; Set firmware compatibility to look like RepRapFirmare
; Motor remapping for dual X
;M584 X0:3 Y1 Z2 U3 E4 P3 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
;Motor remapping with U axis visible
M584 X0:3 Y1 Z2 U3 E4 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
;oldfirmwareM911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
M911 S22 R25.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
M208 X0 Y0 Z0 U0 S1 ; Set axis minima
M208 X600 Y300 Z206.7 U600 S0 ; Set axis maxima
; Endstops
M574 X1 Y2 Z2 U1 S1 ; Set active high endstops
M558 P3 X0 Y0 U0 Z0 F600 T6000 I1 H10 ; Set Z probe type to mode 6, Z axis only, 5mm dive height
; M558 P6 I1 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
G31 P500 X15 Y15 Z0.5 ; Set Z probe trigger value, offset and trigger height
M557 X20:480 Y20:280 S40 ; Define mesh grid
; Drives
M569 P0 S1 ; Drive 0 goes X1 forwards
M569 P1 S0 ; Drive 1 goes Y forwards
M569 P2 S0 ; Drive 2 goes Z forwards
M569 P3 S1 ; Drive 3 goes X2 forwards
M569 P4 S1 ; Drive 4 goes E fowards
; Configure Drives
M350 X16 Y16 Z16 U16 E16 I1 ; Configure microstepping with interpolation
M92 X64 Y64 Z1259.843 U64 E418.5 ; Set steps per mm
M566 X1200 Y1200 Z12 U1200 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X7200 Y7200 Z180 U7200 E1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z250 U500 E250 ; Set accelerations (mm/s^2)
M906 X2300 Y2300 Z1400 E1200 U2300 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Heaters
M140 H-1 ; Disable heated bed
M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 U0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
; Network
M550 PPilot One ; Set machine name
M552 S1 ; Enable network S1 router s2 hotspot
; Access point is configured manually via M587 by the user
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
; SetNetwork macro to set up access to dummy test Wifi network
;M552 S0;
;G4 S5;
;M589 S"PILOTONE" P"PILOTTWO" I192.168.1.117;
;G4 S5;
;M552 S2;
; Fans?
M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
; Custom settings are not configured
; Miscellaneous
M501 ; Load saved parameters from non-volatile memory
T0 ; Select first tool
Homex
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central Standard Time)
; Lift Z relative to current position
G91
G1 S2 Z5 F2000
G90
; Move quickly to X axis endstop and stop there (first pass)
M584 X0 U3 ; Split X into 2 (X+U)
G1 S1 X-605 U-605 F1500
; Go back a few mm
G91
G1 S2 X5 U5
G90
; Move slowly to X axis endstop once more (second pass)
G1 S1 X-605 U-605 F360
M584 X0:3 ; Join U to X again
; Lower Z again
G91
G1 S2 Z-5 F2000
G90
;;;;
The Duet 2 Wifi is an advanced 32 bit electronics for the control of 3D printers and other CNC machines. It has the same features as the Duet 2 Ethernet other than providing a WiFi connectivity rather than ethernet, full feature description is available in our documentation.
In this video we show you how to setup your Reprap Firmware config.g file and home files within the Duet Wifi interface.
3ddistributed.com/3d-printers/workhorse-printer
We use the Duetwifi board to drive dual x-axis motion of this particular 3d printer. We've tried many boards and Duet3d is the only one that performs.
We're now using the Duet 3 Mainboard 6HC on the Workhorse Printer. I'm still documenting all the steps but this is what I have so far.
3ddistributed.com/duet-wifi/duet-3-wiring
If you haven't wired a 3d printer before I suggest reading over the Duet3D website to gather more information.
Config file
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central Standard Time)
; Motor remapping for dual X
;M584 X0:3 Y1 Z2 U3 E4 P3 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P1 ; Set firmware compatibility to look like RepRapFirmare
; Motor remapping for dual X
;M584 X0:3 Y1 Z2 U3 E4 P3 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
;Motor remapping with U axis visible
M584 X0:3 Y1 Z2 U3 E4 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
;oldfirmwareM911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
M911 S22 R25.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
M208 X0 Y0 Z0 U0 S1 ; Set axis minima
M208 X600 Y300 Z206.7 U600 S0 ; Set axis maxima
; Endstops
M574 X1 Y2 Z2 U1 S1 ; Set active high endstops
M558 P3 X0 Y0 U0 Z0 F600 T6000 I1 H10 ; Set Z probe type to mode 6, Z axis only, 5mm dive height
; M558 P6 I1 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
G31 P500 X15 Y15 Z0.5 ; Set Z probe trigger value, offset and trigger height
M557 X20:480 Y20:280 S40 ; Define mesh grid
; Drives
M569 P0 S1 ; Drive 0 goes X1 forwards
M569 P1 S0 ; Drive 1 goes Y forwards
M569 P2 S0 ; Drive 2 goes Z forwards
M569 P3 S1 ; Drive 3 goes X2 forwards
M569 P4 S1 ; Drive 4 goes E fowards
; Configure Drives
M350 X16 Y16 Z16 U16 E16 I1 ; Configure microstepping with interpolation
M92 X64 Y64 Z1259.843 U64 E418.5 ; Set steps per mm
M566 X1200 Y1200 Z12 U1200 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X7200 Y7200 Z180 U7200 E1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z250 U500 E250 ; Set accelerations (mm/s^2)
M906 X2300 Y2300 Z1400 E1200 U2300 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Heaters
M140 H-1 ; Disable heated bed
M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 U0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
; Network
M550 PPilot One ; Set machine name
M552 S1 ; Enable network S1 router s2 hotspot
; Access point is configured manually via M587 by the user
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
; SetNetwork macro to set up access to dummy test Wifi network
;M552 S0;
;G4 S5;
;M589 S"PILOTONE" P"PILOTTWO" I192.168.1.117;
;G4 S5;
;M552 S2;
; Fans?
M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
; Custom settings are not configured
; Miscellaneous
M501 ; Load saved parameters from non-volatile memory
T0 ; Select first tool
Homex
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central Standard Time)
; Lift Z relative to current position
G91
G1 S2 Z5 F2000
G90
; Move quickly to X axis endstop and stop there (first pass)
M584 X0 U3 ; Split X into 2 (X+U)
G1 S1 X-605 U-605 F1500
; Go back a few mm
G91
G1 S2 X5 U5
G90
; Move slowly to X axis endstop once more (second pass)
G1 S1 X-605 U-605 F360
M584 X0:3 ; Join U to X again
; Lower Z again
G91
G1 S2 Z-5 F2000
G90
;;;;
The Duet 2 Wifi is an advanced 32 bit electronics for the control of 3D printers and other CNC machines. It has the same features as the Duet 2 Ethernet other than providing a WiFi connectivity rather than ethernet, full feature description is available in our documentation.










![XYZ Axis Lead Screw - WorkHorse 3D Printer Build
We just finished CNC machining the Y-Axis components for the workhorse 3d printer. Its fascinating to watch the x and y gantry move with the Igus high helix lead screw with 50mm lead.
https://3ddistributed.com/corexy-3d-printer/
We have to drive the lead screw with nema 23s powered by the Duet Wifi electronics board by Duet3d.
A leadscrew (or lead screw), also known as a power screw[1] or translation screw,[2] is a screw used as a linkage in a machine, to translate turning motion into linear motion. Because of the large area of sliding contact between their male and female members, screw threads have larger frictional energy losses compared to other linkages. They are not typically used to carry high power, but more for intermittent use in low power actuator and positioner mechanisms. Common applications are linear actuators, machine slides (such as in machine tools), vises, presses, and jacks.[3]
Leadscrews are manufactured in the same way as other thread forms (they may be rolled, cut, or ground).
A lead screw is sometimes used with a split nut also called half nut which allows the nut to be disengaged from the threads and moved axially, independently of the screws rotation, when needed (such as in single-point threading on a manual lathe). XYZ Axis Lead Screw - WorkHorse 3D Printer Build](https://i.ytimg.com/vi/Wc8GtOipFH0/mqdefault.jpg)