Repository navigation
Closed
Description
Duet Forum Discussion Thread
https://discord.com/channels/711873626080804914/711873626080804917/1496987879199604818
Which Duet products are you using?
- Duet2-Wifi
- Duet2-Ethernet
- Duet Expansion Breakout Board
- Duex2
- Duex5
- Duet2-Maestro
- Maestro Dual Driver Expansion
- Duet3-6HC
- Duet3-3HC
- Duet3-1XD
- Duet3-1LC
- Duet3-Tool Distribution Board
- Duet3-Mini5+
- Duet3-Mini2+
- Raspberry Pi or other SBC
- SmartEffector
- Magnetic Filament Sensor
- Laser Filament Sensor
- PT100 Daughterboard
- Thermocouple Daughterboard
- PanelDue
- Other
- None
Firmware Version
3.6.2
Duet Web Control Version
2.2.1
Are you using a Single Board Computer (RaspberryPi) with your Duet?
- Yes I use a SBC.
- No I do not use a SBC.
Please upload the results of sending M122 in the gcode console.
Please upload the content of your config.g file.
M929 P"system.log" S3 ;event log file
;Config.g
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M669 K1 ; select CoreXY mode
; Network
;M551 P"octo" ;set password
;M552 S-1 ; to reactivate wifi send M552 S-1 then M552 S1 to activate wifi
M552 S1 p"ethernet" ; enable ethernet network
M550 P"octo" ; set printer name also network name
M586 P0 S1 ; enable HTTP
M586 P1 S1 ; enabled FTP
; Drives
M569 P0 S1 D2 ; Y physical drive 0 goes forwards using default driver timings
M569 P1 S1 D2 ; X physical drive 1 goes forwards using default driver timings
M569 P2 S0 ; extruder physical drive 3 goes forwards using default driver timings
M569 P3 S1 D2 ; Z LF physical drive 3 goes forwards using default driver timings
M569 P4 S0 D2 ; Z RF physical drive 4 goes forwards
M569 P5 S1 D2 ; Z CR physical drive 6 goes forwards
M569 P6 S1 ; spare physical drive 7 goes backwards
M569 P7 S0 ; Push extrudeer physical drive 8 goes forwards
;stepper motor layout
; rear
; | 5 |
;| 3 | 4 |
; front
;
M584 Y0 X1 Z3:4:5 E2 ;:7 ; set drive mapping
M350 X16 Y16 I1 ; configure microstepping with interpolation
M350 Z16 E32 ; configure microstepping
M92 X80.00 Y80.00 Z320 E1124 ; set steps per mm
M566 X300.00 Y300.00 Z100 E150 P1 ; set maximum instantaneous speed changes (mm/min) jerk
M203 X30000 Y30000 Z3000 E9000 ; set maximum speeds (mm/min)
M201 X5000 Y5000 Z600 E3000 ; set accelerations (mm/s^2)
M201.1 X1000 Y1000 Z200 ;Set reduced acceleration for special move types (mm/s^2)probing moves,stall detection
;set current
M906 X1500 Y1500 Z900 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 X Y S125 ; Set idle timeout
; Axis Limits bed size x320 y300
; Axis Limits X338 Y355 max travel not bed size
M208 x 0:300 Y0:300 Z0:300 ; set axis minima and maxima set in Tool.g
;M208 X0:310 Y0:270 Z0:300 ; set minimum and maximum axis limits
;M208 S0 X320 Y311 Z320 ; set axis maxima "Travel area" set in tool.g
;M208 S1 X-8 Y0 Z0 ; set axis minima "Travel Area" set in tool.g
; Endstops
M574 X2 S3 ; configure sensorless endstop, 1 = low end, 2 = high end. s3 = single motor,
M574 Y2 S3 ; configure sensorless endstop, 1 = low end, 2 = high end. s3 = single motor,
M574 Z2 S4 ; configure sensorless endstop, 1 = low end, 2 = high end. s3 = single motor,
;Ball joint 3pl
M671 X-11:319:154 Y-10:-10:320 S35 ;leadscrews at front left,front right, rear Center s= max correction factor must be in same order as M584
; Z-Probes >
M558 K0 P5 C"probe1" H12:6 F500:200 T30000 A3 S0.02 ; set in tool.g ..set Z probe type to unmodulated and the dive height + speeds, T= travel speed !=inverted signal tool.g
G31 K0 Z0 ; clear Z offset
G31 K0 P500 X0 Y0 Z0.0
; Anvil Probe nozzel offset
M558 K1 P8 C"PG11" H12:6 F500:200 T20000 A3 S0.02 ; set Z probe trigger value, offset and trigger height bigger the posative number the closer to the bed set in Tool.g
G31 K1 Z0 ; clear anvil offset
G31 K1 P500 X0 Y0 Z0.0
; Mesh
M557 X15:295 Y15:280 P3 ; define mesh grid P number of points
; Heaters + temperature sensors
;bed >
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 A"Bed T °C" ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"e0heat" T0 Q10 ; create bed heater output on bed and map it to sensor 0
M307 H0 R0.838 K0.331:0.000 D3.08 E1.35 S0.90 B0 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S130 A2 ; set temperature limit for heater 0 to 120C
;hotend >
M308 S1 P"F.8" Y"rtd-max31865" F50 R430 A"Hot End °C" ; R430 for PT100 R4300 for PT1000
M950 H1 C"e1heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 R2.750 K0.452:0.000 D5.56 E1.35 S1.00 B0 V11.6 ; disable bang-bang mode for heater and set PWM limit increase D to stop temperature swing
M570 H1 P10 T20 ; heat fault detection P number of seconds before fault reported, T <> teperature from setpoint
M143 H1 S350 A2 ; set temperature limit for heater 1 to 280C
;Chamber >
M308 S2 P"e2temp" Y"thermistor" T100000 B4267 A"Chamber T °C" ; configure sensor 2 as thermistor on pin temp2
M950 H2 C"e2heat" T2 ; create chamber heater output on 1.out0 and map it to sensor 2
M307 H2 R0.384 K0.430:0.000 D8.24 E1.35 S1.00 B0 ; disable bang-bang mode for the chamber heater and set PWM limit
M570 H2 P10 T20 ; heat fault detection P number of seconds before fault reported, T <> teperature from setpoint
M141 P1 H2 ; map chamber 1 to heater number Hx
M143 H2 S85 ; set temperature limit for heater
;Dry Box >
M308 S3 P"e0temp" Y"thermistor" T100000 B4267 A"Drybox T °C" ; configure sensor as thermistor
M950 H3 C"e3heat" T3 ; create chamber heater output on duex.e2heat and map; it to sensor 3
;M307 H3 B1 S1 ; bang bang setup
M307 H3 R0.116 K0.260:0.000 D13.16 E1.35 S1.00 B0 ; B= (bang-bang mode = 1 PWM =0) s=max PWM, R lower if temperature doesnt rise fast enough, if the heater over shoots loswer the D value
M141 P2 H3 ; map heater 3 to chamber 2
M143 H3 S80 A1 ; set temperature limit for heater
;external heater >
;M308 S4 P"e1temp" Y"thermistor" T100000 B4267 A"external heater °C" ;
;M950 H3 C"e3heat" T3 ; create chamber heater output on duex.e2heat and map; it to sensor 3
;M307 H3 B1 S1
;M307 H3 R0.116 K0.260:0.000 D13.16 E1.35 S1.00 B0 ; B= (bang-bang mode = 1 PWM =0) s=max PWM, R lower if temperature doesnt rise fast enough
;M141 H3 ; map heater 3
;M143 H3 S80 A1 ; set temperature limit for heater
;DHT Sensor >
M308 S10 P"A.15" Y"dht22" A"Drybox DHT°C[C]"
M308 S11 P"S10.1" Y"dhthumidity" A"Dry box Humidity[%]"
;BME Sensor >
;m308 s11 y"bme280" p"spi.cs6" a"Ambient temp"
;m308 s12 y"bme-pressure" p"s11.1" a"Pressure[hPa]"
;m308 s13 y"bme-humidity" p"s11.2" a"Humidity[%]"
; highest tmc driver temp
;M308 S7 Y"drivers" A"max tmc temp" ; Highest driver temp
;M308 S8 Y"drivertemp" p"S7.0" A"A Drv 0" ; Motor A driver temp
;M308 S9 Y"drivertemp" p"S7.1" A" B Drv 1" ; Motot B driver temp
;M308 S12 Y"drivertemp" p"S7.2" A"Ext Drv 2" ; Motor A driver temp
;Neo Pixe LED
M950 E0 C"neopixel" T1 Q3000000 ; create a RGB Neopixel LED strip on the LED port and set SPI frequency to 3MHz
;Driver A >
;M308 S3 P"e0temp" Y"thermistor" T2000 B-746.91 A"Stepper Driver A °C" ;
;Driver B >
;M308 S4 P"e1temp" Y"thermistor" T2000 B-746.91 A"Stepper Driver B °C" ;
;stepper motor
M308 S5 P"e3temp" Y"thermistor" T100000 B4260 A"Extruder Motor °C" ;
;~~~~~~~~~~~~~~~~~~~~ Fans ~~~~~~~~~~
; Cpap
M950 F7 C"!fan0" Q25000 ; create fan and set its frequency ! invert control
M106 p7 S1 H-1 L0.25 X0.6 C"Cpap Fan" B1 ; S fan speed , L minium fan speed , x maxium fan speed B blip time in sec, H-1 disable thermostat mode ,
;extruder Heat sink >
M950 F1 C"fan1" Q250 ; create fan and set its frequency
M106 P1 S1 H1 T35 C"Extruder Heatsink Fan" B1 ; Extruder Heatsink Fan
;Dry Box
M950 F3 C"fan3" Q20000 ; create fan and set its frequency
;M106 P3 S0.1 H3 T22:45 C"Dry Box Fan"
M106 P3 S0 H-1 C"Dry Box Fan" B2 ; Dry box
;M106 P3 S0 H1 T35 L10 C"Dry Box Fan"
;Part cooling
M950 F0 C"fan5" Q25 ; create fan and set its frequency
M106 P0 S0 H-1 C"Part cooling Fan" L0.25 B0.2 ; Part cooling
;~~~~~~~~~~~~~~~~ outputs ~~~~~~~~~~~~~~~~~~
;filter
M950 F2 C"hbed" Q25000 ; create fan and set its frequency
M106 P2 S0 H-1 C"Filter Fan" B1 ; Filter fan
;12V output
;M950 P7 C"!fan0" Q25000
;M42 P7 S0.5
;ROS
M591 P1 C"e2stop" S1 D0 ;d extrurder,s1 simple senor ,Sn 0 off Sn2 on all the time
; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
;M567 P0 E1.0 ;:1.0 ; use this to get the 2 exturudes to work at the same time
; Tool
T0 ; select first tool
;LIS3DH Input shaping
;M955 P0 C"PE_12+PE_10" I20
M593 P"mzv" F43
;External Buttons
M950 J1 C"!e4stop" ; config input pin switch NO connected to io2 and Gnd
M581 P1 T0 C0 ; T0 = emergency stop on trigger; T1 = pause print; T{N} = runs the macro "sys/trigger{N}.g", rising edge S1 falling edge S0
M950 J2 C"!e1stop" ; config input pin switch NO connected to io and Gnd
M581 P2 T5 C0 ; Print Again macro trigger5.g
M582 T0 T5 ; Check External Trigger
;debug
M552 s-1 ; -1 = disable WiFi module
M111 P14 S0 ;debug wifi/ethernet s1 on s0 off
M552 s1 p"ethernet" ;set up for ethernet
;service interval calculate 1000 hours into seconds 1000 * 60 *60 = 3600000
if !exists(global.serviceInterval)
global serviceInterval = 14000.0
if !exists(global.cumulativeTime)
global cumulativeTime = 0
; Custom macros
M98 P"0:/sys/global.g" ; Define Global variables
M400
M98 P"/macros/showTotalPrintTime.g" ;update printtime in BtnCmd
M98 P"0:/sys/tool.g" ; load tool settings
echo"tool"
;M98 P"0:/sys/totalValue.g"
;echo"total value"
M400
echo"start startup"
M98 P"/macros/startup_sequence"
echo"end startup"Please upload the content of any other releveant macro files.
;update values below
echo "L1"
var filamentType = "ASA" ; filamenmnt type
var toolT =240 ; set hotend temperature
var dryboxT = 65 ; set dry box temperature
var purgeLength = 100 ; set the length of filament to purge
echo "L2"
; Don't touch anyting beyond this point(unless you know what you're doing)!!
echo "loading", {var.filamentType}
M564 S0 ; let travel outside print zone
M400 ; Wait for moves to finish
G91
echo "L3" ; Relative positioning
M83 ; Extruder relative positioning
G90 ; Absolute positioning
M98 P"/macros/park_bucket" ; Move the nozzle to the bucket defined in the settings section
M400
echo "L4" ; Wait for moves to finish
M291 P"Please wait while the nozzle is being heated up" R{"Loading " ^ var.filamentType} T5 ; Display message
M568 P0 S{var.toolT} ; Set current tool temperature
M116
echo "L5" ; wait for temperature to be reached
M291 S4 R"Inset filament" P"Is filament inserted, then press OK." K{"OK","SKIP",}
if input == 0
M291 P"Feeding filament..." R{"Loading " ^ var.filamentType} T5 ; Display new me0mode
G1 E{var.purgeLength} F300 ; purge filament at 3000mm/min
G4 P1000 ; Wait one second
G1 E-3 F180 ; Retract filament at 1800mm/min
M400
echo "L6" ; Wait for moves to complete
M292 ; Hide the message
G10 S0 ; Turn off the heater again
; Set Dry box Temperature
M291 P{"Dry box temperature being set to " ^ var.dryboxT^"°C"} T5 ; Display message
M141 P2 S{var.dryboxT} ; set drybox temperature
M143 H3 S{var.dryboxT+10} A2
echo "L7"
; "SKIP"
if input == 1
echo "skipped"
M400
;update values below
var filamentType = "ASA" ; filamenmnt type
var toolT =240 ; set hotend temperature
var dryboxT =20 ; set dry box off temperature
var purgeLength = 60 ; set the length of filament to purge
var unloadLength = -120 ; unload length
echo "U1"
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Don't touch anyting beyond this point(unless you know what you're doing)!!
echo "Going to unload", {var.filamentType}
M564 S0 ; let travel outside print zone
M400 ; Wait for moves to finish
G91 ; Relative positioning
M83 ; Extruder relative positioning
G90 ; Absolute positioning
M98 P"/macros/park_bucket"
echo "U2" ; Move the nozzle to the bucket defined in the settings section
M400 ; Wait for moves to finish
M291 P"Please wait while the nozzle is being heated up" R{"Unloading " ^ var.filamentType} T5 ; Display message
M568 P0 S{var.toolT} ; Set current tool temperature
M116 ; wait for temperature to be reached
M291 P"Unfeeding filament..." R{"Unloading " ^ var.filamentType} T5 ; Display new message
M83
echo "U3" ; Extruder to relative mode
G1 E{var.unloadLength} F300 ; purge filament at 3000mm/min
G4 P1000 ; Wait one second
M400 ; Wait for moves to complete
M292 ; Hide the message
G10 S0 ; Turn off the heater again
; Set Dry box Temperature
M291 P{"Dry box temperature being set to " ^ var.dryboxT^"°C"} T5
echo "U4" ; Display message
M141 P2 S{var.dryboxT} ; set drybox temperatureDetails specific to your printer.
core xy
Links to additional info.
What happened?
can load and unload filaments from the tool option in DWC , but the change filament will only unlad the filament .
Activity
chrishamm commentedon Aug 7, 2026
I've fixed this in ef0837d.