# Help coding the MIN_POS and x/y probe offsets

I've read a lot of posts in regard to these subjects but I think that the advice is just so saturated it's hard to know what to follow.

I've had trouble with my bed min pos and x/y probe offsets ever since I installed the two fan version of the Hero Me 5. I followed the advice in the manual and uncomment MANUAL_Y_HOME_POS -9 to account for the width of the mount, but ever since then I can't get prints centered on my plate, and with the suggested probe offsets for the mount I used as X -60, Y -13, the BLTouch still won't probe the plate evenly, which is causing (I believe) the front left and front right corner to print unevenly.

I've tried remeasuring the offsets using the x and y coordinates on the printer and subtracting out the nozzle coordinates, didn't work. I tried printing a 100x100 mm square and measuring the left and right x differences and the top to bottom y differences, subtracting, dividing by 2, and updating that new value via M206 and M500, that didn't work.

I tried homing the nozzle to the actual x0, y0 position in the bottom left corner and using M428 to try and save that, but that didn't work. The only thing I was able to get to work and print fairly evenly (it's still off by a few mm on each side) is to use the code settings I have below and sending a M206 Y-11 M500 command which has it almost straight.

I tried updating that in the firmware and re-flashing but that reverted back to being uneven and my BLTouch still probes unevenly (bed visualizer is showing all green though. I also tried adjusting the Y endstop, but the bed started slamming into the end of the axis and grinding the belt a bit

So after that long-winded explanation, my question is how do I get my x/y to 0/0 in the bottom left corner, print evenly, and probe evenly, is it best to zero out everything and start measurements from scratch? I also ran an M48 test to rule out the probe and the returned values came back in line. My code is below for reference. Set up is Ender 3 Pro, 4.2.7 Creality board, Marlin Bug fix 2.0, BLTouch model v3.1, glass Ped plate, Hero Me 5 duct system.

Also just another side question, when you load new firmware, what is erased and what is updated? If I adjust these new values below, do I always need to load settings from EEPROM and save to over write everything old?

/ Direction of endstops when homing; 1=MAX, -1=MIN// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1//
'@section machine// The size of the print bed
#define X_BED_SIZE 235
#define Y_BED_SIZE 235// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -6.5 (Previous defaults for both where 0 and 0)
#define Y_MIN_POS -11.5
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 250

#define NOZZLE_TO_PROBE_OFFSET {-61, -15, -0.60 }// Most probes should stay away from the edges of the bed, but// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define PROBING_MARGIN 10// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_SPEED (100*60)// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST (4*60)// Feedrate (mm/min) for the "accurate" probe of each point
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)

/ Manually set the home position. Leave these undefined for automatic settings.// For DELTA this is the top-center of the Cartesian print volume.//
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS -9//
#define MANUAL_Z_HOME_POS 0


G-code adjustment sent, M206 y-11 M500

• Hi and welcome to SE.3DP. I've made some edits to improve the formatting and readability of your question. The easier it is to read, to more likely someone will be able to help you. Please refer to Useful things to check for when cleaning up posts in case I missed anything. Thanks – Greenonline Jan 17 at 17:04
• Question "How to center my prints on the build platform? (Re-calibrate homing offset)" describes what you should do. Furthermore, setting the Z offset in the firmware offset array is not the most common solution, Z offset can be set later with M851 and the MANUAL_ defines should be commented out, they are not needed. – 0scar Jan 17 at 23:21
• @oscar, thanks for the feedback. Should I reset MANUAL_Y_HOME_POS -9 to 0 then go from there? – Benjamin.cw.nichols Jan 18 at 18:36