When an upgrade isn’t.
You’re having fun, printing job after job like a boss when all of a sudden, you hear a clack-clack-clack from your printer across the room…
If you haven’t been there, if you stay in this hobby long enough you will.
But this is a crossroads for many operators, many will triumph, others will struggle.
It is all too tempting to take a failure as an opportunity to “hop up” your printer, to upgrade it, and very many businesses exist and are quite successful offering augmentations, one of them is the BL-Touch.
We here at LA 3D Printer Repair are not fond of the BL-Touch, we’ll be happy to install it on request, but it’s not something we’ll ever suggest when there are better alternatives.
The BL-Touch is the perfect example of the typical 3D Printer upgrade on the market:
Non-trivial to integrate onto your printer
Expensive (compared to alternatives)
Fragile (compared to alternatives)
Unique failure modes (your printer can now break in several NEW ways!)
Not “universal” (you need a specific integration bracket for each make/model)
Not an infective product, or it wouldn’t exist at all, but nobody discusses the alternatives. All you typically see is post-purchase justification, pride in surmounting a difficult obstacle, and I absolutely understand that.
Let’s back up a minute, why add a BL-Touch in the first place?
The BL-Touch is what’s known as a “z-probe”, to enable what’s called “automatic bed leveling” via firmware support for physically mapping variances in the height of the build surface and then providing compensation for that offset by adjusting the height of the nozzle very slightly, this allows a slightly uneven bed to achieve optimal adhesion at the expensive of minor mechanical inaccuracy, or, to compensate for a very slight “tilt”.
Neat!
But it’s not as straightforward as it sounds: once you’ve bought/received the unit you need to actually mount it, meaning except for specific printers where you receive a bent metal bracket, you need a working printer to get it attached.
Issue #1: springs are included to provide a “safety net” for bed strikes but this also compromises the structural rigidity and thus the accuracy, so nobody does it.
Now that you’ve got it mounted, you need to “wire it up”.
Issue #2: the supplied harness rarely has the correct plug for your printer, so you stuff it in hoping for the best, or you buy more tools/parts to do the crimps properly.
Issue #3: if you don’t have a printer with proper documentation, or an “upgraded” mainboard, you may have to “find your own way” and spend time consulting high-level documentation on the components intended for developers, not end-users.
Now that you’ve got it wired up, you need to actually make it talk to the printer, meaning flash firmware…
Wait what? I didn’t realize I needed to flash firmware?
This is outrageously common, we regularly have operators that buy this thing with no notion of how it actually gets “installed”.
Issue #4: flashing firmware can be risky, even when you’re doing it by the book.
Issue #5: locating the correct firmware for your specific make/model may be easy, but if it’s been modified there may be additional work to configure defaults to match your equipment. (more tuning, and more tutorials)
Issue #6: ideally you would compile/flash your own firmware with the specific features for your printer, instead you typically will find some community volunteer maintained firmware.
Once it’s been mounted, wired, configured in the firmware, and I’ve flashed my printer to “listen” for the BL-Touch, now I can print, right?
Nope, now you need to adjust your slicer to emit the G29 (or M420 S1 for UBL) command required to tell the firmware to perform a probe cycle (or load a stored bed mesh).
That means you need to re-slice any existing gcode, without the probing cycle (assuming no other changes), the printer wont know “where” the bed is.
So now I’ve got my slicer setup, I can print right?
Nope, you need to actually calibrate the thing, which isn’t that bad, if you’ve gotten this far it’s a walk in the park, but it does require a re-acquaintance with the fundamentals of the printer’s operation when it comes to the bed level…
Allow me to explain:
On a bone-stock vanilla generic “3D Printer” of todays ilk, you’re going to have endstops to detect the “end” of each axis for X (left right) Y (front back) and Z (up down), those endstops are (nearly always) little switches, just like the one in your mouse buttons.
When the printer “homes”, it registers that switch to know where “zero” is, for each direction of travel in 3 dimensions…
If you’re familiar with “common” 3D printers you may also be familiar with the “knobs” found on the bed to adjust the physical position of the bed, simply they adjust the bed in relation to the nozzle, closing the gap so the material lays down evenly and consistently when dialed into proper alignment.
Right, once I’ve got automatic bed-leveling in play, what do the knobs do?
Same thing as before, ideally you would STILL LEVEL THE BED ANYWAY so the compensation is just that, compensation. Except if you adjust them during the print, you’re going to be causing problems, because on the next probe-cycle it’s going to offset the same amount…this is somewhat common, but as long as you don’t adjust the knobs you’re fine.
You can also buy more upgrades to “hard mount” the bed, but typically this isn’t done, nor is it discussed much, because THAT’S when you actually realize the gantry needs to be rebuilt tram...
Anyway, assuming you’ve got everything installed and your firmware is setup, you either “babystep” the offset or set a persistent “z offset” in the firmware, save that, and you’re off to the races.
Marlin even has nice little helpful arrows showing you how to adjust, assuming it’s enabled. (hint: Configuration_adv.h)
So I’m calibrated and I’m printing; what’s the big deal, obviously lots of folks are using them? Shouldn’t I tell my friends?
It’s popular, that’s for sure, and it works once it’s properly setup, no doubt about it; but it’s a threshold to cross and you might understand why folks are so proud to have done it and to get others onboard.
But it’s not when it’s working that’s the problem, it’s when it fails, how it can fail, and how it DOES fail that really bothers me:
Pin breaks
Pin bends
Harness disconnected
Compromise in any one of five connections
Failed probe MCU
So here’s an unfortunately common scenario: any one of the myriad failure-modes occurs, and you don’t notice, that’s trouble - but to make matters worse the PRINTER doesn’t know!
How can that be?
That’s in my opinion the worst issue of them all: one-way communication; the title image shows the heritage of the BL-Touch, it’s meant to be a drop-in replacement for a primitive actuated microswitch. As a result it operates using servo angle commands; the only communication “back” to the printer is via the trigger output.
What does that mean?
See, the BL-Touch receives it’s commands from the printer but the printer doesn’t “know” if the probe is good to go, or simply not there, it’s just waiting for the signal to “STOP!”, and if the probe is malfunctioning, the printer has no idea.
This can, and does, regularly, cause damage to build surfaces.
So what’s the alternative that’s so great?
It’s no secret, inductive/capacitive non-contact probing has been a staple of the automation industry for decades, and there have been various implementations on printers over the years, but none are as comprehensive as Prusa (called PINDA).
It’s configured as a simple switch, three leads not 5, there is no probe-side connector to become disconnected, and the wires are encased in a thick jacket to protect them. The PINDA operates as “normally closed”, so in case of malfunction the printer sees the probe triggered, moving up instead of down, out of trouble. (This is called a dead man’s switch).
They’re tremendously reliable, even cheap units are suitably accurate, robust, the failure-modes are obvious, and easy to diagnose.
So why doesn’t everybody use it then?
Didn’t get the memo I guess, it’s been standard on the Prusa since the MK2; does require a metal surface to probe against, but that’s a discussion for another article.
The moral of the story is, if you’re going to pull the trigger on purchasing an upgrade, understand why you’re doing it, and how you’re going to get from here to there; and don’t use a simple failure as an opportunity to overhaul your entire printer when you can get back to familiar territory and keep on printing!
PS I don’t even bring light to the annoying and unnecessary “Pin 27 board”, nor fast-probing aka “high-speed” mode which seemingly is ignored in all available product coverage and missing from every implementation we’ve come across - excluding our own commissioned probe installs, which lack the former and always use the latter.
Notes: Capacitive probe precision drifts too readily in varying humidity for reliable operation on a printer, inductive sensors require a metal build surface, and may require a “Look up Table” to counteract minor for accuracy shifts observed printing at different bed temps, alternatively you can use a fixed bed temperature for probing in your start code: a technique used on the Prusa Mini prior to Mini+ which instead used a new higher spec “standard” MCU compatible inductive probe called “SuperPINDA”, which lacks an integrated thermistor like the PINDAv2 on MK3(S) printers, unifying the z-probe on the entire lineup with SuperPINDA in the MK3S+ release.