# Always have Move out of range on bed mesh calibrate

**URL:** <https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583>\
**Category:** General Discussion\
**Created:** [July 10, 2024, 7:24pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583 "2024-07-10T19:24:37Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 10, 2024, 7:24pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/1 "2024-07-10T19:24:37Z")

</div>

### Basic Information:

Printer Model: Enderwire  
 MCU / Printerboard: BTT SKR E3 mini v2  
 Host / SBC

[klippy.log](https://klipper.discourse.group/uploads/short-url/fRqxxZtzvefYYAn1yrwl2GsnnfV.log) (46.6 KB)

Hi!  
I always have move out of range on bed mesh calibrate. Can somebody help me to found a way to make it work? Thanks! 🙂

---

<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:** [July 10, 2024, 7:30pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/2 "2024-07-10T19:30:55Z")

</div>

You bed is 0,0 to 216,215.

You mesh is -3,2 to 186,217.

You can’t do the mesh beyond the bed’s limits.

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 10, 2024, 7:56pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/3 "2024-07-10T19:56:13Z")

</div>

I don’t know why on the .log there are that values, but on printer.cfg I have:

[stepper\_x]  
step\_pin: PB13  
dir\_pin: PB12  
enable\_pin: !PB14  
rotation\_distance: 40  
full\_steps\_per\_rotation: 200  
microsteps: 32  
endstop\_pin: ^PC0  
position\_endstop: 216  
position\_min: 0  
position\_max: 216  
homing\_speed: 70  
homing\_positive\_dir: true  
homing\_retract\_dist: 0

[stepper\_y]  
step\_pin: PB10  
dir\_pin: PB2  
enable\_pin: !PB11  
microsteps: 32  
rotation\_distance: 40  
endstop\_pin: ^PC1  
position\_endstop: 208  
position\_min: -27  
position\_max: 208  
homing\_speed: 70  
homing\_positive\_dir: true

[probe]  
pin: ^PC2  
z\_offset: 0 #Measure per your specific setup  
x\_offset: 0 # negative = left of the nozzle  
y\_offset: 29 # negative = in front of of the nozzle  
speed: 1.0  
lift\_speed: 15.0  
sample\_retract\_dist: 2  
samples: 2  
samples\_tolerance\_retries: 6

##[(7x7)-1] / 2 = 24  
##[(5x5)-1] / 2 = 12  
[bed\_mesh]  
speed: 300  
horizontal\_move\_z: 2  
mesh\_min: 0, 0  
mesh\_max: 216, 179  
probe\_count: 5,5  
zero\_reference\_position: 117.5, 117.5  
algorithm: bicubic  
fade\_start: 1  
fade\_end: 10

Could it be that klipper is reading those values anywhere else?

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 10, 2024, 7:57pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/4 "2024-07-10T19:57:30Z")

</div>

Ok, I think I have it duplicated so the one I pasted should work 😛

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 10, 2024, 8:04pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/5 "2024-07-10T20:04:08Z")

</div>

Ok, still don’t work 😛 this is the correct klippy.log.  
Thanks 🙂

[klippy.log](https://klipper.discourse.group/uploads/short-url/8BK04NYLDhcdSTm5CZldgUMoHEG.log) (37.9 KB)

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 10, 2024, 11:19pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/6 "2024-07-10T23:19:23Z")

</div>

Solved, moved the y\_offset to 28 and it’s working 🙂

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [July 11, 2024, 10:55am UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/7 "2024-07-11T10:55:58Z")

</div>

I’m not sure that I understand your solution.  
If you have modified:

```auto
[probe]
...
y_offset = 29

```

Then it is very wrong to do so. The `*_offset` values **must** exactly match the actual hardware distance from your nozzle to the probe tip.

To prevent the MOOR error, the correct way is to adapt the starting points of the mesh in:

```auto
[bed_mesh]
...
mesh_min = 0, 0
mesh_max = 216, 179

```

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 11, 2024, 11:58am UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/8 "2024-07-11T11:58:03Z")

</div>

Thanks Sineos! I already tried that values, they gives Move out of range

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [July 11, 2024, 1:08pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/9 "2024-07-11T13:08:26Z")

</div>

Then likely you made a mistake. It will lead to unpredictable result if your offsets do not match the reality.  
See [Understanding X and Y Axes Limits and Homing](https://klipper.discourse.group/t/understanding-x-and-y-axes-limits-and-homing/10779) and in particular the last chapter in this article.

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 11, 2024, 6:12pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/10 "2024-07-11T18:12:32Z")

</div>

Thanks for your support Sineos.  
I fine tuned the bed size and the endstops.

This is the config that’s working, the probe microswitch is at at 0,29

the following is working and is covering the bed pretty at all:

```auto
[stepper_x]
step_pin: PB13
dir_pin: PB12
enable_pin: !PB14
rotation_distance: 40
full_steps_per_rotation: 200
microsteps: 32
endstop_pin: ^PC0
position_endstop: 216
position_min: 0
position_max: 216
homing_speed: 70
homing_positive_dir: true
homing_retract_dist: 0

[stepper_y]
step_pin: PB10
dir_pin: PB2
enable_pin: !PB11
microsteps: 32
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 208
position_min: -27
position_max: 208
homing_speed: 70
homing_positive_dir: true

[probe]
pin: ^PC2
z_offset: 0 #Measure per your specific setup
x_offset: 0 # negative = left of the nozzle
**y_offset: 27** # negative = in front of of the nozzle
speed: 1.0 # era 5
lift_speed: 25.0
sample_retract_dist: 2
samples: 2
samples_tolerance_retries: 6

[bed_mesh]
speed: 300
horizontal_move_z: 2
**mesh_min: 0, 0**
 **mesh_max: 216,208**
probe_count: 9,9
zero_reference_position: 108, 104
algorithm: bicubic
fade_start: 1
fade_end: 10

```

But If I only change to:

`y_offset: 28`

and

```auto
mesh_min: 0, 0
mesh_max: 216,207

```

I have Move out of range ☹

---

<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:** [July 11, 2024, 6:56pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/11 "2024-07-11T18:56:14Z")

</div>

One tiny request:

When you upload code snippets, please `Preformatted Text` to bring that in a proper form. It is more easy to read and information is not formatted away.

![Format](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/6/643ab9def96b03089cfb0c194628129fcc96b3f8.png)

When you made changes to the printer.cfg, it is always better to upload the klippy.log.

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 11, 2024, 7:20pm UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/12 "2024-07-11T19:20:33Z")

</div>

Sure, thanks!  
It’s a clean klippy.log, with 2 tries, the first is with the non working config, the second one with the working.

Thanks!

[klippy.log](https://klipper.discourse.group/uploads/short-url/z7fpwmOADaRsymLxbqUsBeNP8Fq.log) (31.8 KB)

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [July 12, 2024, 6:04am UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/13 "2024-07-12T06:04:59Z")

</div>

I do not know your printer, but I somehow doubt that this:

```auto
[bed_mesh]
...
mesh_min = 0, 0
mesh_max = 216,208

```

is correct. Also, I do not know if your offsets are correct:

```auto
[probe]
...
x_offset = 0
y_offset = 27

```

Both go hand in hand and especially the `*_offset` needs to be as precise as possible.

I propose you go through the relevant steps to make sure that everything is correct here:

- For the `*_offset` follow one of the following procedures (whatever suits you better):
  - [Calibrating probe X and Y offsets](https://www.klipper3d.org/Probe_Calibrate.html#calibrating-probe-x-and-y-offsets)
  - [Importance of precise probe offset values? - #6 by Sineos](https://klipper.discourse.group/t/importance-of-precise-probe-offset-values/12143/6)

- For the `mesh_min` / `mesh_max` follow one of the following procedures (whatever suits you better):
  - [Bed Mesh - Klipper documentation](https://www.klipper3d.org/Bed_Mesh.html#rectangular-beds) (see the illustration and its text above)
  - [Mesh Coordinates vs. Nozzle Coordinates](https://klipper.discourse.group/t/understanding-x-and-y-axes-limits-and-homing/10779#mesh-coordinates-vs-nozzle-coordinates-6)

---

<div class="post-metadata">

**Author:** ![SGr33n](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sgr33n/32/13055_2.png) [@SGr33n](https://klipper.discourse.group/u/SGr33n)\
**Post date:** [July 12, 2024, 8:39am UTC](https://klipper.discourse.group/t/always-have-move-out-of-range-on-bed-mesh-calibrate/17583/14 "2024-07-12T08:39:51Z")

</div>

The 27mm y offset is the one is working, the real is 29mm and I’d like, as you told it’s important, to fix this issue. So I will investigate and I will also read your kindly linked articles. I tuned the bed with two YouTube videos:

[![](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/2/2e5da2d4af15c9703d86ddd60d4954c9477a6993.jpeg "Klipper Initial Setup : Making sure things are all good before printing") ](https://www.youtube.com/watch?v=T-knWbh1Gg8)

[![](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/e/eb8b987d3ea035c68be9e38780025627c54d5a3d.jpeg "BL Touch complete setup for Klipper! Maximize your probed bed mesh!") ](https://www.youtube.com/watch?v=5vmjBXvY6BA)

But I will follow your links and I will back, for now thanks 🙂
