# Help setting origin & X/Y axis limits

**URL:** <https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991>\
**Category:** General Discussion\
**Created:** [February 9, 2024, 7:00pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991 "2024-02-09T19:00:06Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![CindyL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/cindyl/32/8590_2.png) [@CindyL](https://klipper.discourse.group/u/CindyL)\
**Post date:** [February 9, 2024, 7:00pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/1 "2024-02-09T19:00:07Z")

</div>

### Basic Information:

Printer Model: Reality Ender 3 Conversion to Aditiva Core XY  
 MCU / Printerboard: BTT Octopus Max EZ  
 `klippy.log`  
[klippy-9.log](https://klipper.discourse.group/uploads/short-url/mgkk7lEcmg74rBmF9Br73n7DLGZ.log) (2.2 MB)

_Fill out above information and_ **_in all cases attach your_ `klippy.log` _file_** (use zip to compress it, if too big). _Pasting your_ `printer.cfg` _is **not** needed_  
_ **Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there** _

### Describe your issue:

I am going in circles trying to set my X & Y “origin” to the front left corner as my “0,0” and Position\_Min & Position\_Max. I’m want my probe to move to the middle of the bed for “safe z homing” but right now I can’t seem to figure out what I am doing wrong. I have watched numerous how-to videos and read through guides on Git Hub (Rootiest I think it’s called) and nothing works when I try to apply what sounds easy. I have a visual/spatial disability (dyscalculia) and it affects my ability to easily work out math & manipulate shapes/numbers in my head. I think the problem is all the guides talk about taking the min-position of where I’d like “0” to be and then transferring this into the opposite in my position-min and/or endstop. So I think this is where I am messing up. The Negative numbers to positive or visa-versa…I end-up having huge negative min\_position numbers (like -400 stopping in the middle of the bed and getting an out-of-range message if I try to move to the left. I eventually deleted the Position\_min altogether and at least it now has “0,0” on the board…but closer to the far right and front of the board.  
If this sounds confusing? That’s about how my brain feels.  
I am ready to pay in order to have somebody walk me through this nightmare via Zoom. Is there such a service? I am fairly new to Klipper but used it successfully on my Ender 3 for a few months prior to the conversion. I  
have easily figured out everything else…plus built, crimped, and learned how to wire everything myself. I’ve recently added a Voron Tap and a 3rd z-axis, I’m also a (not-young) mom and Master’s Level Research Librarian, who will never have the brains of an engineer, but I try. So please be kind.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [February 9, 2024, 7:07pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/2 "2024-02-09T19:07:32Z")

</div>

> [@CindyL](#):
>
> I’m want my probe to move to the middle of the bed for “safe z homing”

```auto
[safe_z_home]
home_xy_position = 0,0
speed = 50
z_hop = 10
z_hop_speed = 5

```

You just set the `home_xy_position` in `[safe_z_home]` to the centre of the bed:

```auto
[safe_z_home]
home_xy_position =100,100
speed = 50
z_hop = 10
z_hop_speed = 5

```

---

<div class="post-metadata">

**Author:** ![CindyL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/cindyl/32/8590_2.png) [@CindyL](https://klipper.discourse.group/u/CindyL)\
**Post date:** [February 9, 2024, 7:12pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/3 "2024-02-09T19:12:56Z")

</div>

Yes, thank you. The problem is my printer does not understand where the center of the bed is. I need to figure out how to set the axis parameters so it knows the center of the bed is not in the back left corner…I had it at 115, 115 and when I jogged it over to the center? it read “0,0” and I just haven’t changed it back yet. Have been working on trying to get it to "0,0’ in the front left corner.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [February 9, 2024, 7:25pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/4 "2024-02-09T19:25:43Z")

</div>

It is just for delta printers that you have the origin at the middle (centre) of the bed.

For cartesian and corexy printers the origin is always one of the corners. There is no need to configure a centre.

You set the corner origin in `[stepper_x]` and `[stepper_y]`

You have to set the slicer accordingly.

You may have a look on this:

> [@Understanding X and Y Axes Limits and Homing](https://klipper.discourse.group/t/understanding-x-and-y-axes-limits-and-homing/10779):
>
> The X and Y Axis Klipper needs to know from its printer.cfg settings how far the X and Y axes can safely move without hitting the printer’s frame. It also needs to know where the origin (X=0 / Y=0) is. This origin is the beginning of the usable printer bed. In the following, we assume a Cartesian printer that follows the conventions of a [Cartesian Coordinate System](https://en.wikipedia.org/wiki/Cartesian_coordinate_system). This is also the reason why it is a quasi-standard to define the origin as the left-front corner of the bed. This way, all logic…

---

<div class="post-metadata">

**Author:** ![CindyL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/cindyl/32/8590_2.png) [@CindyL](https://klipper.discourse.group/u/CindyL)\
**Post date:** [February 9, 2024, 8:00pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/5 "2024-02-09T20:00:17Z")

</div>

Yes, thank you, I am reading through this guide again and have read through it in the past. I do not want the origin in the center of the bed…as I mentioned, I am trying to enter the numbers I need to so my origin is in the front left corner. 10mm in from all 4 sides of the bed for my usable printer area. I know the kinematic positions are the limits outside of the bed where the toolhead physically touches the frame. But for some reason it still does not recognize 0,0 as the front left corner.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [February 9, 2024, 8:24pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/6 "2024-02-09T20:24:35Z")

</div>

Ok, try this:

```auto
[stepper_x]
step_pin: PC13
dir_pin: !PC14
enable_pin: !PE6
microsteps: 16
rotation_distance: 40
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
position_min: 10 # <- this new
position_max: 210 # <- this changed
homing_retract_dist: 0
homing_speed: 20

```

Accordingly with Y.

---

<div class="post-metadata">

**Author:** ![CindyL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/cindyl/32/8590_2.png) [@CindyL](https://klipper.discourse.group/u/CindyL)\
**Post date:** [February 9, 2024, 9:47pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/7 "2024-02-09T21:47:20Z")

</div>

> [@EddyMI3D](#):
>
> ```auto
> [stepper_x]
> step_pin: PC13
> dir_pin: !PC14
> enable_pin: !PE6
> microsteps: 16
> rotation_distance: 40
> endstop_pin: tmc2209_stepper_x:virtual_endstop
> position_endstop: 0
> position_min: 10 # <- this new
> position_max: 210 # <- this changed
> homing_retract_dist: 0
> homing_speed: 20
> 
> ```

It gives me this error:  
position\_endstop in section ‘stepper\_x’ must be between position\_min and position\_max

Should I change it to " -10" ?

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [February 10, 2024, 1:22pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/8 "2024-02-10T13:22:59Z")

</div>

Sorry for the delay: Sleep, work…

You are right.

This may work:

```auto
[stepper_x]
step_pin: PC13
dir_pin: !PC14
enable_pin: !PE6
microsteps: 16
rotation_distance: 40
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: -10
position_min: -10  
position_max: 220 
homing_retract_dist: 0
homing_speed: 20

```

Actually with my own printer, I fumbled around with the parameters until I got proper settings.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/klipper/original/1X/64419bf2aac6639e6ef5cef200dcd456b0a01ac3.png) [@system](https://klipper.discourse.group/u/system)\
**Post date:** [April 10, 2024, 1:23pm UTC](https://klipper.discourse.group/t/help-setting-origin-x-y-axis-limits/13991/9 "2024-04-10T13:23:16Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
