TLDR - I’ve just driven myself insane trying to fix what I thought was a physical problem with my Z-axis, but it seems to have been solved by switching from the TH3D firmware to the Creality firmware. I’m hoping someone can help me see where I went wrong here, so I can learn from it. Have I missed something obvious?
My printer is a Creality Ender 3 Pro. I have a BLTouch. I recently upgraded to the silent 4.2.7 board and compiled my own firmware using TH3D Unified 2 using their instructions. This is my
This “worked”, but after that upgrade, I had severe print problems. (See the photos below) These are supposed to be 20x20x20 calibration cubes (the big one is 200%). They are significantly taller than they should be. It may be hard to see in the photo, but this is because the Z spacing on the bottom layers seems to be too high. But, at the same point on each print (even the bigger one), the problem seems to just stop - and layer spacing is correct again for the end of the print.
I tried everything to figure out what this was and I was convinced it was a physical problem with my Z-axis. I read lots of questions on here but nothing quite on topic. I printed on different parts of the bed and got the same result. I re-calibrated my Z steps, but these turned out to be pretty much at the firmware default anyway. I tightened every bolt and eccentric nut I could find that related to the X-axis gantry, but nothing made any difference. Same problem, every time.
Out of desperation, I eventually switched to the official Creality firmware for the Ender 3 Pro 4.2.7 board with BLTouch - and the problem was fixed:
Does anyone have any ideas about what caused this? Have I overlooked something obvious? I’d ideally like to go back to the TH3D firmware but it’s seemingly not an option.
M420 S1 Z0.00, but the TH3D firmware seemingly has a default of
M420 S0 Z10.00. Sending
M420 S1 Z0.00on TH3D crashes the printer, but
M420 Z0is seemingly enough to fix the issue. I have no idea why this is set to
Z10in the TH3D firmware by default... seems like a bad idea to me. If you want to post this as an answer you can get the points for it! $\endgroup$
M420 S1was crashing my printer as I had no stored compensation matrix at that time (I'd just reset the printer). Like most BLTouch users, I have
G29in my startup G-code which will create a matrix and enable it. So, in this case, simply setting
M420 Z0(followed by
M500) fixes my problem entirely, as the fade out seemingly doesn't work well with the BLTouch. I hope that helps someone avoid this! $\endgroup$