# Anet A8 with 3DTouch does not home X in the center

Working on getting my Anet A8 upgraded with some extra toys and although the sensor works, I can't get it to home correctly. I'm looking for some assistance to home the X in the center.

The probe is working and showing results, but when homing, it does not home to center (SAFE_HOME is turned on, Y homes to center but X is about 3/4 from endstop) and the Z offset always reports as 0 when using M851. There is a clear gap of about 10 mm between the bed and the nozzle after G29 is ran.

I'm using the following mount:

Bed is anycubic ultrabase 220*220

I have been using a combination of E3D configuration documents, https://www.youtube.com/watch?v=WWDkZtWwd6I and https://www.youtube.com/watch?v=y_1Kg45APko to try and get it working.

I've posted my Configuration.h here to see if anyone can spot what I've done wrong and possible explain it to me so I can learn.

• Hi, welcome to 3D Printing.SE! – 0scar Nov 21 '18 at 12:46

Your sensor offset for the X direction is incorrect.

#define X_PROBE_OFFSET_FROM_EXTRUDER -28 // X offset: -left +right [of the nozzle]

should be

#define X_PROBE_OFFSET_FROM_EXTRUDER 28 // X offset: -left +right [of the nozzle]

The hints in the comment already suggest that (left is negative, right is positive), your touch sensor clearly is located on the right side, hence +28 mm.

 *      +-- BACK ---+
*      |           |
*    L |    (+) P  | R -- probe (20,20)
*    E |           | I
*    F | (-) N (+) | G -- nozzle (10,10)
*    T |           | H
*      |    (-)    | T
*      |           |
*      O-- FRONT --+
*    (0,0)


Also, #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.05 is not really necessary. Many prefer this to be 0 and set the value later by using M815 Z-1.05 (sent over USB or "printed" from .gcode file over SD card)

You also have not set the boundaries for the sensor to reach, I quote:

// Set the boundaries for probing (where the probe can reach).
//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)


This can be found in How to set the boundaries for BLTouch probing.

After a G29, the head is raised as instructed by the configuration file to employ clearance.

An M851 will report the actual value it is set to, if you have not set it (by using M851 Z-x.xx, or set it through the display using the menu) then it will report 0, that is correct.

• Thank you for your comment, that was really useful. I've got the probe centered now, and am trying to work out the probe map from the other link you provided. – NXSmiggy Nov 21 '18 at 15:37
• @NXSmiggy You're very welcome. Probe area is pretty easy for your printer as your Y offset is zero! Good luck, and please come back, we're here to answer your questions. – 0scar Nov 21 '18 at 18:56
• Had to modify the probe values as needed to relocate the probe. Turns out the 3DTouch is 3mm longer than a BLTouch so fails to stow beyond the nozzle height. Good job i noticed before crashing my nozzle + probe into the bed – NXSmiggy Nov 22 '18 at 13:59