; Default config.g template for DuetPi ; Replace this with a proper configuration file (e.g from https://configtool.reprapfirmware.org) ; Display initial welcome message ;;M291 P"Please go to this page for further instructions on how to set it up." R"Welcome to your new Duet 3!" S1 T0 ;--------------------------------------------------------------------------------------------------------------------- ; Configuration file for Duet 3 Mini 5+ (firmware version 3.2 or newer) ; executed by the firmware on start-up ; edited by OC_GEEK based on Fulg Configuration ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves - ok M669 K1 ; Select CoreXY mode ; Limit axis M564 S1 H1 ; Forbid axis movements when not homed ; H1 Forbid movement of axes that have not been homed ; S1 Limit movement within axis boundaries G4 S1 ;wait for expansion boards to start ; ================================== ; Paneldue i5 ; ================================== M575 P1 S1 B57600 ; ================================== ; Fysetc 12864 display Color ; ================================== ;M918 P2 R6 C30 E4 F200000 ; Configure direct-connect display ; P2 128x64 display using ST7567 display driver chip ; R6 Display resistor ratio, in range 1 to 7. Only used with ST7567-based displays. ; The default value of 6 is suitable for the Fysetc Mini 12864 display. ; C30 Display contrast, in range 0 to 100 ; E4 The number of pulses generated by the rotary encoder per detent. Typical values are 2 and 4 ; F... SPI clock frequency in Hz, default 2000000 (i.e. 2MHz) ;M150 X2 R100 U80 B255 P250 S3 ; Set LED colours ; X2 LED type: X0 (default) = DotStar, X1 = NeoPixel, X2 = Panel 12864 ; R,U,B Set the LED colour (note Fystec uses GRB space instead ... (Red and Green switched over) ; S3 Number of individual LEDs to set to these colours ; ================================== ; NETWORK ; ================================== ; Need to set up WIFI ; M587 S"SSID" P"PWD" ; This needs to be as a first step via USB like when fw ver is checked ; It is permanently stored in the card after that ; https://duet3d.dozuki.com/Guide/1.)+Getting+Connected+to+your+Duet ; Network ;M550 P"Voron@Nobu" ; Set machine name ;M552 S1 ; Enable network ;M586 P0 S1 ; Enable HTTP (for DWC) ;M586 P1 S1 ; Enable FTP (for remote backups) ;M586 P2 S0 ; Disable Telnet ; ================================== ; DRIVERS ; ================================== ; --- Z Drive map --- ; B_______A ; | 1 | 2 | ; | ----- | ; | 0 | 3 | ; ------- ; front ; ; (looking at the printer from the top) ; Driver directions ; M569: Set motor driver direction, enable polarity and step pulse timing ; This command has LOT of parameters ... e.g. stealthChop2 ... ; Pnnn Motor driver number ; Snnn Direction of movement 0 = backwards, 1 = forwards (default 1) M569 P121.0 S0 D3 ; E M569 P121.0 V1 M569 P0 S1 D3 ; Z0 M569 P1 S0 D3 ; Z1 M569 P2 S1 D3 ; Z2 M569 P3 S0 D3 ; Z3 M569 P4 S1 D3 ; B -> X M569 P5 S1 D3 ; A -> Y M584 Z0:1:2:3 X4 Y5 E121.0 ; Note that A is assigned to Y !! (as per CoreXY standard A is Left side not right as in Voron Doc...) ; Motor steps per mm M350 X16 Y16 Z16 E16 I1 ; Use 1/16 microstepping with interpolation everywhere M92 X80 Y80 Z400 ; Set XYZ steps per mm (1.8deg motors) ;M92 X160 Y160 Z800 ; Set XYZ steps per mm (0.9deg motors) M92 E412 ; Set Extruder steps per mm - why 406 ?? -> was 406 (100 mm -> 97,5 mm) ; Drive currents M906 X1200 Y1200 Z1200 E400 ; XYZ and E current - WARNING E MAX 0.6 A !!!! ; Duet 3 Mini5+ it is 74mA (provisionally), rounded down M906 I70 ; Idle current percentage ; This command must be later in config.g than any M584 command ! M84 S120 ; Idle timeout in seconds ; enables motors and wait for driver tuning M17 G4 P200 ; ================================== ; Endstops ; ================================== ; Xn,Yn endstop: 0 = none, 1 = low end, 2 = high end ; Snnn 1 = switch-type (eg microswitch) endstop input ; 2 = Z probe (when used to home an axis other than Z) ; 3 = single motor load detection ; 4 = multiple motor load detection (see Notes) ; P"pin_name" M574 X2 S1 P"^io1.in" ; Xmax endstop on hall effect board M574 Y2 S1 P"^io2.in" ; Ymax endstop on hall effect board ;;M574 Z0 P"nil" ; No Z endstop ; Extruder never stops :-) ; Axis travel limits ; Mind this is travel NOT print area M208 X5:350 Y0:354 Z0:265 ; Set axis minima - negative X is to have 0,0 on bed corner ; WARNING on Z not to hit the roof - this is set here ; Belt Locations M671 X-65:-65:425:425 Y0:430:430:0 S20 ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right) ; Position of the bed leadscrews.. 4 Coordinates ; Snn Maximum correction to apply to each leadscrew in mm (optional, default 1.0) ; S20 - 20 mm spacing M557 X30:320 Y30:285 S40 ; Define bed mesh grid (inductive probe, positions include the Y offset!) ; Accelerations and speed are set in a file M98 P"/macros/speed_printing.g" ; ================================== ; Bed heater (dual thermistor setup) ; ================================== ; Define Sensors ; Mind an M3 Stug Skrew termistor goes in the hole of the plate - Fulg uses 3950 Thermistors - ok ; Mind S1 us used below for the Hotend Sensor ! M308 S0 A"Bed Heater" P"temp0" Y"thermistor" T100000 B3950 ; configure sensor S0 as thermistor on pin (P) temp0 (heater sensor) M308 S2 A"Bed Plate" P"temp1" Y"thermistor" T100000 B4276 C6.41e-8 ; configure sensor S2 as thermistor on pin (P) temp2 (mic6 sensor) 104GT-2 ; M950: Create heater, fan or GPIO/servo pin ; Heater M950 H0 C"out1" T2 Q10 ; create bed heater output on out0 ("bedheat") and map it to sensor 2 (T0) (mic6 Bed sensor) ; C"pinname" ; Set PWM frequency to 10Hz ; M140: Set Bed Temperature (Fast) or Configure Bed Heater M140 P0 H0 ; Mark heater H0 as bed heater 0 (for DWC) ; M143: Maximum heater temperature M143 is actually definition of Pn triggers ; A Action to trigger ; 0: Generate heater fault [default] ; 1: Switch off permanently ; 2: Switch off temporarily -> HOW LONG ?? ; 3: Shut down the printer) ; T Sensor number used to monitor the heater ; P Heater monitor number ; C Condition for temperature event ; 0: Temperature too high [default] ; 1: Temperature too low ; -1: Monitor is disabled) ; Here monitoring points are defined and their actions too ; this are referred to the BED HEATER (KEENOVO) M143 H0 P1 T0 A2 S118 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 118°C. Use Heater monitor 1 for it M143 H0 P2 T0 A1 S135 C0 ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 120°C. Use Heater monitor 2 for it ; THIS TEMP SHALL BE LOWEWR THEN THE PHYSICAL CUT OFF THERM SENSOR (POPS) ; this is (implicitly) referred to the ALU BED PLATE (T2) as it is the sensor which controls the heater M143 H0 S110 ; Set bed heater max temperature to 110°C, use implict refers to the sensor which controls the heater ; THIS TEMP SHALL BE LOWEWR THEN THE PHYSICAL CUT OFF THERM SENSOR (POPS) ; THIS TEMP IS NORMALLY LOWEWR THEN THE BED HEATER SHUT OFF defined above ; M307: Set or report heating process parameters ; M307 H0 B1 S0.65 ; Enable Bang Bang mode and set PWM to 80% to avoid warping - GOOD POINT ! ; 450W x 0.8 = 360W effective power... ;;M307 H0 R0.205 C548.7 D33.14 S0.60 V24.2 B0 ; ================================== ; HOTEND heater ; ================================== ; HERE i have to say if i use the (Y) "PT1000" - Fulg uses PT100 with amplifier rtd-max31865 !! M308 S1 A"Hotend" P"121.temp0" Y"thermistor" T100000 B3950 ; Hotend is 2-wire PT100 on second channel, 60Hz mains M950 H1 C"121.out0" T1 ; Creates the Hotend on the pin (C) and controlled by sensor (T) defined above ;;M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit 100% M307 H1 B0 R2.896 C208.9 D6.17 S1.00 V24.2 M307 H0 R0.0833 K0.096:0.000 D88.65 E1.35 S1.00 B0 ;;R0.119 ; M307 H1 R2.238 C210.6 D3.80 S1.00 V24.1 ; Result of PID tuning at 240 C, no blower, no sock ;;M307 H1 R2.198 C212.4 D3.86 S1.00 V24.1 ; Result of PID tuning at 240 C, 25% blower, with sock ; M307 H1 R2.147 C231.7 D5.17 S1.00 V24.1 ; Result of PID tuning at 250 C, NO sock ; H# Heater number ; R Heating rate ; C Dominant time Constant of the heating process in seconds ; D Dead time in seconds ; S Maximum PWM to be used used with this heater on a scale of 0 to 1 M143 H1 S280 ; Set temperature limit for heater 1 to 300C - WOW THIS IS HIGH !! ; ================================== ; SENSORS MISC ; ================================== ; Define MCU sensors which will be available in DWC Extra View M308 S3 A"MCU" Y"mcu-temp" ; Officially NOT supported on Mini 3 5+ however seem to work ;;M308 S4 A"Duet Drivers" Y"drivers" ; This is not really working as it is just a threshold crossing ; ================================== ; CHAMBER SENSOR ; ================================== ; DHT21 seems to be directly supported in the sensors list ; Chamber temperature sensor via io4.in M308 S10 P"io4.out" Y"dht22" A"Chbr Temp [C]" ; Set DHT21 for chamber temp M308 S11 P"S10.1" Y"dhthumidity" A"Chbr Hmdy [%]" ; Set DHT21 for chamber humidity ; ================================== ; Z-SWITCH SENSOR (On 1LC Toolboard) ; ================================== ; Semitec (Japan) 104-GT2 B=4267 K T=100 K ;M308 S5 A"Z-Switch" P"121.temp0" Y"thermistor" T100000 B4267 ; configure sensor S5 as thermistor on pin (P) temp0 ; ================================== ; Z PROBES K0 (Inductive) and K1 (Microswitch Z0) ; ================================== ; M558: Set Z probe type ; P5/P8 select a switch by default (normally closed) for bed probing between the In and Gnd pins of the Z-probe connector ; C specifies the input pin and the optional modulation pin. This parameter is mandatory ; Tnnn Travel speed to and between probe points (mm/min) ; Fnnn Feed rate (i.e. probing speed, mm/min) e.g. 60 is one mm per second ; Hnnn Dive height (mm) ; Annn Maximum number of times to probe each point, default 1 ; Snnn Tolerance when probing multiple times, default 0.03mm ; Rnnn Z probe recovery time before the probing move is started , default zero (seconds) ; B0 B1 Turn off all heaters while probing, default (B0) leaves heaters on. ; I0 Invert (I1) or do not invert (I0, default) the Z probe reading ; G31: Set Current Probe status ; K0 Z Probe Number ; Pnnn Trigger value ; Xnn Ynn Probe offset (from Noozle) ; Znnn Trigger Z height - Set the said Z when the probe triggers !! ; OMRON PROBE (+24 V DC) ; ----------- ; This is the inductive probe in the Afterburner behind the noozle M558 K0 P8 C"121.io0.in" T18000 F120 H5 A10 S0.002 G31 K0 P500 X0 Y19.75 Z7.72 ;Z7.76 ;Z8.22 ;Z8.27 ;;Z7.77;;Z5.350 Y25 ;;je größer die Zahl desto tiefer kommt die Düse ; MAG PROBE (GND, IO) ; ----------- ; This is the mag probe with microswitch in Afterburner ;;M558 K0 P8 C"^io5.in" T18000 F180 H10 A10 S0.0025 ;;G31 K0 P500 X0 Y20 Z7.612 ; Z-SWITCH ; ----------- ; This is the microswitch which is pressed by the Noozle M558 K1 P8 C"^io3.in" T18000 F180 H3 A10 S0.0025 R0 ; Metrol switch ;;G31 K1 P500 X0 Y0 Z1.85 ;;Z-0.39 ; Offsets ; Cold -0.056 repeatable ; Bed 60 -0.025 ; Z-0.2 offset required baby stepping of -0.15 so i put Z-0.05 ; Negative offset will raise the noozle. More negative higher noozle ; Microswitch probe ; G31 K1 P500 X0 Y0 Z-0.045 ; Z switch offset (negative -> the pin is below the table) and set at the noozle coords ; ================================== ; FANS ; ================================== ; M106 ; P Number of the Fan defined with M950 ; C Can assign a custom name with C"Name" ; S Rate of the Fan 0-255 or 0.0-1.0 ; H Termostatic mode set by sensor #. H-1 disables thermostatic mode. ; -- Work cooling FAN 0 (Tool Fan in DWC) -- ; Configure fan 0 ; Manual control (H-1) M950 F0 C"121.out1" Q250 M106 P0 H-1 C"Blower Fan" ; -- Hot End FAN 1 -- ; Hnn Thermostatic control is turned on, sensor #1 (HotEnd over 50 degrees) ; Qnn PWM frequency in Hz. Valid range: 0-65535 M950 F1 C"121.out2" Q250 M106 P1 S255 H1 T50 C"HotEnd Fan" ; set hot-end fan at 200/255 rate (noise..) ; -- Electronics Bay FAN 3 -- ;;M950 F3 C"out7" Q35 ;;M106 P3 S0 H-1 C"Bay Fans" ; manual control ;;M106 P3 H3:4 T22:38 C"Bay Fans" ; controlled by Sensor 3 - MCU ; -- Chamber FAN 2 -- ; Configure fan 2: Thermostatic control is turned on, based on sensor #2 (Chamber over 40 degrees) ; S10 is the chamber sensor defined above M950 F2 C"out7" Q15 M106 P2 S100 H10 T42 C"Chamber Fan" ;H10 ; slow draw and highr temp trigger ; M106 P2 S120 H10 T55 C"Chamber Fan" ; controlled by Sensor 10 - Chamber ;M106 P2 S0 H-1 C"Chamber Fan" ; manual controlled ; ================================== ; TOP LEDS ; ================================== ;;M150 X1 R100 U80 B255 P100 S10 ; Set LED colours ; ================================== ; TOOLS ; ================================== M563 P0 D0 H1 F0 ; Define tool 0 using fan 0 (part cooling) for M106, Heater H1 is hotend ; P tool number# ; D extruder drive# - Drive 0 is the first drive in the machine after the movement drives (usually X, Y and Z) ; H Heater# ; F Fan# ; G10 Tool offset and temperatures G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; ================================== ; Accelerometer ; ================================== M955 P121.0 I10 ; ================================== ; FILAMENT SENSOR TL ; ================================== ;;M591 D0 P2 C"io3.in" S1 ; ================================== ; MISC ; ================================== ;M572 D0 S0.04 ; Pressure Advance as per calibration test ;M592 D0 A0.015 B0.0012 L0.2 ; Non-linear extrusion ; Zero PA, DAA and NLE ;;M572 D0 S0 ;;M592 D0 A0 B0 L0 ;;M593 F0 ;;M376 H10 ; Fade out mesh compensation over 10mm Z ; M912 P0 S-4 ; Calibration of MCU temp ; DAA tuning (aka input shaping) ; M593: Configure Dynamic Acceleration Adjustment ; Fnnn Frequency of ringing to cancel in Hz. Zero or negative values disable the feature. ;M593 F26.6 ; Cura 4.5 stock profile @ 40mm/s outer printing speed ;M593 F42.5 ; PrusaSlicer @ 40mm/s outer perimeter ;M80 ; turn on PSU & mains voltage - turn on and off an external 12/24V supply it can be toggled using the M80 and M81 gcodes ;;M501 ; load config-override.g T0 ; select tool 0 ; defines global variables M98 P"/macros/define_global_vars.g" ; set LED status ;;M98 P"/macros/led_status_blue.g"