XT backlash calibration wipe off side?

I just updated the firmware so I could finish a print or two for my YouTube video.

This machine has the BL Touch and it’s the firmware for that.

The Backlash calibration is a bit wonky with the wipe off the ride side of the pad. Any idea why?

Backlash calibration issue

What firmware version? Also, do you have M206 in your start gcode with anything other than 0,0,0? What direction is it homing y? To the front or the back? It looks like it’s not homing x and y properly, maybe too sensitive stallguard setting or something is blocking the path.

How does the z homing look like? Due to the large distance between z max and z min if the z homing doesn’t look clean it could be mistaken where the bed is. Your video looks like it’s not quite close enough to the pad.

I changed my XT to home z at z min using the bl touch but that introduced another set of issues so I am not sure it was the best solution.

This is the version

I’m just using the defaults in Cura LE so far, just to see how the upgrades have gone since I last tried.

Like I said, that’s just doing the Backlash Compensation (Measure Automatically in the Advanced Options on the LCD).

I just ran the Bed Leveling - Bed Mesh option and it’s a disappointing 3x3 grid. I thought they had upped it to 5x5 previously?

No they changed it back to 3x3. The comments in the code say to “speed up leveling.”

Still having issues with the wipe? Read on.

When you do the automated calibration, it’s just running a series of stored commands:

#define LULZBOT_CALIBRATION_SCRIPT “M117 Starting Auto-Calibration\nM104 S170 T0\nM104 S170 T1\nT0\nM218 T1 X44 Y0 Z0\nG28\nM109 R170 T0\nG12\nT1\nM109 R170 T1\nG12\nM117 Calibrating…\nG425\nM500\nM117 Calibration data saved”

If you home the printer and just do a G12, does it behave the same way? Was it finding the pad just fine prior to the firmware update?

In order to rule out your bed being misaligned/assembled wrong like mine was, home the printer and validate these points line up to the pad.

#elif ANY(TAZPro, TAZProXT) && ANY(TOOLHEAD_Legacy_Universal, TOOLHEAD_Galaxy_Series)
#define NOZZLE_CLEAN_START_POINT { 300, 95, 0.5 }
#define NOZZLE_CLEAN_END_POINT { 300, 25, 0.5 }

Go to 300,95 and 300,25 and see if that’s the boundaries of the pad.

If it’s wildly off, you’ll need to print off some jigs and reorient the bed.

“Speed up leveling” is a pretty moronic reason to skip a more thorough mesh. I mean, really?

I just loaded up some Polymaker PolyMax and setup a test cube to print.

The first “got ya” was stopping after layer one since the run out sensor was enabled. Since I am using the M175 v2 tool head, I was under the impression those runout sensors won’t work for 1.75mm filament. Is that still valid? My workaround - disable filament runout sensor for now.

Here’s the default Start gcode

;This G-Code has been generated specifically for the {machine_name}
;Nozzle diameter = {machine_nozzle_size}mm
;Filament name = {material_brand} {material_name}
;Filament type = {material_type} {material_diameter}
;Filament weight = {filament_weight}
;Extruder temp = M109 S{material_print_temperature}
;Bed temp = M190 S{material_bed_temperature}
;The following lines can be uncommented for printer specific fine tuning
;More information can be found at Gcode | Marlin Firmware
;M92 E420 ;Set Axis Steps-per-unit
;M301 P21.0 I1.78 D61.93 ;Set Hotend PID
;M906 E960 ;TMC Motor Current
G4 S1 ; delay for 1 seconds to display file name
M104 S{material_soften_temperature} ; start soften filament before retraction
M140 S{material_bed_temperature_layer_0} ; start bed heating up
M117 Homing Axes… Please Wait.; ; progress indicator message on LCD
G28O ; home all axes
M73 P0 ; clear LCD progress bar
M75 ; Start LCD Print Timer
M107 ; disable fans
M420 S0 ; disable leveling matrix
M900 K{linear_advance} ; set linear advance
G90 ; absolute positioning
M82 ; set extruder to absolute mode
G92 E0 ; set extruder position to 0
G0 X145 Y187 Z156 F3000 ; move away from endstops
M117 Heating Nozzle…; ; progress indicator message on LCD
M109 S{material_soften_temperature} ; soften filament before retraction
M117 Retracting Filament…; ; progress indicator message on LCD
G1 E-7 F75 ; retract filament
G92 E-12 ; set extruder position to -12 to account for 5mm retract at end of previous print
M109 R{material_wipe_temperature} ; wait for extruder to reach wiping temp
M104 S{material_probe_temperature} ; start cooling to probe temp during wipe
M106 S255 ; turn fan on to help drop temp
; Use M206 below to adjust nozzle wipe position (Replace “{machine_nozz1e_z_offset}” to adjust Z value)
; X ~ (+)left/(-)right, Y ~ (+)front/(-)back, Z ~ (+)down/(-)up
M206 X0 Y0 Z{machine_nozzle_z_offset} ; restoring offsets and adjusting offset if AST285 is enabled
M117 Wiping Nozzle…; ; progress indicator message on LCD
G12 ; wiping sequence
M206 X0 Y0 Z0 ; reseting stock nozzle position ### CAUTION: changing this line can affect print quality ###
M107 ; turn off part cooling fan
M104 S{material_probe_temperature} ; set probe temp
M117 Leveling Print Bed…; ; Progress indicator message on LCD
M204 S300 ; set probing acceleration
G29 ; start auto-leveling sequence
M104 S{material_print_temperature_layer_0} ; start extruder to reach initial printing temp
M420 S1 ; enable leveling matrix
M204 S2000 ; restore standard acceleration
G1 X5 Y15 Z10 F8000 ; move up off last probe point
G4 S1 ; pause
M400 ; wait for moves to finish
M117 Final Heating… Please Wait.; ; progress indicator message on LCD
M109 S{material_bed_temperature_layer_0} ; wait for bed heating up
M109 R{material_print_temperature_layer_0} ; wait for extruder to reach initial printing temp
G1 Z2 E0 F75 ; prime tiny bit of filament into the nozzle
M300 T ; play sound at start of first layer
M117 {print_job_name}; ; progress indicator message on LCD
;Start G-Code End

I imagine there are a few things that should be plucked away for use with the BL Touch.

I have no idea why the wipe doesn’t work. This started to fail once the BL Touch went in. I find the wipe to be enormously useless. Just a dangerous thing that could really damage the print head, in my view.

I’ve spotted a few things in the default settings for the M175 tool head I find curious.

  1. Slice suggests the retraction distance should be the same as the nozzle diameter. Lulzbot has it set to 1.75mm. and I have a 0.8mm nozzle in there, so I set that to 0.8.

  2. Bondtech suggests a retraction speed of 35mm/sec for their retraction speed. I’m being a bit nitpicky here but I changed it from 25mm/s to 35mm/s.

I’ve got a test print going…a bit more tweaking.

You have the change the run out distance to something higher in the filament runout sensor settings. The default is too sensitive/short. Double it whatever the number is. As far as it caring about filament width? It works fine for me regardless of filament.

Also, check the nozzle to probe offset value. The firmware has it wildly wrong. It should be:

M851 X-38 Y-2

Lulzbot has it as:

M851 X-38 Y-20

This will significantly improve your mesh.

Why isn’t all of this documented somewhere for XT customers to easily find?

I’m trying to just run the machine as a default user would. I’m trying to avoid doing these advanced actions you’re kindly suggesting. Where are you finding these “correct” values? Can you provide links?

I mean most people are just going to run the default Cura LE profile for the machine, adjust for different filament types and hit Print.

So from that perspective, I’m a bit stumped why this thing is wiping so badly, has a lousy mesh and some other issues.

Looking at the probe and hot end (M175 v2), I took the calipers out

-38 X looks spot on. Y-2 looks correct, they must have made a typo there…I mean, they are almost side by side.

Mine is M851 X-38.00 Y-2.00 Z-2.43 ;

Like you, my problems started when I installed the BL Touch. I was expecting magic to happen, perfect meshes, perfect prints. But early on, Lulzbot used LINEAR bed leveling even with the BL Touch and that got me to taking a look at the firmware more closely. To use linear leveling with a probe is just ludricrous, but this had a lot to do with them shoe-horning the BL touch onto their older firmware.

Now that they are using the latest bugfix builds of Marlin for the Taz Pro platform, they switched it to bilinear leveling. But the last dozen or so builds they have been playing around with all kinds of settings that are making the printer worse. This is further obfuscated by the fact that they moved to GitHub for their Marlin commits.

I am THIIIIIIIS close to ditching Marlin on my 6 Taz Pros of various styles. I have a BTT Pad7 on standby for this purpose, once I exhaust every possible effort to make Marlin work. Some combination of Marlin and the Igus bearings and what have you is making what objectively should be a printer that prints well to something that prints rather poorly.

I have a test bed Taz Pro I am completely converting to hardened steel rods and real linear bearings. The frustration people have with these printers is palpable - I got this printer for $350 by someone rage-selling it on eBay. He gave up and coudn’t take it anymore. And @Wrathernaut picked up one for $200 - which sucks because I tried communicating with the very same eBay seller to see if I could mail him a box and he ghosted me. Not @Wrathernaut, that dude is cool. The eBay seller.

The marketing wank for theTaz Pro paints a very diferent picture. And honestly, there is nothing really mechanically wrong with it design-wise to explain the issues. So it’s probably firmware related, in my opinion. Marlin might be too bloated for the board to handle, might have too many bugs, who knows.

As of the current version, there is still the M420 Z bug to deal with that Lulzbot has worked around by changing the fade height to 0 for printers using the BL Touch. Not sure when they changed it, but that could potentially be yet another issue your printer is suffering from. Add M420 Z0 to your start gcode.

Is that because you changed it? Because the very latest firmware still has it as such:

#define NOZZLE_TO_PROBE_OFFSET { -38, -20, -3.2 }

I’m sorry - Yes, based on your feedback i changed it

What’s your Start Gcode for your XT? Can you paste that?

I’d like to try it

It would be useless to you as I have changed the firmware quite a bit (UBL instead of Bilinear, z homing to the bed instead of top of gantry). I also use PrusaSlicer.

I have a 1.8mm CHT strapped onto a standard SE toolhead for… reasons.

; Taz Pro XT with SE toolhead 1.80mm nozzle
M92 E420 ;Set Axis Steps-per-unit
M301 P21.33 I1.80 D63.12 ; hot end pid
M304 P85.81 I16.76 D292.90 ; bed pid
M851 X-38 Y-2 Z-2.05 ; nozzle to probe offset
M900 K0.03
M569 S1 X Y ; stealthchop on x and y to stop the ridiculous stepper resonance

M221 S100
M425 F0 ; backlash code in Marlin simply does not work, turn that off

M73 P0 ; clear LCD progress bar
M75 ; Start LCD Print Timer
G26 ; clear potential ‘probe fail’ condition
M107 ; disable fans
M420 S0 ; disable leveling matrix
G90 ; absolute positioning
M82 ; set extruder to absolute mode
G92 E0 ; set extruder position to 0
M190 R{first_layer_bed_temperature[0]} ; wait for bed bed heat
M109 R{first_layer_temperature[0]-50} ; wait for hot end to reach softening temp

G28 ; home all axes

; ubl
;this should be the correct order
G29 L0 ; Load Mesh stored in Slot 0
G29 F0 ; Set fade height
G29 J3 ; Check bed tilt at 9 points and adjust mesh accordingly
G29 A ; enable leveling

G4 S1 ; pause
M400 ; wait for moves to finish

M117 Heating… ; progress indicator message on LCD
G90 ; set absolute coordinates

M109 R{first_layer_temperature[0]} ; hot end temp wait

; purge lines
G1 X1 Y1 Z5 F3000
G1 E10 F60
G1 Y30 Z0.9 F240
G92 E0
G1 Y175 E40 F700 ; prime the nozzle
G1 X3.5 F5000
G92 E0
G1 Y1 E50 F700 ; prime the nozzle
G92 E0
G1 E-3 F300
G1 X9 Z0 F2000
G1 X15 F3000

M117 {input_filename}

Ah, okay. Well kudos to you for hacking it to work for your needs.

The disappointing thing is for those not so savvy, getting this machine to print to it’s maximum is a challenge.

I don’t understand why the Mesh isn’t 5x5 and why it keeps wiping badly.

I mean, people buy these brand machines for ease of use and their ruggedness. To spend hours and hours trying to find answers on a support forum isn’t great.

I mean, you can print off these two parts:

And validate they even assembled yours correctly:

And following steps 20 and 21 here:

Mine was pretty far off.

Okay so a customer needs to be aware of questionable firmware, not cutting edge slicer and now hardware that may not meet QC specs? Yikes.

Here is the build quality I received, for a printer costing me 6000 dollars.

Cracked x motor mount.

Questionable printed parts:

And stripped overtorqued screws.

It might be something with their build of Marlin. The pro at work that I use has a build of marlin I did from scratch, referencing the Lulzbot build as I went through the configuration for reference values, but never copied things outright. That machine has been solid AF with the dual hemera extruder and a microswitch for bed leveling. I only have issues when I swap nozzles on the Revo and have to re-adjust the z offsets.

I’m with you on thinking of klipperizing all the machines though. If only because then I don’t have to worry about old gcode startups not matching any changes to the machines.

How did you get the touch ui to work? Did you copy all of the eve touch ui code too?