@droftarts I have a mini5+, 2+, SBC. Z endstop is connected to mini5+. See config.g
I am doing this all manually through the console and 12864 menu to jog Z. I move to bed center and lower nozzle manually to grab paper. Then in increase Z +5 and go to Z endstop. I then issue G30 S-1 and it slowly lowers and stops just as it touches the top of the endstop. I just tried again and checked that I could lower the nozzle to the bed, i.e. that the range is not limited in some way. The Z endstop is almost 1mm above the bed level, meaning that G30 S-1 is stopping well above zero.
I did this procedure multiple time on 3.5.4 and it worked correctly every time.
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Jun 05 2021 22:48:46 GMT-0500 (CDT)
; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
;now goes into dsf-config.g -> M550 P"CerberusDWC" ; set printer name
M669 K1 ; select CoreXY mode
M564 S1 H1 ; Forbid axis movements when not homed
; Network
;SBC M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; --- Drive map ---
; B _______ A
; | 2 |
; Z | 1 | 0 |
; -------
; front
;
; (looking at the printer from the top)
;Crown lights
M950 E0 C"led" T1 ;Q3000000 ; set LED type to NeoPixel and set SPI frequency to 3MHz
M150 E0 B255 P192 S30 F0 ; set next 20 LEDs to cyan, full brightness, finished programming strip
; Drives
M569 P0.5 S1 ; A drive 0.0 goes forwards
M569 P0.1 S1 ; B drive 0.1 goes forwards
M569 P0.2 S0 ; Z0 drive 0.2 goes backwards
M569 P0.3 S0 ; Z1 drive 0.3 goes backwards
M569 P0.6 S0 ; Z2 drive 0.6 goes backwards
M569 P0.0 S0 ; E drive 0.4 goes backwards
; motor mapping and steps
M584 X0.1 Y0.5 Z0.2:0.3:0.6 E0.0 ; set drive mapping
;M584 U0.2 V0.3 W0.6 ;control individual Z
M350 X4 Y4 Z16 E16 I1 ; configure microstepping with interpolation
M92 X40.00 Y40.00 ; set steps per mm (0.9deg)
M92 Z800.00 E676.00 ; set steps per mm (1.8deg)
; drive currents
M906 X1500 Y1500 Z1200 E600 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S60 ; Set idle timeout
; Accelerations and speed
M98 P"/macros/print_scripts/setup_printing.g"
; Axis Limits
M208 X-1 Y-2 Z-0.5 S1 ; set axis minima
M208 X302 Y307 Z260 S0 ; set axis maxima
; Endstops
M574 X2 S1 P"^io2.in" ; configure active-high endstop for high end on X via pin ^io1.in
M574 Y2 S1 P"^io4.in" ; configure active-high endstop for high end on Y via pin ^io2.in
M574 Z0 P"nil" ; No Z endstop
; Z probes
M558 K0 P8 C"^io5.in" T24000 F120 H5 A5 S0.01 R0.2
G31 K0 P500 X0 Y25 Z2.48 ; Don't really care about inductive probe Z offset
M558 K1 P8 C"^io6.in" T18000 F240:60 H2 A10 S0.005 R0.2
;G31 K1 P500 X0 Y0 Z0.5 ; Z switch offset (if positive, greater value = nozzle closer to bed. if negative, more negative = nozzle further from bed)
; Bed leveling
M671 X345:-45:150 Y20:20:345 S12 ; bed leveling coords, max 5mm adjust
M557 X14:292 Y25:285 P21:21 ; Define bed mesh grid (inductive probe, positions include the Y offset!) and mesh count
; Bed heater (dual thermistor setup)
M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed Heater" ; configure sensor 0 as thermistor on pin temp0 (heater sensor)
M308 S2 P"temp2" Y"thermistor" T100000 B3950 A"Bed Plate" ; configure sensor 2 as thermistor on pin temp1 (mic6 sensor)
M950 H0 C"out0" T0 Q10 ; ##FIXME create bed heater output on out0 and map it to sensor 2 (mic6 sensor). Set PWM frequency to 10Hz
M140 P0 H0 ; Mark heater H0 as bed heater (for DWC)
M143 H0 P1 T0 A2 S115 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 115°C. Use Heater monitor 1 for it
M143 H0 P2 T0 A1 S125 C0 ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 125°C. Use Heater monitor 2 for it
M143 H0 S113 ; Set bed heater max temperature to 110°C, use implict monitor 0 which is implicitly configured for heater fault
M307 H0 B0 S0.6 ; disable bang-bang mode and set PWM to 60% to avoid warping
; Hotend heater
M308 S1 A"Hotned" P"temp1" Y"pt1000" ;R2200 ; configure sensor 1 as PT1000 on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S350 ; set temperature limit for heater 1 to 350C
; MCU sensors (not available on Mini5+, Booh!!)
;M308 S3 Y"mcu-temp" A"MCU"
;M308 S4 Y"drivers" A"Drivers"
; chamber temp+humid
M308 S10 P"io1.out+io1.in" Y"dht22" A"Chamber Temp[C]" ; Set DHT22 for chamber temp
M308 S11 P"S10.1" Y"dhthumidity" A"Chamber Hum[%]"
; Fans
M950 F0 C"out4" Q250 ; create fan 0 (hotend) on pin out4 and set its frequency
M106 P0 S1 H1 T50 C"Hotend" ; configure fan 0 value. Thermostatic control is turned on, using sensor #1
M950 F1 C"out3" Q20 ; create fan 1 (cooling) on pin out3 and set its frequency
M106 P1 S0 H-1 C"Cooling" ; configure fan 1 value. Thermostatic control is turned off
; ##FIXME
;M950 F2 C"out5" Q30 ; Create fan 2 (electronics bay) on pin out5 and set its frequency
;;M106 P2 S0.25 H1 T50 C"Bay" ; Run the fans at 25% if the hotend is over 50C
;M106 P2 S0 H-1 C"Bay" ; (temporary manual setup)
;M950 F3 C"out6" Q30 ; Create fan 3 (chamber) on pin out6 and set its frequency
;M106 P3 S1 H2 T65 C"Chamber" ; Configure fan 3: Thermostatic control is turned on, based on sensor #2 (mic6 temp)
;;M106 P3 S0 H-1 C"Chamber" ; (temporary manual setup)
M950 H3 C"out6" T10
;M950 H3 T10
M141 P0 H3
; Tools
M563 P0 D0 H1 F1 ; define tool 0 using fan 0 for M106
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
M568 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
; move here to test
;G31 K1 P500 Z0.819 S25 T-0.0012:0 H2 ; Z switch offset @ 25C (if positive, greater value = nozzle closer to bed. if negative, more negative = nozzle further from bed)
G31 K1 P500 Z0.88
; Custom settings
; LEDs
;M950 F4 C"out2" ; Create fan 4 (top leds) on pin out2
;M106 P4 S255 B0 H-1 C"Top Lights" ; ## FIXME
; Miscellaneous
M592 D0 A0.015 B0.0012 L0.2 ; Non-linear extrusion ##FIXME
M376 H2 ; Fade mesh out compensation over 2mm Z
;M912 P0 S-8.5 ; MCU temp calibration ##FIXME
; Accelerometer for selecting input shaping
;M955 P0 C"spi.cs2+spi.cs1" ; all wires connected to temp DB connector, no temperature daughterboard
; Input Shaping
M593 P"mzv" F40 ; use mzv input shaping to cancel ringing at 40Hz
;M80 ; ##FIXME turn on PSU & mains voltage
M918 P2 R6 C40 E4 F200000 ; Fysetc 12864 display
M950 E1 C"io3.out" T1 U3 ; create a RGB Neopixel LED strip with 3 LEDs on the Duet 3 Mini 5+ 12864_EXP1 header
; set default LCD color - R(R) G(U) B(B) L(P)
M150 E1 R40 U210 B250 P192 S1 F1
;M150 X2 R0 U250 B210 P30 S1 F1 ;
M150 E1 R0 U250 B210 P30 S2 F0 ;
; Crown lights
;M950 E0 C"led" T1 ;Q3000000 ; set LED type to NeoPixel and set SPI frequency to 3MHz
M150 E0 R255 U255 B255 P180 S30 F0 ; set next 20 LEDs to cyan, full brightness, finished programming strip
M501 ; load saved parameters from non-volatile memory (config-override.g)
T0 ; select tool 0