; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Jan 17 2022 14:30:50 GMT-0500 (Eastern Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"My Printer" ; set printer name ; Network M551 P"yourpasswordhere" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes forwards, X-Axis wired using Molex connectors to molex end of wires that go into I/O board to the X-Axis connections on the Duet 2 wifi X-axis. Check for continuity between connection wires to ensure you locate each phase. Keep A together and B together M569 P1 S1 ; physical drive 1 goes forwards, Y-Axis wired using Molex connectors to molex end of wires that go into I/O board to the Y-Axis connections on the Duet 2 wifi Y-axis. Check for continuity between connection wires to ensure you locate each phase. Keep A together and B together M569 P2 S1 ; physical drive 2 goes forwards, Z-Axis wired using Molex connectors to molex end of wires that go into back of PDB board to the Z-Axis connections on the Duet 2 wifi Z-axis. Check for continuity between connection wires to ensure you locate each phase. Keep A together and B together M569 P10 S1 T2.5:2.5:4:4 ; physical drive 10 goes forwards. This is the settings for the Geckodrive G320X step dir wiring pins. Use the step 10 and dir 10 outputs to connect to the step and dir inputs on the Geckodrive. M584 X0 Y1 Z2 E10 ; set drive mapping. Calls the extruder to run off the Geckodrive outputs sent though step10 dir10 outputs on the CONN_LCD connections of the Duet 2 wifi. M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X53.33 Y134.00 Z1011.99 E3230.77 ; set steps per mm M566 X600 Y600 Z60 E3000 ; set maximum instantaneous speed changes (mm/min) M203 X24000.00 Y24000.00 Z648.00 E1200.00 ; set maximum speeds (mm/min) M204 P1000 T2600 M201 X4000 Y4000 Z30 E3000 ; set accelerations (mm/s^2) M906 X950 Y950 Z1100 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M572 D0 S0.02 ; Set pressure advance M593 P"ei3" F60 S0.01 ; Set Dynamic Acceleration Adjustment. Tuned using an LIS3DH accelerometer. Follow instructions for connections to SPI.CS3 and SPI.CS4 and additional connections found on the temp daughterboard connections. https://duet3d.dozuki.com/Wiki/Accelerometers. Use CAT5e socket connectors from aplace such as Home Depot and a 1 m Cat5e ethernet patch acble for running the wiring to the accelerometer to be mounted on the print head. Use the screw for the small cable clamp and some double sided foam tape to fix the accelerometer on the back of the print head. ; Axis Limits M208 X-117.5 Y-160.5 Z-2 S1 ; set axis minima M208 X156.8 Y115.5 Z175 S0 ; set axis maxima ; Endstops M574 X2 S1 P"!xstop" ; Connect to J15 pin 2; configure switch-type (e.g. microswitch) endstop for low end on X via pin !xstop M574 Y1 S1 P"!ystop" ; Connect to J15 pin 4; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !ystop ;M574 Z2 S1 P"!zstop" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin !zstop M574 Z2 S1 ; Connect to J15 pin 9 ; configure Z-probe endstop for low end on Z ; Accelerometer M955 P0 I56 C"spi.cs4+spi.cs3" ; accelerometer configuration settings. I terms may need to be changed based on your LIS3DH board and its orientation. ; Z-Probe M558 P5 H5 F1200 T5000 C"!duex.e3stop" ; disable Z probe but set dive height, probe speed and travel speed G31 P1000 X-46 Y-74 Z0.896 ; set Z probe trigger value, offset and trigger height M557 X-110:110 Y-105:35 S20 ; define mesh grid. The whole bead cannot be probed due to the position of the probe. Additional methods will need to be made to fit the surface and interpolate for the fron end of the bed. ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping). Needed to enable chamber heater settings. M308 S0 P"duex.e2temp" Y"linear-analog" F0 B-15 C105; configure sensor 0 as thermocouple via duex.e2temp with 1K ohm resistor between your thermocouple amplifier output and the thermistor input, and 2K ohm resistor from thermistor input to ground M950 H0 C"duex.pwm1" Q200 T0 ; Connect to J15 pin 11 ; create chamber heater output on duex.e2heat and map it to sensor 0 M307 H0 B0 R0.052 C2429.3 D36.80 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H0 ; map chamber to heater 0 M143 H0 S100 ; set temperature limit for heater 0 to 70C M308 S1 P"duex.e3temp" Y"linear-analog" F0 B54.5 C326; configure sensor 1 as thermocouple via duex.e3temp with 1K ohm resistor between your thermocouple amplifier output and the thermistor input, and 2K ohm resistor from thermistor input to ground M950 H1 C"duex.pwm3" Q200 T1 ; Connect to J15 pin 19; create nozzle heater output on duex.e3heat and map it to sensor 1 M307 H1 B0 R2.383 C198.1 D5.01 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S320 ; set temperature limit for heater 1 to 325C M570 H1 P30 ; set fault time delay to 30s for heater 1 M308 S2 P"duex.e4temp" Y"linear-analog" F0 B54.5 C326; configure sensor 2 as thermocouple via duex.e4temp with 1K ohm resistor between your thermocouple amplifier output and the thermistor input, and 2K ohm resistor from thermistor input to ground M950 H2 C"duex.pwm2" Q200 T2 ; Connect to J15 pin 18; create nozzle heater output on duex.e3heat and map it to sensor 1 M307 H2 B0 R2.203 C210.6 D7.02 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S320 ; set temperature limit for heater 1 to 325C M570 H2 P30 ; set fault time delay to 30s for heater 2 ; Fans ;M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency ;M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off ;M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency ;M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 S"support" D0 H1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R145 S300 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"model" D0 H2 ; define tool 1 G10 P1 X-27 Y0 Z0 ; set tool 1 axis offsets. Needs to be retuned after updating to newer firmware versions! G10 P1 R145 S300 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined M950 P2 C"duex.pwm5" Q100 ; Connect to J15 pin 15 ; Heater and Extruder Motor Power Enable pin setup. Great pin to cut heaters in an emergency M42 P2 S1 ; Enable Heater and Extruder Power M950 P3 C"duex.pwm4" Q100 ; Connect to J13 pin 45 ; Extruder Motor Enable ; M950 P4 C"duex.gp2" Q100 ; LED Lights Enable M950 P5 C"duex.gp1" Q100 ; Connect to J5 pin 13 ; Door Lock Enable pin setup ; M950 P6 C"duex.gp3" Q100 ; Z-probe power pin setup duex gp3 ; M42 P6 S1 ; Enable Z-probe Power ; Safety Setup ; M950 F2 C"fan0" Q100 ; Power supply enable pin setup. Not currently working on my printer. It may be that I accidentally burned out an IC somewhere during testing or more current is needed to trigger. M950 J1 C"duex.e2stop" ; Power Supply Switch Status (related to P4). Can be used as a trigger to cut heater and motor power when this is triggered. Not done yet. M950 J2 C"duex.e4stop" ; Connect to J15 pin 33 ; Chamber alarm (low 0V is triggered) M950 J3 C"duex.e5stop" ; Connect to J15 pin 32 ; Head alarm (low 0V is triggered) ; M106 P2 S0 H-1 ; Power supply switch enable. Not currently working on my printer. It may be that I accidentally burned out an IC somewhere during testing or more current is needed to trigger. M950 J4 C"duex.e6stop" ; Connect to J15 pin 22 ; Head Thermostat alarm (Chamber temp >100C) M950 J5 C"e1stop" ; Connect to J14 pin 8 ; Model Toggle Switch. Can be used to ensure the correct tool is setup. Not currently programmed in. M950 J6 C"e0stop" ; Connect to J14 pin 10 ; Support Toggle Switch. Can be used to ensure the correct tool is setup. Not currently programmed in. M581 T0 P2:3:4 S0 R0 ; Emergency shutdown on temperature alarms (Chamber, Head, and temperature fuse - Head thermostat alarm) ; Material Bay - Was working, then I broke an IC on the material bay board and need to fix it. This can be touchy as the end stop switches sometimes don't work the best and jammed the motors. ; M950 P7 C"duex.fan8" Q100 ; Filament Select Right pin setup ; M950 P8 C"duex.fan7" Q100 ; Filament Select Left pin setup ; M950 P9 C"duex.fan6" Q100 ; Filament Load pin setup ; M950 P10 C"duex.fan5" Q100 ; Filament Unload pin setup ; M950 P11 C"duex.fan4" Q100 ; Filament Right Cartridge Latch pin setup ; M950 P12 C"duex.fan3" Q100 ; Filament Left Cartridge Latch pin setup ; M950 J7 C"!duex.cs6" Q100 ; Filament Select Right EndStop pin setup ; M950 J8 C"!duex.cs5" Q100 ; Filament Select Left Endstop pin setup ; M950 J9 C"!duex.cs7" Q100 ; Filament Sensor Right ; M950 J10 C"!duex.cs8" Q100 ; Filament Sensor Left ; M42 P7 S0 ; M42 P8 S0 ; M42 P9 S0 ; M42 P10 S0 ; M42 P11 S0 ; M42 P12 S0 ;M591 P1 C"!duex.cs7" S1 D0 ; Filament Sensor Right setup trigger runs filament-error#.g, filament-error.g, or pause.g in that order ;M591 P1 C"!duex.cs8" S1 D0 ; Filament Sensor Left setup trigger runs filament-error#.g, filament-error.g, or pause.g in that order ; Preheat Printer ; G28 ; Home all Axis ; M141 S70 ; Set Chamber heater temperature ; T1 P0 ; Select tool 1 to turn it on but don't execute tool change scripts ; T0 ; Select tool 0 ; M116 ; Wait for all temperatures to be reached