Ender 3 4.2.7 BL Touch probe limits missing

Using the firmware builder to make firmware for my printer, and it works until I do bed leveling. Print head goes to 0,0,0 and the drops the probe … off to the left of the bed. This causes the extruder to crash into the bed and the leveling to fail because the probe never encounters a bed. Z-probe boundary limits appears to be the fix, but the firmware builder has no option for editing and whatever templates are used for pulling defaults don’t seem to be taking the standard CRTouch placement into account.

It sounds like you need to set the Probe Offsets

It’s best to put these in your start G-Code - or set them via G-Code and save them to the EEPROM with M500 or via the screen.

Yeah, I’m starting to get the idea that the issue is in the nozzle-to-probe value. I tried tweaking the probe margin in the firmware builder and it failed compiling.

Just trying to figure out why this is an issue in the first place. I’m using the Ender 3 + v4.2.7 Mainboard machine details, which for any CR/BLTouch system will have similar nozzle-to-probe shenanigans (I’ve only ever seen the probe put in one place with a stock type hotend).

Just feels like there should be a way to do this without requiring use of an OctoPrint or something similar

You can set it in your Start G-Code from your slicer, or you can input it via the screen.

Menu is at:

Configuration -> Advanced Settings -> Probe Offsets

That should allow you to do it manually if you wish.

Today was really busy and I just got the chance to try this now. My probe offsets are now <50,10,-.9>, but when I try to run a G29 command it’s still going all the way to 0,0 to try to probe the first point, crashing the head (thankfully I was smart enough this time to put an old sheet on so I’m not further wrecking my good bed sheet)

I don’t see anything in my start G Code that would be interfering with this, but maybe you can help see what I screwed up?

; Ender 3 Custom Start G-code
M117 Heating Bed
M140 S{first_layer_bed_temperature[0]} ; Set Heat Bed temperature
M117 Preheat e to 160 and Autohome
M104 S160; start warming extruder to 160
G28 ; Home all axes
;M117 Load Bed Mesh
;G4 P1500 ; Dwell for 1 & 1/2 second
;M420 L0 S1 ; Loading the bed mesh
M117 Auto bed-level GO!
G29 ; Auto bed-level (BL-Touch)
G92 E0 ; Reset Extruder
G1 X0.1 Y.1 Z3.0 F5000.0 ; move to off the edge
M117 Heat E to temp
M104 S{first_layer_temperature[0]} ; Set Extruder temperature
G1 X0.1 Y20 Z3.0 F5000.0 ; move to start-line position
M190 S{first_layer_bed_temperature[0]} ; Wait for Heat Bed temperature
M109 S{first_layer_temperature[0]} ; Wait for Extruder temperature
G1 Z3.0 F3000 ; move z up little to prevent scratching of surface
G1 Z0.3 F3000 ; move z back down a bit
M117 Draw Line
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; draw 2nd line
G92 E0 ; reset extruder
G1 Z2.0 F3000 ; move z up little to prevent scratching of surface
M117 Begin Print
; End of custom start GCode

Waaaaaaait a minute. I think I figured out my problem here. I was rereading the documentation on M851 and realized I didn’t negate the values. -50 is what I wanted for X, or at least it’s a starting point. It appears to be meshing right, getting ready to run first test now.

EDIT: Yep! I wish I could edit my OP now, but for future me or anyone else with this issue, if the probe is to the LEFT of the nozzle, like BL/CR Touch usually is, X offset has to be NEGATIVE. Menu settings or Gcode doesn’t matter.

Yep - that’d be it!

Glad you solved it :slight_smile:

1 Like

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