# When leveling hotend always slams into bed?

If the hot-end is at ~0 on the Z axis and I go to level it, as it approaches X = 0 it begins scraping along the bed, then when moving back to probe the center of the bed (after homing X to 0) it will scrape the bed again.

I want to add a glass plate but am worried this aggressive homing will smash the glass. How can I fix it? The printer auto-levels and runs Marlin.

I realised the simplest fix for this shortly after posting the question. In either your slicer or your printer controller (I use octoprint, so I added this there) add to the starting G-code something to lift the head so that it is above the point it is scraping across.

For example, change your starting G-code from something like:

G28 ;Home all axis
G29 ;probe bed


To

G91 ;Set to relative positioning
G0 Z10 ;move head up by 10mm

G28 ;Home all axis
G29 ;probe bed


(obviously remove G29 if you do not have a probe)

10mm should be more than enough to lift by unless you have something seriously wrong, but you can adjust the figure as needed.

Marlin has a Z_RAISE_BETWEEN_PROBINGS setting that allows you to, well, raise the Z-axis before it moves to the next probe point. Increasing this value may solve the issue.

Auto leveling only compensates for skew of the bed, but it doesn't compensate for a non-planar bed. If your bed is bowed (apparently you're not using glass yet, so I assume you have a plain PCB which is quite susceptible to this) and due to this is higher in some spots than others, then the auto leveling may cause the hotend to scrape the high spots of the bed.

• It seems its unclear what i was getting at. It levels fine, but the centre of the bed is lower than the left side, so when moving left to home the X when Z=0 (in the centre) it scrapes the bed. Z_RAISE_BETWEEN_PROBINGS doesnt apply when its homing X/Y. Also, no PCB bed, its an aluminium plate. – Trotski94 Oct 18 '16 at 7:44
• Yeah, if your bed isn't planar, you're kind of screwed :-( . Best to replace/upgrade to something better. – Carl Witthoft Oct 18 '16 at 15:55
• It is planar, its just angled such that the left side is higher than the right side, but only so slightly as it makes a difference @Z=~0mm – Trotski94 Oct 19 '16 at 7:10

You can always add to the starting code as told in an answer above. Also for the scrapping, you might want to set Z_HOMING_HEIGHT to prevent further damage to the hotend. If the Z axis is below the homing height, on homing x or y will first cause z axis to travel to the homing height and then proceed with homing of x or y axis.

• This sounds like exactly the answer you are looking for? – Mtl Dev Feb 14 '17 at 16:38

Sounds like you need a different sensor? You have a lot of issues from the sounds of it. Also no code so cannot comment on your settings.

If it always scrapes the bed (sorry but its really unclear what is going on) then lower your sensor a bit.. Best I can give you with the provided info.

• It seems its unclear what i was getting at. It levels fine, but the centre of the bed is lower than the left side, so when moving left to home the X when Z=0 (in the centre) it scrapes the bed. – Trotski94 Oct 18 '16 at 7:43
• Oh, so it sounds like you need a flatter bed. That said I would just tell simplify3d to raise the first layer height. That also said lowering your hotend calibration sensor by 0.05mm (or more) will have the same effect. – StarWind0 Oct 18 '16 at 19:45
• Its not that the bed isn't flat... its just angled such that the left side is higher than the right side, but only so slightly as it makes a difference Z =~0mm – Trotski94 Oct 19 '16 at 7:09
• So your bed is flat, but not level. Can you not level the bed with the adjustment screws? – Mtl Dev Feb 14 '17 at 16:40
• @JamesTrotter that is the definition of not a flat bed. We are not talking about warped beds. we know it's physically flat, but it is not relatively flat. – StarWind0 Feb 14 '17 at 16:43

You need an offset to protect your XY movements for Z=0 even if the plate is planar or angled; for example my sensor is made for 10mm height from plate but measures 4mm due the plate is aluminum. The nozzle needs to be at least 1mm or 2mm below the sensor level. If I adjust the nozzle at 4mm or more this will be scratch the plate if any level variation on bed exist.

So I set an offset and Z safe movement on Auto homming, adding 3 or 4mm. When I press AutoHome the nozzle rise up to the safety level even if the nozzle is touching the bed.

You don´t need the Z=0 to start printing, when you Use the code G29 the printer will check the predefined test points to get the right Z=0 according the angled plate; if your plate is warped you will need a lot of test points but is much better to change it.