Pull to refresh

Klipper and Bizon 3

Reading time8 min
Views408

It’s time to continue experimenting with the Bizon 3 printer. My first attempt at improvement was Octoprint. In short, I liked easy installation, when the system successfully installed and worked on the first try, intuitive interface and endless possibilities of improving the monitoring and control functions. What I didn’t like however was a certain slowness, and overall there was little sense, except for the possibility of remote monitoring.

It has been repeatedly pointed out to me that Octoprint in combination with Marlin is way too old-fashioned. Even more outdated is just Marlin or its modified version, for instance, for Raise3D printers, which I don’t quite agree with, but that’s not the point right now. The thing that is relevant is Klipper. Well, it’s time to try it personally.

What we have:

— Bizon 3 with MKS Monster 8 motherboard;

— Raspberry Pi 4B microcomputer, MainsailOS, including everything one needs: Klipper, Moonraker, Mainsail;

— related equipment, cable, power supply, two microSDs and some other things.

Naturally, this is not the only possible configuration option and not even the best one, but I took a path of least resistance, which I did not regret. Looking ahead, it would be nice to have some serious Linux skills to install, configure and operate Klipper and its components without any issues. Still, my skills are insufficient, that is why I had some difficulties in the process.

Compared to Octoprint, Klipper immediately looks like a more serious system, since it involves replacing the printer’s firmware, rather than using what is available. It’s great from the point of view of possibilities and control of the printer, but not that great for fans of quick wins. Installing and configuring Klipper is far more complicated and unpredictable.

I won’t provide step-by-step instructions here, there are already a lot of them on the web. Plus, numerous differences in software and hardware can dramatically change the installation pattern. What is good for one printer is not necessarily good for another. The variety of forms and contents immediately distinguishes Klipper in a good way.

In basic terms, the launch is as follows:

Save MainsailOS to microSD using Raspberry Pi Imager.

Insert the card into Raspberry, wait for the device to read it, go to the console, configure the future firmware binary: set the printer motherboard parameters, such as controller type, bootloader offset address, etc. Create this binary file and download it to your computer.

Upload the firmware into the printer motherboard and reboot. 

If you have done everything correctly, in a few minutes you’ll be able to find the IP address of the system on the router. Go to its web-interface.

Next comes the most interesting part. It is necessary to create, edit or find configuration files for your printer and upload them to the system. The files contain all printer parameters from pin purpose to speed and temperature settings, nozzle diameter, availability and properties of additional equipment, etc. With so much data, it’s better to prepare for this stage in advance. There are several options: going into details and configuring it yourself, looking for an example on the web, or asking the printer manufacturer to share information and experience. The latter option is preferable, but not all manufacturers are willing to share their secrets. The 3DIY team went along with me and made my life a lot easier, for which I thank them very much. However, some do not provide for replacing their firmware and do not approve of initiative in this matter. In that case, I recommend you to be patient and persistent, and wish you success in your search.

Warning! Your printer will be reprogrammed, and success is not guaranteed. To return to the original state, you will need the native firmware, which is not always available. Install Klipper only if you are ready to take a risk or are fully confident in your abilities.

The ready-to-go Mainsail interface looks like this:

In general, it resembles Octoprint with its temperature graphs, motor movement buttons and various settings. Fortunately, almost everything is obvious and clear.

Apart from this, there are many differences, including some fundamental ones. For example, the system does not recognize files on a flash drive inserted into the printer. That is, you cannot start printing a new file without loading it through the interface into the Raspberry’s memory. For this, you will need a computer or at least a smartphone.

The device can be partially controlled by means of the encoder and the printer screen. Besides the printing parameters familiar since Marlin, the latter also has a menu with a rather long tree of items. By the way, the letters are large and bold, so everything reads even better. But overall, in terms of meaning, everything is pretty much the same and unlikely to cause serious difficulties.

The screen backlight can be adjusted in both brightness and color through the web interface. Illumination of the print area and its brightness can be set from the screen menu or the web interface.

Here’s what it looks like:

As I said, the interface is self-explanatory. On the left side, there are a number of tabs with basic settings and current printer data. The tabs are customizable, some can be disabled, some can be added in the settings, for example, a webcam window. Moreover, the view may differ on a computer and smartphone. For ease of use, this is also customizable.

Here are print files:

The printhead tools tab shows the current position, allows you to move the head, park it, change Z offset, which is useful when adjusting the first layer, and provides attunement of the speed factor. The latter is not entirely clear to me. Most likely at 100% Klipper sets the optimal, in its opinion, speed, since it is much higher than that of the slicer. I got a match with the task at 75%, so you should pay attention: not all plastics are printed qualitatively at high speeds, especially viscous PETG, not to mention rubber-like TPU and other flexibles.

The extruder tab. Pay attention to the Pressure Advance parameter: it is a brand-name counterpart of Linear Advance, which will be discussed a bit later. The tab also contains the information on smoothing, retraction, and so on.

Macros can be handy when you know how to write them to execute a chain of commands. Descriptions are stored in config files. When you have some ready, you can easily add and remove them to taste. 

Velocity and acceleration settings. The default values were just crazy, so I set them based on the manufacturer’s recommendations. It’s good that they provided information, unlike some.

Miscellaneous. Here we have a fan, caselight, beeper, filament runout sensor, etc. The contents can be flexibly customized in the same config files according to what is available on your printer. 

It is easier to specify some of the parameters explicitly in the config text files and to customize them on the spot. I don’t see any point in telling you how to do it in detail, since this is a review, not a tutorial. Generally, it seems to be quite simple, but at the same time every step and every action needs to be studied. Klipper is not for fans of easy solutions, even if the printer comes with it by default.

Let’s try a test print. As a model I took a laser cat, which is good for its smooth sides with clearly visible seams. To maximize the brightness of the seams, I set the layer height to 0.6 mm.

On the computer screen the process looks familiar, with the bed and nozzle temperature graphs growing, toolhead coordinates changing, and the progress percentage increasing. What’s nice, the microcomputer temp is also indicated, so either overheating or shutting down will come as no surprise.

The front side of the cat turned out pretty good considering the huge layer height, however, the exact same way it turned out on the native Marlin.

As for the seams on the back, I didn’t like them at all: they bulge so much that not only is it visible to the eye, but also felt to the touch.

This is caused by excess plastic squeezed out of the nozzle during deceleration. To combat this negative effect, slicers have a technology that reduces the plastic feed in advance when the head is slowing down. In Cura it is called Linear Advance, and it does its job when properly tuned. Klipper has its own similar technology, which is called Pressure Advance (the parameter is in the Extruder tab). And I am interested in exactly that.

All you need to do is find the optimal ratio for your printer’s hardware and plastic combination once, specify it in the appropriate window, and use it until significant changes are made.

To find the coefficient, it is necessary to print a test model with various heights. The best option is that with the best looks. I got such a printout. Obviously, the best result is observed in the second height zone, which corresponds to a coefficient of 0.1. This is normal for a direct extruder.

The obtained value is put into the tab, and then we print the same cat without changing the file. The seams turned out much better, they are not bulging, not conspicuous as before, and almost not felt to the touch. 

What does this mean? Klipper does not just send G-code to the printer, but it automatically makes adjustments to improve print quality and/or speed. This is the main difference and advantage of smart Klipper over a passive observer such as Octoprint.

Another popular on-the-fly print enhancement technology is called Input Shaping. It aims at preventing the printhead from rocking during sharp turns. The inertia of changing direction causes vibrations that are reflected on the model walls in the form of waves. The higher the print speed, the sharper the turns, the heavier the printhead, the less rigid the printer structure, the stronger the waves. Before Input Shaping, the only way to reduce the phenomenon was to reduce the print speed, which was not to everyone’s liking. Klipper calculates dangerous vibrations before they occur and dampens them with artificially created vibrations in counter-phase.

Setting up IS is another long story. There are two ways — manual and automatic. In the first method one prints a test model, analyzes it, changes parameters, prints a new one, and so the circle. The automatic method involves the installation of accelerometer adx1345 and work with its indicators, which seems to be easier, but does not always give the desired results. In any case, the process is quite time-consuming and requires immersion in the subject.

In the best case scenario, the waves will completely disappear or at least will be minimized as much as possible, which means you can increase speed without getting unnecessary ripples on the sides of your products. It is fair to say that wave smoothing, like all good things, comes at some cost, in this case in the form of rounding corners. Decide for yourself whether it is acceptable for you to sacrifice one defect for another.

Wave smoothing requires decent speed and power from the processor. Even the fastest printer controller cannot cope with such a computational task, but Raspberry and similar single-board computers are already capable of this. Such is the main advantage of Klipper — a combination of computer power and perfect controller performance.

Now, let’s get to my overall impressions and conclusions.

Klipper is an extremely interesting modern printer control system that summarizes the best qualities of traditional motherboards with microcomputers. It allows complete control of the printing process to the last detail, ensuring maximum productivity and print quality. A budget-friendly printer with a properly tuned Klipper can give a head start to a much more expensive counterpart powered by a stock Marlin.

The flip side of the coin is the more complicated installation of Klipper, its setup and printer maintenance in general. To reach its full potential, the user will need advanced knowledge of Linux, electronics, mechanics, and 3D printing nuances as well as sufficient free time and the desire to constantly learn something new.

If you are a hobbyist with a single printer, which is turned on from time to time, and you are satisfied with the default speed and quality of printing, there’s no need to improve anything. If you are not satisfied with the printer’s characteristics at the limit of its capabilities, if you like anything new and are used to being at the forefront of progress, Klipper is your choice. It will allow you to expand the capabilities of your printer, significantly increase its productivity and print quality, but be prepared that on the way to success you will face a series of trials and disappointments. 

As for me, I haven’t made up my mind yet whether I like Klipper or not. Maybe it’s the matter of a long-term use of Marlin, or maybe the Bizon 3 itself is fast, durable, and reliable when the model is properly prepared. I will use Klipper for a while before I make a final conclusion whether to keep it or revert to the factory firmware. After all, it will take just a couple of minutes to return the printer to its original state with the manufacturer’s info at hand.

Either way, the experience of installing and operating Klipper is undoubtedly useful and even mandatory, at least in order to make a choice based on your own impressions.

Once again I’d like to express my gratitude to the 3DIY support team for competent and prompt consultation, as well as for providing the necessary configs and other information, which made my life easier.

This article was originally written by DrProg, published at 3dtoday.ru, translated by the Top 3D Shop team.

Tags:
Hubs:
Rating0
Comments0

Articles

Information

Website
top3dshop.com
Registered
Employees
11–30 employees