; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by David Husolo ; This is not for a standard BLV Cube. This is for my highly customized triple z independent leveling with kinematic mounting, metal kit, Duet 3, Raspberry Pi 4, liquid cooled mosquito, Orbiter v1.5, Duet Tool Board, 24v main PSU, 5v PSU to provide 5v power to PS_ON. This isn't a cookie cutter config. It is meant to help you build or troubleshoot your config. ; ; ================= General preferences =================== M80 ; Turns on the ATX power supply G4 S1 ; Wait for tool board G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; select CoreXY mode ; ====================== Network =========================== ; network settings are done through the RPI ; ======================= Drives =========================== M569 P20.0 S1 ; physical drive 0.0 goes backwards-Extruder M569 P0.1 S0 ; physical drive 0.1 goes backwards-X stepper M569 P0.2 S0 ; physical drive 0.2 goes backwards-Y stepper M569 P0.3 S0 ; physical drive 0.3 goes backwards-Z left stepper M569 P0.4 S0 ; physical drive 0.4 goes backwards-Z right front stepper M569 P0.5 S0 ; physical drive 0.5 goes backwards-Z right rear stepper M584 X0.1 Y0.2 Z0.3:0.4:0.5 E20.0 ; set drive mapping Z3=Left center, Z4= Right front, Z5=Right rear ; ===================== Drive Settings ===================== M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation XY .9 degree ZE 1.8 degree ;M92 X160.00 Y160.00 Z575.00 E675.35 ; set steps per mm XY .9 degree ZE 1.8 degree -Orbiter M92 X160.00 Y160.00 Z400.00 E675.35 ; set steps per mm XY .9 degree ZE 1.8 degree -Orbiter M203 X35000 Y35000 Z1000 E7200.00 ; Set maximum speeds (mm/min) mm per minute/60=mm per second X12000 Y12000 M201 X6000.00 Y6000.00 Z400.00 E2500.00 ; Set accelerations (mm/s^2) M566 X700.00 Y700.00 Z24.00 E2000.00 ; Set maximum instantaneous speed changes (mm/min) M906 X1600 Y1600 Z1600 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S120 ; Set idle timeout ; ================ Independent Z Leveleing ================= ; physical location of pivot points based off PDF uploaded with dimensions M671 X-11.5:345.5:345.5 Y165:37.5:292.5 S10 ;M671 X-20:344:344 Y162.2:48.7:303.7 S10 ; leadscrew pivot point: ; ===================== Axis Limits ======================== ; I have a 325x345 Railcore II 300zl bed. Double check your axis limits M208 X-6 Y0 Z0 S1 ; set axis minima M208 X337 Y325 Z665 S0 ; set axis maxima ; ======================= Endstops ========================= M574 X1 S1 P"20.io2.in" ; configure active-high endstop for high end on X via pin 20.i02.in M574 Y2 S1 P"0.io2.in" ; configure active-high endstop for high end on Y via pin 0.i02.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ;M591 D0 P1 C"20.io3.in" S1 ; configure filament runout sensor for high end on drive 0 via pin 20.i03.in ; ======================== Z-Probe ========================= ; you'll need to change your probe offsets in G31. My offsets are for a custom mount I made for my liquid cooled mosquito M950 S0 C"20.io0.out" ; create servo pin 0 for BLTouch M558 P9 C"^20.io0.in" H10 F300 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-42.45 Y0 Z1.540 ; set Z probe trigger value, offset and trigger height ; ======================== Heaters ========================= ; You must PID tune both heaters M308 S0 P"0.temp0" Y"thermistor" A"Bed" T100000 B4725 C0.0000000706 ; configure sensor 0 as thermistor on pin 0.temp0 M308 S1 P"0.temp1" Y"pt1000" A"Hotend" T100000 B4680 C6.455513e-8 ; configure sensor 1 as pt1000 on pin 20.temp0 ;M308 S1 P"20.temp0" Y"pt1000" A"Hotend" T100000 B3950 C6.455513e-8 ; configure sensor 1 as pt1000 on pin 20.temp0 M950 H0 C"0.out1" T0 ; create bed heater output on 0.out1 and map it to sensor 0 M950 H1 C"0.out0" T1 M307 H0 B0 R0.720 C310.4 D4.95 S1.00 ; Set PID for bed heater POST RRF 3.3 M307 H1 B0 R3.257 C100.7 D5.49 S1.00 V23.8 ; Set PID for Hotend .4Bmm nozzle RRF 3.3 M140 H0 ; map heated bed to heater 0 M143 H0 S110 ; set temperature limit for heater 0 to 100C M143 H1 S315 ; Set temperature limit for heater 1 to 260C ; ========================= Fans =========================== M950 F0 C"20.out1" Q500 ; create fan 1 on pin out5 and set its frequency M106 P0 C"Layer" S0 H-1 ; set layer fan value. thermostatic control is turned off M950 F1 C"20.out2" Q500 ; create fan 1 on pin out5 and set its frequency M106 P1 C"Hotend" S1 H1 T40 ; set hotend fan value. thermostatic control is turned on ; ======================== Tools =========================== M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets ; ===================== Custom settings ==================== M564 H0 ; Let the Jog buttons work blv: added to allow jog buttons ; ====================== Miscellaneous ===================== M575 P1 S1 B57600 ; enable support for PanelDue M575 P2 S1 B57600 ; enable support for BLV NeoPixels M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss ;M574 S1 P"^!0.io7.in" ; Define Emergency endstop - emergency stop switch condition ;M950 J1 C"0.io4.in" ; Create GPIO pin for On button wired NO ;M581 T2 P1 S1 R0 ; T2-Run Trigger 2; P1-J1; S1-When button pressed; R0-trigger any time ; ====================== Duet 3 (ID#0) ==================== ;0.out0 - NC ;0.out1 - Bed heater ;0.out2 - Hot end ;0.out3 - NC ;0.out4 - NC ;0.out5 - NC ;0.out6 - NC ;0.out7 - Water cooling radiator fan ;0.out8 - NC ;0.out9 - NC ;0.out4.tach - NC ;0.out5.tach - NC ;0.out6.tach - NC 0.io0.in - PanelDue 0.io1.in - BLV Arudino board ;0.io2.in - NC ;0.io3.in - Y Endstop ;0.io4.in - GPIO pin for on trigger ;0.io5.in - NC ;0.io6.in - NC ;0.io7.in - emergency stop switch ;0.io8.in - Off button C ;0.io0.out - PanelDue 0.io1.out - NC ;0.io2.out - NC ;0.io3.out - NC ;0.io4.out - NC ;0.io5.out - NC ;0.io6.out - NC ;0.io7.out - NC ;0.io8.out - NC ;pson - Power on 5v relay wired for SBC always on and Duet 3 in standby ;0.spi.cs0 - NC ;0.spi.cs1 - NC - this can be your PT100 board ;0.spi.cs2 - NC ;0.spi.cs3 - NC ;0.temp0 - Bed heater ;0.temp1 - NC ;0.temp2 - NC ;0.temp3 - NC ;0.mcu-temp - Virtual Temp Sensor ; ================ Toolboard 1 (CAN ID#20) ================ ; 20.out0 - NC ; 20.out1 - NC ; 20.out2 - Parts cooler on printhead ; 20.out2_tach0 - NC ; 20.out1_tach0 - NC ; 20.io0.in - BLTouch Signal pin ; 20.io1.in - X min active low endstop switch ; 20.io2.in - Reserved for filament monitor ; 20.io0.out - BLTouch Servo pin ; 20.temp0 - Extruder Thermistor ; 20.temp1 - NC ; 20.button0 - NC ; 20.button1 - NC ; 20.CAH_H - Duet CAN1_H ; 20.CAH_L - Duet CAN1_L