Skip to content

FAQ (english)

Oliver Köster edited this page Jan 19, 2023 · 16 revisions

Frequently asked questions (FAQ):

I bought an Anycubic Mega Pro or 4MAX Pro 2.0 and it's already advertised as "TMC2208 Silent Stepper Driver". So I have to take the _TMC version of your firmware, right?

No! Anycubic has only given the printer X and Y TMC2100/2208 (clone/replica) drivers, which firstly only run in legacy mode (A4988) and are also only 2 of 5. So you take the normal "stock" firmware for your printer, without the _TMC identifier. This is only intended if you have swapped ALL drivers for TMC22xx.

Why do prints with a layer height of 0.1mm often look worse and less clean than with 0.2mm?

Most Anycubic printers (and also all other printers with motors that do 1.8° per step) cannot print 0.1mm layer height.

Your layer height must be a multiple of 0.04.

This is simply because the threaded rod travels 8mm for a full turn. The motor needs 200 microsteps (1.8° * 200 = 360°) for a complete turn. With each step it can only raise the Z axis by 0.04mm (200 / 8mm). Everything in between, like the targeted 0.1mm, is adjusted by "dithering". So sometimes too many or too few steps of the Z axis to get to 0.1 in the end.

This also applies to all other layer heights that cannot be divided by 0.04.

Which external MOSFET should I install? And do I need one for the heatbed or also for the hotend?

There is a detailed answer -> click here

After I'm done with the "tuning", I also want to build a Noctua fan in my power supply. Thingiverse has various case covers that I can print. Which one should I take?

I also wrote something about this -> click here

My printer freezes/hangs. It does not display an error message. What should I do?

Connect a PC via USB and start Pronterface or Octoprint. Start a print and look at the console output. The error message is displayed here. There is no point in troubleshooting without looking at the message in the console. Therefore, this should always be the first step when an error occurs.

My printer stops when printing starts. When I run Pronterface / Octoprint and look at the console output, it says 'Error: XXXXXX failed, system stopped! Heater_ID: X Error: Printer halted. kill() called!'. That was not so before.

This is the Thermal Runaway Protection from Marlin, which struck in. Your nozzle or bed (heater 0 is the nozzle) has not reached or maintained the correct temperature in the given time. This leads to an error. The original Firmware did not have TRP and thus could not stop the printer. There are many reasons for such an error. Most of the time it is simply because someone forgot to set the original component cooler in the slicer to 70% (see above). At 100% it now cools too much and since it blows straight against the nozzle, the temperature drops too much, which looks like a failure for the printer. Another possibility could be a wobbly or defective thermistor or heating cartridge. It is also possible that the new PID controller heats the heater a little too carefully. This can be remedied by the PID tuning in the special menu. It also makes sense to install a silicone sock for the hotend, as this protects the nozzle from drafts.

Knutwurst, why do you also make such a firmware? Aren't there so many already?

Because I haven't seen any that don't contain the stupid bugs, such as that it crashes if you have files with special characters on the SD card.

Is it correct that you place more emphasis on SD card printing and others more on USB?

I do not attach "more importance to SD", but have simply fixed the numerous bugs to that effect. The small adjustments with the USB buffer etc are included anyway. But in my opinion they are so uninteresting that I don't mention them, because the really complicated thing is to control the proprietary display and the card reader correctly. Everything else is easy.

What is this "slowdown"?

The automatic slowdown is activated if the printer does not get data fast enough. Then it automatically slows down to 50%, tired of going on unmolested and then jerking and causing blobs.

Why is my printer suddenly louder than before?

Your component fan is now running at full speed, which it didn't before. Simply set the speed in the slicer (e.g. Cura) to 70% and you have the old volume again. This modification is necessary if you want to replace the fan and many fans with the original duty cycle do not run or run poorly.

Is your firmware better than others?

No. But certainly not worse either.

Where are the downloads?

Under "releases" on the main page.

Do I have to turn the plugs with TMC drivers?

Nope. Just download the correct version.

Which TMC2208 motor drivers should I buy? Do you prefer the V2 or the V3?

Neither! There is no "V2" or "V3". The official final version of Trinamic is v1.2 and the two major primary manufacturers for the real SilentStepSticks are FYSETC and WATTERROTT. Just keep your hands off Bigtreetech.

I turned the plugs on my motors when I installed the TMC drivers. Do I have to flash the TMC version anyway?

No. Just use the non-TMC version, otherwise the motors will run in the wrong direction again.

When I installed the drivers, my mainboard smoked in the middle right. Is that normal?

No. You installed the drivers the wrong way round. Now the Zener diode (733A) is burned. There is a repair guide for this purpose.

Do I have to set the E-Steps as with other firmwares if I have a Mega S?

No, just download the correct version. Nevertheless, you should still calibrate the steps.

When I try to start printing, the console shows: "Failed to enable Bed Leveling".

This error always occurs when an attempt is made to activate mesh bed leveling, but no valid mesh is stored in the firmware. Activation is done with M420 S1 in the start code, but this requires that the mesh bed leveling has also been done beforehand. You can easily check this by typing M503 into the console and looking for several G29 commands. With G29 S0 you can display the current mesh.

Alternatively, you can also add the line M420 S0 to the start code so that mesh leveling is deactivated. But then there is no compensation for unevenness in the bed.

OctoPrint likes to report "The firmware of your printer has reported an error." and aborts the print immediately.

Why does the display not show any error messages and why does it still look exactly the same as before?

Your mainboard (Trigorilla) can only control graphic displays like the 2004 or 12864. On them you would also see exactly what is really going on in the firmware - precisely because they show what the firmware says. Texts, error messages etc ...

It looks different with your (and all other) touch display. The touch display is just a pretty presentation and internally translates the actual commands into something that the mainboard understands. It's just a "mask" for the actual firmware.

There is a 1-to-1 mapping between the commands that the mainboard can implement (set temperature to value x, move motor 10 mm to the right, etc.). If you set the temperature in the display to 200 ° C, you are actually only sending a Gcode such as "M104 T1 S200", which must already be in the display.

With this mapping, you have to rely on the functions you want to use also being available in the display. And unfortunately there isn't much in it. The file list is the only one (!) Over which you have some control, as it is displayed dynamically. Unfortunately, you have to accept these stupid quirks, such as the fact that after a confirmation / update the list is rebuilt and thus starts at the top.

I get layer shifts and/or the Extruder stop working after installing TMC2208 stepper drivers - HELP!

This is a common problem when the motor drivers overheat or fail to deliver the required power to the motors at high temperatures.

I generally recommend operating the TMC2208 with at least 1 volt Vref, otherwise layer shifts will occur. With the Y-axis you can go up to 1.3V, as more power is needed here.

These fan ducts with axial fans are also extremely counterproductive. Axial fans cannot build up air pressure (only radial fans can do that) and so the air suppresses itself. That is why a fan cools much worse than the original fan. As a result, TMC drivers can also overheat and layer shifts occur.

The fact that the layer shift always occurs in the same layer is simply due to the fact that at this very moment the bed has to change direction at an unfavorable angle and time and this is where too much power is being demanded from the motors.

When I start auto leveling with BLTouch, the nozzle rises, but then stops and a melody sounds. "STOP called because of BLTouch error - restart with M999" appears in the serial terminal.

This error is triggered if the wiring is not correct. In most cases the black or white wire of the sensor has not been connected properly or has been swapped. In rare cases there is a problem with the BLTouch sensor that is defective. However, this error has nothing to do with the Z offset.

When I auto-level with BLTouch, the first (or more) measuring point(s) is/are approached, but before the auto-leveling is completed, the nozzle stops and the message "Error: BLTouch Probing Failed" appears in the terminal.

This is a typical error if either the bed was manually leveled very imprecisely or if the Z-offset is incorrect. This error message is triggered by an excessive deviation between the measured value and Z=0. In this case, it helps to first level the bed with 4-Point-Easy-Leveling so that the nozzle lightly touches the bed at all 4 corners. If it is still not possible to take a complete measurement, the Z-offset must be readjusted, as it indicates the distance between the nozzle and the sensor when it is triggered.

When I move the axes using the touchscreen, all end stops are ignored.

Since Marlin 2.0 (Knutwurst Hybrid Firmware v1.0.1), the limit switches are only evaluated once when moving to the home position (G28) and then replaced by software endstops that prevent the nozzle from moving outside the specified ranges. Without prior homing, the position of the limit switches is unknown and there are only two options:

  1. Prohibit all movement until homing has been performed.
  2. Allow any movement outside of the end stops.

I opted for the second option, because manual driving often means you know exactly what you are doing and can keep an eye on the nozzle. The prerequisite for homing would cause more problems if there is still a component on the print bed.

I installed a BLTouch sensor in my i3 MEGA/MEGA S/MEGA PRO, but one side of the print bed has a higher distance to the nozzle than the other. But that only affects the difference between the left and right side.

This is neither a problem with the firmware nor with your installation. Rather, there is a design-related hardware issue. The two superimposed rods of the X-guide are not 100% on top of each other, but slightly twisted. Because one of the two rods is further forward or further back, the rotation of the entire X axis changes and the nozzle raises or lowers accordingly. The problem was described very well by Hansi in his blog. As a solution, you can either try to align both rods/axles absolutely the same, or you can compensate for this by calculating the deviation and telling the slicer when printing. There is also a tool that solves this problem. Many thanks and a big compliment to Hansi, who identified, solved and documented this problem!

Clone this wiki locally