BLtouch probing failed Archim2, Taz6

Sorry to spam the board, but I’m really stuck. I’m using Drunken Octopus R53 on a TAZ 6 with BLtouch and Archim2 and Dual v3.1 extruder.

Here is what I can’t wrap my head around:

My Z probe offsets are:
X = 6.5 (centered between the two nozzles)
Y = 33 (behind the nozzles)

the default Z offset is -2.35.

If I use my actual X and Y probe offsets, the printer head crashes (or complains that Z probe is past the bed) because the X axis moves probably starting from the -26.1 start point (Does PROBING_MARGIN = 35 effect this?)

So, I’ve been fudging them and making the X offset = 16, which just barely hits the bed. Now as for the Z offset: the default in the firmware is -2.35. I home the printer with G28, and the print head moves up to 33.35. If I Move the print head down towards the bed at this point, the nozzle hits the bed at about Z = 5. Meaning, I think, that my Z offset it 2.7ish. But I’m pretty sure it’s supposed to be negative.

If I set the Z probe offset to 2.7 everything works as it should. And I can physically measure the end of the stowed BLtouch sensor as about 2.7mm higher than the nozzle. What am I getting backwards?

I ask this in the context of G29 P1 reporting a “probing failed” error and thinking it might be related
…It just repeatedly probes the same bed location for all 25 points.

Please help. I’ve been doing the same procedure for hours.

Here’s a summary of my config settings:

Blockquote
#define ACTION_ON_FILAMENT_RUNOUT “pause: filament_runout”
#define ADAPTIVE_FAN_SLOWING
#define ADVANCED_OK
#define ADVANCED_PAUSE_FEATURE
#define ADVANCED_PAUSE_PURGE_FEEDRATE 1.0
#define ADVANCE_K {0.0}
#define AUTO_BED_LEVELING_UBL
#define BABYSTEPPING
#define BABYSTEP_ALWAYS_AVAILABLE
#define BABYSTEP_HOTEND_Z_OFFSET
#define BABYSTEP_MULTIPLICATOR_Z 10
#define BABYSTEP_XY
#define BABYSTEP_ZPROBE_GFX_OVERLAY
#define BABYSTEP_ZPROBE_OFFSET
#define BACKLASH_COMPENSATION
#define BACKLASH_CORRECTION 0.0
#define BACKLASH_DISTANCE_MM {0, 0, 0}
#define BACKLASH_GCODE
#define BACKLASH_SMOOTHING_MM 3
#define BAUDRATE 250000
#define BED_LEVELING_COMMANDS “G28\nG29 P1 X0 Y0\nG29 S1”
#define BLTOUCH
#define BOOT_MARLIN_LOGO_SMALL
#define BUFSIZE 5
#define CHOPPER_TIMING {3, -2, 6}
#define CLASSIC_JERK
#define CONTROLLERFAN_SPEED_ACTIVE 255
#define CONTROLLERFAN_SPEED_IDLE 120
#define CURA_LE_RUNOUT_HANDLING_WORKAROUND
#define CUSTOM_MACHINE_NAME “TAZ 6”
#define DEFAULT_ACCELERATION 500
#define DEFAULT_AXIS_STEPS_PER_UNIT {100, 100, 1600, 760, 760}
#define DEFAULT_EJERK 10.0
#define DEFAULT_Kd 116.63
#define DEFAULT_Ki 4.83
#define DEFAULT_Kp 47.45
#define DEFAULT_MAX_ACCELERATION {9000, 9000, 100, 9000, 9000}
#define DEFAULT_MAX_FEEDRATE {300, 300, 3, 25, 25}
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
#define DEFAULT_STEPPER_DEACTIVE_TIME 600
#define DEFAULT_TRAVEL_ACCELERATION 500
#define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_bedKd 378
#define DEFAULT_bedKi 17
#define DEFAULT_bedKp 162
#define DISABLE_DUE_SD_MMC
#define DISABLE_INACTIVE_Z true
#define DISTINCT_E_FACTORS
#define DOUBLECLICK_FOR_Z_BABYSTEPPING
#define E0_CURRENT 875
#define E0_DRIVER_TYPE TMC2130
#define E0_RSENSE 0.12
#define E1_CURRENT 875
#define E1_DRIVER_TYPE TMC2130
#define E1_RSENSE 0.12
#define EEPROM_AUTO_INIT
#define EEPROM_SETTINGS
#define EMERGENCY_PARSER
#define ENCODER_PULSES_PER_STEP 2
#define ENCODER_STEPS_PER_MENU_ITEM 1
#define ENDSTOPS_ALWAYS_ON_DEFAULT
#define ENDSTOP_NOISE_THRESHOLD 2
#define EVENT_GCODE_SD_ABORT “G91\nG0 Z15 F600\nG90\nG0 X170 Y290 F3000”
#define EXTRUDERS 2
#define EXTRUDE_MINTEMP 120
#define FAN_KICKSTART_TIME 100
#define FAN_MIN_PWM 70
#define FAN_SOFT_PWM
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 1.0
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 40
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 5
#define FILAMENT_CHANGE_UNLOAD_LENGTH 80
#define FILAMENT_LOAD_UNLOAD_GCODES
#define FILAMENT_RUNOUT_DISTANCE_MM 14
#define FILAMENT_RUNOUT_SENSOR
#define FILAMENT_UNLOAD_PURGE_DELAY 0
#define FILAMENT_UNLOAD_PURGE_LENGTH 0
#define FILAMENT_UNLOAD_PURGE_RETRACT 0
#define FIL_RUNOUT_ENABLED_DEFAULT false
#define G26_IN_START_GCODE_WORKAROUND
#define G26_MESH_VALIDATION
#define GAMES_EASTER_EGG
#define GCODE_MACROS
#define GRID_MAX_POINTS_X 5
#define GRID_MAX_POINTS_Y 5
#define HEATER_0_MAXTEMP 305
#define HEATER_1_MAXTEMP 305
#define HOLD_MULTIPLIER 0.5
#define HOMING_BACKOFF_POST_MM {5, 5, 16}
#define HOMING_FEEDRATE_MM_M {3000, 3000, 180}
#define HOST_ACTION_COMMANDS
#define HOST_PROMPT_SUPPORT
#define HOTEND_OFFSET_X {0.0, 13}
#define HOTEND_OFFSET_Y {0.0, 0}
#define HOTEND_OFFSET_Z {0.0, 0}
//#define HYBRID_THRESHOLD
#define INDIVIDUAL_AXIS_HOMING_MENU
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
#define LCD_INFO_MENU
#define LIN_ADVANCE
#define M997_ARCHIM_BOOTLOADER
#define MACHINE_UUID “845f003c-aebd-4e53-a6b9-7d0984fde609”
#define MANUAL_FEEDRATE {3000, 3000, 240, 60.0}
#define MANUAL_Z_HOME_POS 5.5
#define MARLIN_BRICKOUT
#define MARLIN_INVADERS
#define MARLIN_SNAKE
#define MAX_BED_POWER 206
//#define MENU_HOLLOW_FRAME
#define MESH_INSET 15
#define MINIMUM_STEPPER_PULSE 1
#define MIN_STEPS_PER_SEGMENT 1
#define MONITOR_DRIVER_STATUS
#define MOTHERBOARD BOARD_ARCHIM2
#define NOZZLE_CLEAN_END_POINT {{-26, 25, 1}, {-26, 25, 1}}
#define NOZZLE_CLEAN_FEATURE
#define NOZZLE_CLEAN_START_POINT {{-26, 95, 1}, {-26, 95, 1}}
#define NOZZLE_PARK_FEATURE
#define NOZZLE_PARK_POINT {100, 287.5, 20}
#define NOZZLE_TO_PROBE_OFFSET {0, -22, -2.35}
#define NO_FAN_SLOWING_IN_PID_TUNING
#define NO_VOLUMETRICS
#define NO_WORKSPACE_OFFSETS
#define NUM_RUNOUT_SENSORS 2
#define NUM_SERVOS 1
#define PARK_HEAD_ON_PAUSE
#define PAUSE_PARK_NOZZLE_TIMEOUT 300
#define PAUSE_PARK_RETRACT_FEEDRATE 10
#define PAUSE_REHEAT_FAST_RESUME
#define PIDTEMP
#define PIDTEMPBED
#define PID_AUTOTUNE_MENU
#define PID_EDIT_MENU
#define PREHEAT_1_TEMP_HOTEND 200
#define PREVENT_COLD_EXTRUSION
#define PRINTCOUNTER
//#define PRINTJOB_TIMER_AUTOSTART
#define PROBING_FANS_OFF
#define PROBING_MARGIN 15
#define QUICK_HOME
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define RESTORE_LEVELING_AFTER_G28
#define REVERSE_ENCODER_DIRECTION
#define SCROLL_LONG_FILENAMES
#define SDSUPPORT
#define SD_ABORT_ON_ENDSTOP_HIT
#define SD_FINISHED_STEPPERRELEASE true
#define SD_SPI_SPEED SPI_SIXTEENTH_SPEED
#define SERIAL_PORT -1
#define SERIAL_PORT_2 0
#define SET_PROGRESS_MANUALLY
#define SET_PROGRESS_PERCENT
#define SHOW_CUSTOM_BOOTSCREEN
#define SOFT_PWM_SCALE 4
#define SOURCE_CODE_URL “GitHub - drunken-octopus/drunken-octopus-marlin: An Alternative (Unofficial) Marlin Firmware for AlephObjects Printers
//#define START_PRINT_TIMER_ON_G26
#define STATUS_MESSAGE_SCROLLING
//#define STEALTHCHOP_E
//#define STEALTHCHOP_XY
//#define STEALTHCHOP_Z
//#define STOP_ON_ERROR
#define STRING_CONFIG_H_AUTHOR “(Drunken Octopus Marlin)”
#define SWAP_E0_AND_E1
#define SWAP_EXTRUDER_FANS
#define TEMP_BED_HYSTERESIS 5
#define TEMP_BED_RESIDENCY_TIME 1
#define TEMP_BED_WINDOW 5
#define TEMP_HYSTERESIS 10
#define TEMP_RESIDENCY_TIME 1
#define TEMP_SENSOR_0 5
#define TEMP_SENSOR_1 5
#define TEMP_SENSOR_BED 7
#define TEMP_WINDOW 10
#define THERMAL_PROTECTION_BED_HYSTERESIS 10
#define THERMAL_PROTECTION_BED_PERIOD 15
#define THERMAL_PROTECTION_HYSTERESIS 30
#define THERMAL_PROTECTION_PERIOD 15
//#define THERMAL_PROTECTION_VARIANCE_MONITOR
#define TMC_ADV {stepperX.shaft(0);stepperX.semin(1);stepperX.semax(3);stepperY.shaft(0);stepperY.semin(1);stepperY.semax(3);stepperZ.shaft(0);stepperZ.semin(1);stepperZ.semax(3);stepperE0.shaft(0);stepperE0.semin(1);stepperE0.semax(3);stepperE1.shaft(0);stepperE1.semin(1);stepperE1.semax(3);}
#define TMC_DEBUG
#define TMC_USE_SW_SPI
#define TOOLCHANGE_ZRAISE 2
#define TOOLHEAD_NAME “Dual Extruder 3”
#define TOOLHEAD_TYPE “DualExtruder v3”
//#define TOUCH_UI_FILAMENT_RUNOUT_WORKAROUNDS
#define TURBO_BACK_MENU_ITEM
#define TX_BUFFER_SIZE 32
#define UBL_HILBERT_CURVE
#define USB_DEVICE_PRODUCT_ID 0x0001
#define USB_DEVICE_PRODUCT_NAME "TAZ 6 "
#define USB_DEVICE_VENDOR_ID 0x27b1
//#define USB_FLASH_DRIVE_SUPPORT
#define USE_CONTROLLER_FAN
#define USE_SMALL_INFOFONT
#define USE_XMAX_PLUG
#define USE_XMIN_PLUG
#define USE_YMAX_PLUG
#define USE_YMIN_PLUG
#define USE_ZMAX_PLUG
#define USE_ZMIN_PLUG
#define VALIDATE_HOMING_ENDSTOPS
#define WATCH_TEMP_INCREASE 10
#define WATCH_TEMP_PERIOD 40
#define WIPE_SEQUENCE_COMMANDS “M117 Hot end heating…\nM104 S170 T0\nM104 S170 T1\nG28 O1\nM117 Wiping nozzle\nT0\nG1 X-26 Y25 Z10 F4000\nM109 R170 T0\nM109 R170 T1\nG1 Z1\nM114\nG1 X-26 Y25\nG1 X-26 Y95\nG1 X-26 Y25\nG1 X-26 Y95\nG1 X-26 Y25\nG1 X-26 Y95\nG1 X-26 Y25\nG1 X-26 Y95\nG1 X-26 Y25\nG1 X-26 Y95\nG1 X-26 Y25\nG1 X-26 Y95\nG1 Z15\nM400\nM106 S255\nM109 R160 T0\nM109 R160 T1\nM107”
//#define XYZ_HOLLOW_FRAME
#define XY_PROBE_FEEDRATE 18000
#define X_BED_SIZE 280.5
#define X_CURRENT 975
#define X_DRIVER_TYPE TMC2130
#define X_HOME_DIR -1
#define X_MAX_ENDSTOP_INVERTING 0
#define X_MAX_POS 280.5
#define X_MIN_ENDSTOP_INVERTING 0
#define X_MIN_POS -26.1
#define X_RSENSE 0.12
#define Y_BED_SIZE 281.4
#define Y_CURRENT 975
#define Y_DRIVER_TYPE TMC2130
#define Y_HOME_DIR 1
#define Y_MAX_ENDSTOP_INVERTING 0
#define Y_MAX_POS 297.5
#define Y_MIN_ENDSTOP_INVERTING 0
#define Y_MIN_POS -27.1
#define Y_RSENSE 0.12
#define Z_CLEARANCE_BETWEEN_PROBES 5
#define Z_CLEARANCE_DEPLOY_PROBE 15
#define Z_CURRENT 975
#define Z_DRIVER_TYPE TMC2130
#define Z_HOME_DIR -1
#define Z_HOMING_HEIGHT 10
#define Z_MAX_ENDSTOP_INVERTING 0
#define Z_MAX_POS 270
#define Z_MICROSTEPS 16
#define Z_MIN_ENDSTOP_INVERTING 0
#define Z_MIN_POS 0
#define Z_MIN_PROBE_ENDSTOP_INVERTING 0
#define Z_MIN_PROBE_REPEATABILITY_TEST
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define Z_PROBE_FEEDRATE_SLOW 300
#define Z_RSENSE 0.12
#define Z_SAFE_HOMING
#define Z_SAFE_HOMING_X_POINT -26
#define Z_SAFE_HOMING_Y_POINT 258
#define Z_SERVO_ANGLES {10, 90}

I think you’re going to have a lot more help on a dedicated Marlin board. I’ve toyed with a BTT Octopus board, but with my Rambo still holding on, I haven’t swapped boards to test anything I’ve done. There’s a decent SKR 1.4 w/BLtouch build on github that might be helpful.