BLTouch sensors have gained a lot of popularity in recent years, known for their useful auto bed leveling on 3D printers. BLTouch probes use a retractable pin that precisely measures the distance to the nearest surface. Through firmware, the BLTouch creates a digital mesh of a 3D printer’s bed to determine the necessary Z-axis height changes across the bed area to achieve a sufficient first layer.
OctoPrint is another widely known upgrade for 3D printers. Through an online server hosted by a computer, such as a Raspberry Pi board, it allows users to remotely monitor and control their machine. There’s so much more OctoPrint can do beyond control temperature and movement, though. Due to OctoPrint’s open-source platform, extra features can be added through community-developed plug-ins. These plug-ins’ functionalities range from The Spaghetti Detective monitoring to ensure prints are going smoothly to adding an OctoPrint touchscreen interface.
Here, we’ll be focusing on the best plug-ins that work with a BLTouch sensor, so users can operate and control aspects of the sensor through the OctoPrint online interface. Before we get into the available plug-ins that involve both printer enhancements, we’ll go over the advantages of making your OctoPrint server and BLTouch sensor cooperate.
Both BLTouch and OctoPrint are independent upgrades that aren’t reliant on each other to function. However, when teamed up, they offer some unique advantages that are otherwise unattainable, including improved ease of use and unique utilities.
The first benefit of using OctoPrint’s platform with a BLTouch is consolidating all your control features on one interface. Without OctoPrint integration, you can only control a BLTouch sensor through the stock interface on your printer or by sending specific G-code commands to your machine.
This method of controlling a BLTouch device is troublesome because every time you want to run a BLTouch self-test or retract the pin, you have to navigate your machine’s interface to find the controls. If you’re already using the OctoPrint online interface, this is something you probably don’t want to do because that means you have to be near your printer to perform BLTouch-specific actions.
Another advantage of making these upgrades work together is the special utilities they can provide, such as displaying a visualized version of the bed mesh created by the BLTouch sensor’s measurements. Being able to see this indicates how level your bed actually is because, even with auto bed leveling, it’s still a good idea to have at least a somewhat level build plate. If it’s permanently warped, this is a strong indicator that it’s time to replace your build plate.
Now that you know the advantages, let’s get to the actual plug-ins!
The first plug-in we’ll go over is the OctoPrint-BLTouch plug-in, which adds the BLTouch-specific control features found on your machine’s stock interface to OctoPrint’s online interface. This makes using your printer and controlling your BLTouch a super easy process because you no longer have to be near your printer to do so.
This plug-in works by adding buttons to your OctoPrint “Control” interface, and, when clicked, they trigger specific G-code commands. You can also program specific G-code commands to be sent, which is useful if you’re using a special firmware package with a unique G-code syntax.
The plug-in adds six different buttons to the interface, including “Probe Up”, “Probe Down”, “Test”, “Release”, “Probe Bed”, and “Save”. These features can be used to retract and extract your sensor’s pin, make sure the device is working, perform a bed leveling sequence, and save the created mesh from the leveling sequence.
Installing this plug-in is super easy, and all you need to do is download it and start using the buttons! For more information about this plug-in’s functionality, installation, and use, you can check out our guide to using the OctoPrint-BLTouch plug-in. Also, to contact the developers of this plug-in and get more information, you can check out the project’s GitHub page.
Another way you can use your OctoPrint platform and interface with a BLTouch device is with the Bed Level Visualizer plug-in. The plug-in maps your printer’s bed based on the BLTouch’s measurements gathered during its leveling sequence. It does this by taking the data from an uploaded bed mesh and plugging it into an open-source graphing program to create a 3D render of the printer bed.
The render displays your bed’s topography in a 3D space and has a color key that indicates how high or low your bed is. Specifically, the redder an area of the bed is, the higher it is above the neutral level; the more blue an area is, the lower it is.
The plug-in’s created bed mesh’s accuracy is +/- 0.01 mm. As we mentioned earlier, this helps make manual adjustments to your bed so it’s as level as possible, even if you’re using auto bed leveling. Also, it’ll indicate if your build plate is permanently warped or bent.
The Bed Level Visualizer plug-in isn’t too difficult to set up, however, you do need to enter in some specific bed leveling settings. Luckily, you can find easy-to-follow instructions on the OctoPrint repository.
To use this program, you have to go to the “Bed Visualizer” tab on the OctoPrint interface and then click “Update Mesh”. Then, if you have a BLTouch installed with a compatible firmware program, the plug-in will start a leveling sequence and generate your visualized mesh from the measurements.
While this plug-in can be useful, due to its complexity, some users have experienced problems and bugs. Though there are currently 30 “open” issues on the GitHub page, most are suggested enhancements for improving the plug-in. If you run into any difficulties, be sure to check out the issue section on both the plug-in’s OctoPrint page as well as the project’s GitHub site.
Some common problems include missing portions of the diagram, a faulty interface, and unrecognized G-code. The solutions for these problems aren’t concrete and may still be in the process of being fixed. However, there are a few basic solutions you should consider trying.
First, check that your BLTouch device is properly wired and secure. Next, try removing and reinstalling the plug-in. Lastly, don’t forget to ensure that the G-code commands being sent to your printer by this plug-in are compatible with your firmware’s syntax.
Lead image source: voltlog via Instructables
License: The text of "How to Use OctoPrint with BLTouch – Simply Explained" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.