How to switch homing corner

  • Hello, I have a DIY printer and I am having some homing issues. Everything is homing great, just not in the right spot, I need my X axis to be zero in the left corner, but right now it is the right corner. My Y axis is set correctly and is zero to the front of the print bed. All axis's travel in the right direction. Is there an easy way to fix this? Here is my config file and homeall file.

    ; Configuration file for Duet Maestro (firmware version 3)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Thu Jun 04 2020 15:43:41 GMT-0500 (Central Daylight Time)
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"My Printer"                                 ; set printer name
    ; Network
    M552 P0.0.0.0 S1                                   ; enable network and acquire dynamic address via DHCP
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    ; Drives
    M569 P0 S1                                         ; physical drive 0 goes forwards
    M569 P0 V30					   ; Stealthchop2 till about 150 mm/sec
    M569 P1 S0                                         ; physical drive 1 goes backwards
    M569 P2 V30					   ; Stealthchop2 till about 150 mm/sec
    M569 P2 S0                                         ; physical drive 2 goes backwards
    M569 P2 V30					   ; Stealthchop2 till about 150 mm/sec
    M569 P3 S0                                         ; physical drive 3 goes backwards
    M569 P3 V30					   ; Stealthchop2 till about 150 mm/sec
    M584 X0 Y1 Z2 E3                                   ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E90.00                   ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X300000.00 Y300000.00 Z6000.00 E216000.00     ; set maximum speeds (mm/min)
    M201 X800.00 Y800.00 Z15.00 E1000.00               ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1200 E1200 I30                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X180 Y180 Z200 S0                             ; set axis maxima
    ; Endstops
    M574 X2 S1 P"!xstop"                               ; configure active-high endstop for high end on X via pin !xstop
    M574 Y1 S1 P"!^ystop"                              ; configure active-high endstop for low end on Y via pin !^ystop
    M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
    ; Z-Probe
    M950 S0 C"^zprobe.mod"                             ; create servo pin 0 for BLTouch
    M558 P9 C"" H5 F120 T6000                 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X33 Y5 Z1.3                             ; set Z probe trigger value, offset and trigger height
    M557 X15:180 Y15:180 S40                           ; define mesh grid
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 R2200    ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
    ;M307 H0 B1 S1.00                                   ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B3950 R2200     ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
    ;M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    M307 H0 M307 H1 A306.3 C136.3 D4.5 B0    ;  This is to prevent heater fault
    ; Fans
    M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 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 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
    ; 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
    ; Custom settings are not defined
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    ; homeall.g
    ; called to home all axes
    M561  ; clear height map
    M400  ; wait for movement queue to empty
    M913 X45 Y45 Z45	; Reduce motor currents for homing
    G91			; relative positioning
    G1 H2 Z3 F600		; lift Z relative to current position
    G1 H1 X190 Y-190 F6000 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 X5 Y5 F4000	; go back a few mm
    G1 H1 X190 Y-190 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G90 			; absolute
    G1 X95 Y95 F6000	; move probe to bed center
    M558 F200 A1 		; Dive fast once
    G30			; probe Z
    M558 F100 A10 		; Slow second dive with more accuracy
    G30			; probe z again
    G29 S1			; Load heightmap and enable mesh grid compensation
    G1 X10 Y10 Z10 F6000	; return head to park position
    M913 X100 Y100 Z100	; Return motor currents to normal


  • @yagodajm said in How to switch homing corner:

    M574 X2 S1 P"!xstop"

    start with X1 insteand of X2, verify motor direction and then check the homeall.g file

  • Thanks, I will give it a shot.

  • Ok, so that worked, when the X axis is at the endstop it is at 0. But, after it homes it will not move in the negative position at all, only in the positive direct which is toward the end stop. I have tried to move some settings, but nothing will work. I also tried to invert the endstop and invert the motor, but that didn't work either.

  • maybe i missunderstood what you're after, is it a goal to print in negative coordinates?

    if not return to X2 and reverse motor direction instead. X2 means x endstop is at x-max, while X1 means the endstop is at x-min.

  • Moderator

    Where is the end stop located?

    Min to the left. Max to the right.

  • Home is where the endstops are, NOT necessarily the same as the origin. The origin is the (0,0) coordinate. Are you trying to relocate home or the origin?

  • I got it, my end stop is all the way to the left. I did what bearer said to do to change the x2 to x1, but then I but a value of 0. It should have been a value of -190, that fixed all the problems. Now the front left corner is 0,0.


  • Moderator

    @mrehorstdmd said in How to switch homing corner:

    Home is where the endstops are

    I want that on a cross stitch!


Log in to reply