# Nozzle misses wiper pad and gcode adjustment not applied

**URL:** <https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908>\
**Category:** LulzBot TAZ\
**Created:** [August 24, 2024, 6:09pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908 "2024-08-24T18:09:05Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 24, 2024, 6:09pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/1 "2024-08-24T18:09:05Z")

</div>

Since I first got my Workhorse printer the nozzle never touched the wiper pad and I had to adjust the position myself in the gcode by adjusting the wipe positions. Now with Cura LE 4.13.10 I see that G12 is used to wipe. The gcode has the following:

```auto
; 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}

```

I replaced X0 with X-3 (which should make the alignment perfect) but it makes no difference on the printer and the nozzle still misses. I checked the .gcode file that was saved and it does indeed contain the changed line.

I’ve updated the printer firmware. Not that it matters (the issue is the same between toolheads) but I just replaced the toolhead with the Meteor 285.

What gives?

---

<div class="post-metadata">

**Author:** ![zenotek](https://avatars.discourse-cdn.com/v4/letter/z/ad7895/32.png) [@zenotek](https://forum.lulzbot.com/u/zenotek)\
**Post date:** [August 24, 2024, 7:34pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/2 "2024-08-24T19:34:49Z")

</div>

I recommend the usage of discrete gcode to do the wipe. You can pull out the G12 commands from the firmware:

#elif ENABLED(Workhorse)  
#define WIPE\_SEQUENCE\_COMMANDS “G28O\nM117 Wiping nozzle\nT0\nG1 X-17 Y25 Z10 F4000\nG1 Z1\nM114\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 Z15\nM400\nM117 Wipe Complete”

Take those commands, replace the G12 with these commands, and adjust the x position there from -17 to -20.

---

<div class="post-metadata">

**Author:** ![zenotek](https://avatars.discourse-cdn.com/v4/letter/z/ad7895/32.png) [@zenotek](https://forum.lulzbot.com/u/zenotek)\
**Post date:** [August 24, 2024, 10:41pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/3 "2024-08-24T22:41:35Z")

</div>

I will add that barring any issues with homing the x axis, it would seem the printer’s bed has moved from the factory position. They use jigs to position the four bed mounting points precisely so it’s a little strange this would need to be done.

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 25, 2024, 1:26pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/4 "2024-08-25T13:26:21Z")

</div>

Thanks, I will try the suggestion to go back to manual wiping coords.

The printer has always been like this from day one, and it’s an early Workhorse. I have been slowly reading through the [factory assembly and calibration guide](https://ohai.lulzbot.com/project/calibration-taz-workhorse/taz-workhorse/) to see what adjustments possibly need to be made, although I would expect this just to be down to the positioning of the X axis limit switch (which does not appear to have 3mm of movement available).

Edit: I should also say that I understand you said the bed was positioned in the factory using a jig to adjust the four mounting points. The odd thing is that there’s no sign that these moved, so I initially suspected that the limit switch would have moved instead - nope.

---

<div class="post-metadata">

**Author:** ![ducky](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/ducky/32/10458_2.png) [@ducky](https://forum.lulzbot.com/u/ducky)\
**Post date:** [August 25, 2024, 2:15pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/5 "2024-08-25T14:15:27Z")

</div>

I was having that issue recently and it turned out that I had tpu wrapped around my drive gear on the Y axis. I cleaned it off and that fixed it. Just something you might check.

---

<div class="post-metadata">

**Author:** ![zenotek](https://avatars.discourse-cdn.com/v4/letter/z/ad7895/32.png) [@zenotek](https://forum.lulzbot.com/u/zenotek)\
**Post date:** [August 25, 2024, 3:33pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/6 "2024-08-25T15:33:53Z")

</div>

Print this out:

> <https://gitlab.com/lulzbot3d/printers/redgum/-/blob/master/production_parts/tooling/y-axis_spacers/161mm_y_spacer.stl?ref_type=heads>

The Workhorse OHAI is missing this step, but it’s the same as the Taz Pro. Wedge the jig here on both sides and confirm it’s snug with no play. If you have play or it doesn’t fit they assembled it wrong, used the wrong jig, or it moved. When I say both sides, I mean the front left and back left positions. The rightmost mounts are not positioned in this way as they use the other positions to get them in alignment.

![](https://us1.discourse-cdn.com/flex020/uploads/lulzbot/original/2X/8/86a4870b5f32a18ef17c9a8425cad34187269032.jpeg)

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 25, 2024, 9:57pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/7 "2024-08-25T21:57:20Z")

</div>

Interesting! I printed this and measured that it is spot-on at 161mm in length. It fits perfectly in the gap at the front and back, no wiggle at all.

---

<div class="post-metadata">

**Author:** ![zenotek](https://avatars.discourse-cdn.com/v4/letter/z/ad7895/32.png) [@zenotek](https://forum.lulzbot.com/u/zenotek)\
**Post date:** [August 25, 2024, 10:54pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/8 "2024-08-25T22:54:10Z")

</div>

So, you flashed the Meteor firmware for the Workhorse, and it’s still off?

Then the homing could be off, I’m out of ideas honestly.

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 26, 2024, 3:00pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/9 "2024-08-26T15:00:03Z")

</div>

Yes, that’s correct (latest Cura LE, latest machine firmware). The wiper pad is missed by 3mm in the x axis with both toolheads. I am now wondering if there was a change to one of the parts in the machine that would account for this difference, possibly in the limit switch mounting area. I will take a look at the production parts to see if I can find any differences.

It’s now wiping correctly by re-applying manual changes to the gcode. Annoyingly, I’ve just noticed that one of the bed-levelling washers is being probed in just the wrong place right now - the nozzle slightly descends into the hole in the hex screw!

---

<div class="post-metadata">

**Author:** ![zenotek](https://avatars.discourse-cdn.com/v4/letter/z/ad7895/32.png) [@zenotek](https://forum.lulzbot.com/u/zenotek)\
**Post date:** [August 26, 2024, 3:28pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/10 "2024-08-26T15:28:06Z")

</div>

You might still have the M206 in your start code. Set it back to 0,0,0.

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 28, 2024, 1:55am UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/11 "2024-08-28T01:55:27Z")

</div>

Well, this is odd. After much playing around with the console, I have determined that M206 does not apply offsets to coordinates unless directly followed by G28 (auto home). So executing G12 (wipe nozzle) after M206 X3 and G28 works (it shifts the nozzle left 3mm).

Take a look at the following:

```auto
G28 # auto home
M114 # report position
X:-48.00 Y:-15.00 Z:295.00 E:0.00 Count X:-4800 Y:-1500 Z:147500
M206 # report home offset
  M206 X0.00 Y0.00 Z0.00

```

So home position is X=-48 and zero offset.

```auto
G0 X0 # move to X=0
M114 # report position
X:0.00 Y:-15.00 Z:295.00 E:0.00 Count X:0 Y:-1500 Z:147500

```

Head moves right 48mm to X=0.

```auto
M206 X-10 # set home offset to X-10
M206 # report home offset
  M206 X-10.00 Y0.00 Z0.00
M114 # report position
X:0.00 Y:-15.00 Z:295.00 E:0.00 Count X:0 Y:-1500 Z:147500

```

Home offset is now X-10, nozzle does not move (as expected).

```auto
G0 X0 # move to new X0
M114
X:0.00 Y:-15.00 Z:295.00 E:0.00 Count X:0 Y:-1500 Z:147500

```

Unexpected: head does not move. Offset is not applied.

```auto
G28 # auto home
M206 # report home offset
  M206 X-10.00 Y0.00 Z0.00
M114 # report position
X:-58.00 Y:-15.00 Z:295.00 E:0.00 Count X:-5800 Y:-1500 Z:147500

```

Now the offset is applied following an auto-home!

Firmware bug?

---

<div class="post-metadata">

**Author:** ![zenotek](https://avatars.discourse-cdn.com/v4/letter/z/ad7895/32.png) [@zenotek](https://forum.lulzbot.com/u/zenotek)\
**Post date:** [August 28, 2024, 3:30am UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/12 "2024-08-28T03:30:40Z")

</div>

I reread the Marlin definition for M206 and that makes total sense that it doesn’t do anything until you rehome since what that changes is the homing position. I honestly didn’t know this either and good on you figuring that out. I guess it’s just obvious so the documentation just doesn’t mention that G28 would be needed for it to take effect.

I haven’t used Marlin on any of my Lulzbots in a long time so I’m not sure if they fixed the start gcode to put the commented out M206 command before or after the G28.

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 28, 2024, 12:28pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/13 "2024-08-28T12:28:25Z")

</div>

Yeah, the Marlin definition could certainly be clearer, although I’ve seen otherLulzbot printers use the new home location immediately rather than wait for rehoming (there was a thread somewhere on this forum showing a dump from the console). Edit: [found it](https://forum.lulzbot.com/t/centering-bed-for-calibration/21683/22).

In the end I did M206 X3 and then M500 to store the new position (I checked, and previously it had X=0). This also centres my print correctly for the first time. It’s like my printer geometry is off a little.

---

<div class="post-metadata">

**Author:** ![Wrathernaut](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/wrathernaut/32/13542_2.png) [@Wrathernaut](https://forum.lulzbot.com/u/Wrathernaut)\
**Post date:** [August 28, 2024, 2:32pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/14 "2024-08-28T14:32:05Z")

</div>

M206 is working as intended, it’s adjusting the home offset, so that if you re-home it will adjust accordingly.

If you want to adjust “current” position correction instantaneously, you would use [G92](https://marlinfw.org/docs/gcode/G092.html).

```auto
G28 ; home
G0 X0Y0
G92 X-10
G0 X0Y0 ; nozzle moves 10mm to the right

```

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [August 28, 2024, 3:11pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/15 "2024-08-28T15:11:14Z")

</div>

Thanks for the further explanation - I think that makes sense, but then that means the default start gcode in Cura LE is incorrect - the instructions to move the wipe location omit that a rehome is needed after setting the home offset. The console output I linked to in my previous post from a Taz 6 is also showing different behaviour (does not require a rehome).

---

<div class="post-metadata">

**Author:** ![Wrathernaut](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/wrathernaut/32/13542_2.png) [@Wrathernaut](https://forum.lulzbot.com/u/Wrathernaut)\
**Post date:** [August 28, 2024, 4:29pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/16 "2024-08-28T16:29:52Z")

</div>

> [@ksattic](#):
>
> start gcode in Cura LE is incorrect

I’m shocked.

Not that shocked, actually. Since the workhorse is still a supported model, a bug report would probably help them put the M206 on the correct side of the G28.

---

<div class="post-metadata">

**Author:** ![hatchet](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/hatchet/32/13550_2.png) [@hatchet](https://forum.lulzbot.com/u/hatchet)\
**Post date:** [September 8, 2024, 3:51pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/17 "2024-09-08T15:51:04Z")

</div>

I had a similar problem i just adjusted my steps/mm and it fixed it all.

---

<div class="post-metadata">

**Author:** ![Bmarsh](https://avatars.discourse-cdn.com/v4/letter/b/f07891/32.png) [@Bmarsh](https://forum.lulzbot.com/u/Bmarsh)\
**Post date:** [December 7, 2024, 8:15pm UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/18 "2024-12-07T20:15:25Z")

</div>

Do you have correct gcode? I’m struggling to get this very same issue resolved.

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [December 10, 2024, 1:00am UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/19 "2024-12-10T01:00:33Z")

</div>

Yes, find the following line in your start gcode:

`M206 X0 Y0 Z{machine_nozzle_z_offset}`

And replace with:

`M206 X3 Y0 Z{machine_nozzle_z_offset}`

Let me know if that helps!

---

<div class="post-metadata">

**Author:** ![ksattic](https://avatars.discourse-cdn.com/v4/letter/k/7feea3/32.png) [@ksattic](https://forum.lulzbot.com/u/ksattic)\
**Post date:** [December 10, 2024, 1:02am UTC](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908/20 "2024-12-10T01:02:13Z")

</div>

> [@hatchet](#):
>
> I had a similar problem i just adjusted my steps/mm and it fixed it all.

Thanks, I appreciate the idea. However, I tried printing some calibration pieces and measuring them. The sizes were perfect so I don’t think that adjusting steps/mm is the right solution for my problem.

[Next page](https://forum.lulzbot.com/t/nozzle-misses-wiper-pad-and-gcode-adjustment-not-applied/26908.md?page=2)
