Skip to main content
Share Your Experience: Take the 2024 Developer Survey
30 votes
Accepted

How to set Z-probe boundary limits in firmware when using automatic bed leveling?

There are a few questions on this topic, so a more generic solution would be informative and will prevent multiple questions of others when their sensor has a slightly different location. This answer ...
0scar's user avatar
  • 36.1k
17 votes
Accepted

What is Thermal Runaway Protection?

What is TRP and how does it work? Thermal runaway protection is basically self-explaining; it is protection against the temperature getting out of control. Essentially, the firmware checks whether ...
0scar's user avatar
  • 36.1k
16 votes
Accepted

Specifying Z offset in Marlin firmware

Z-offset persitently stored in memory? Maybe the value of -2.97 for the Z_PROBE_OFFSET_FROM_EXTRUDER is retained in the EEPROM ...
0scar's user avatar
  • 36.1k
15 votes

How many times can you re-flash the Marlin firmware to a RAMPS 1.4 board before it degrades the ROM?

The EEPROM is not where the program itself is stored, what's relevant for your question is the flash. The flash in the ATmega2560 is rated for 10,000 cycles (i.e. you can reprogram it at least 10,000 ...
Tom van der Zanden's user avatar
14 votes
Accepted

Configuring Marlin 2.x with Ender 3 4.2.2 and BLTouch

The BLTouch now comes with a standard 5-pin connector. and that connector is supported on the board that seems to be shipping with Ender 3s these days, the Creality 4.2.2 board (Notice it's in the ...
deltree's user avatar
  • 339
12 votes

Is there a way to invert motor direction with G-code instead of Firmware in Marlin

For the X/Y/Z axes, you can use M92 to change the axis steps per unit to a negative value, which causes it to move in the opposite direction. I.e. if normally your ...
Tom van der Zanden's user avatar
12 votes

How to increase the amount of probing points for a BLTouch sensor in Marlin firmware?

You need to change the constant value(s) in your Configuration.h file of your Marlin version from: // Set the number of grid points per dimension. #define GRID_MAX_POINTS_X 3 #define ...
0scar's user avatar
  • 36.1k
10 votes

Recalibrating Home-position

When homing the printer, the hot end carriage will be instructed to hit the (mechanical or optical) end stops. From this point a well configured firmware knows where to find the origin of the heat bed....
0scar's user avatar
  • 36.1k
10 votes
Accepted

What is the difference between Linear Advance and Pressure Advance?

Both are implementations of exactly the same concept, even up to the units of the tuning constant being seconds (mm/(mm/s)). The difference is in the implementation details, and particularly how they ...
R.. GitHub STOP HELPING ICE's user avatar
9 votes
Accepted

How to add menu options to the (Marlin firmware) LCD menu?

The answer to your question (baring in mind that the question is raised for Marlin 1.1.9) is the file ultralcd.cpp. Nowadays, you can also enable extra option through the Configuration_adv.h file, ...
0scar's user avatar
  • 36.1k
9 votes
Accepted

What is the difference between M420 S and M420 S1?

TL;DR Short answer: "There is no difference!". Long answer G-code is parsed line by line. The parser in the firmware reads the command and the options (also called parameters) following it, ...
0scar's user avatar
  • 36.1k
9 votes

3D Printing with malicious intent

Ethics and justification: If you have physical access to the device you could just... physically damage the device. Running arbitrary G-code is just more complicated Most printer farms have a strict ...
OneWasNotEnough's user avatar
8 votes
Accepted

How to configure Marlin to enable auto-fans with dual extruder

After trying many different things, I found out that the solution is quite simple and requires only a few lines of code. I'll answer my own question in the hope that this will help someone. First, I ...
xoric's user avatar
  • 171
8 votes
Accepted

How to set the Z home offset

It is preferred to get the distance correct by hardware changes (leveling screws). But it is possible to do it with software. You can not only change the Z offset in the slicer or in the configuration ...
0scar's user avatar
  • 36.1k
8 votes
Accepted

After some time stepper motor is hot

The second motor is hot. And the third is very hot. I can not even touch it. This is to some degree, completely normal and expected. From the datasheet for a typical NEMA 17 stepper, the rated ...
Tom van der Zanden's user avatar
7 votes

Nozzle jumps off the bed when using Marlin Mesh Bed Leveling

None of the answers address your question to solve it! The only sensible contribution comes from a comment of @TomvanderZanden. For the sensor to stay within the limits of the bed (considering the ...
0scar's user avatar
  • 36.1k
7 votes
Accepted

3d printer not printing circles correctly

Possible causes for the printer not printing correct dimensions: Incorrect number of steps/mm in firmware settings Belts are not tight enough Pulley slips on the shaft Looking at the picture, I ...
Mikhail Z's user avatar
  • 888
7 votes
Accepted

Should I be doing PID auto-tuning with my fan at 100% (Anet A8)

You should run the fan at what you expect it to be at the majority of the time it is printing. If you tune at 100% fan and never use a fan then it will be too aggressive, if you tune at 0% fan and ...
tjb1's user avatar
  • 2,100
7 votes
Accepted

Configuring of MKS_GEN_L V1.0

The motherboard definition in configuration.h should be written like: #define MOTHERBOARD BOARD_MKS_GEN_L actually the word <...
2012User's user avatar
  • 579
7 votes
Accepted

What is ABL or UBL? Is this the same?

What are ABL and UBL? ABL stands for Automatic Bed Leveling UBL stands for Unified Bed Leveling Level the bed? A level bed (twisting knobs under the bed), or a surface that is exactly followed by ...
0scar's user avatar
  • 36.1k
6 votes
Accepted

Printer randomly moves to home during printing, then resumes as normal

The issue was due to a corrupt SD-card, which was occasionally having some garbage read from it. It turns out that Marlin will try interpret a corrupt move command like ...
Tom van der Zanden's user avatar
6 votes
Accepted

Cloning the Marlin git repo while keeping my configuration.h settings?

Based on this answer, you need the following procedure: Stash your local changes using git stash Pull from remote repository using ...
Demetris's user avatar
  • 233
6 votes

Clean or wipe move for delta 3D printers

Slic3r, and all other slicers that I saw, have an option called Skirt that enables your printer to print a number of lines around your object before it starts ...
Nicu Surdu's user avatar
6 votes

How to switch motor outputs and use E1 as X, in Marlin firmware?

When using Marlin firmware you could easily change the pin layout of the extra extruder (E1) with the broken X stepper pins by changing the pins_RAMPS.h file. Download the firmware and open the ...
0scar's user avatar
  • 36.1k
6 votes

How can I add auto bed leveling before print?

Rather than modifying the firmware to handle this, have you considered a pre-processing script on your computer, greping for a G29 in the G-code, then adding a <...
Nikkoura's user avatar
  • 178
6 votes

Hot end temperature varies during print

There could be a number of reasons for that behaviour: Please check following items: part blower/fan cools down the nozzle - stop the fan material is extruded at high speed and takes the heat loose ...
profesor79's user avatar
  • 1,982
6 votes
Accepted

Setting custom x/y bed bounds for Anet A8/marlin

As you just flashed your own Marlin, you probably have the marlin.ino and its associated files in the Arduino IDE set for your Processor and board and know how to ...
Trish's user avatar
  • 22.1k
6 votes

Issues with Auto Bed Leveling

Your problem is that the hotend carriage does not stop when the sensor triggers. I assume you mean "on homing", not "while printing" (UPDATE: after watching the video it is confirmed that it is "on ...
0scar's user avatar
  • 36.1k
6 votes
Accepted

How to enable EMERGENCY_PARSER in Marlin firmware?

The constant EMERGENCY_PARSER is located in the advanced printer configuration file Marlin/Configuration_adv.h: // Enable an emergency-command parser to intercept ...
0scar's user avatar
  • 36.1k
6 votes
Accepted

LCD full graphic smart controller, no character display and screen blinking

this problem can be solved by turning the slots on the display, as in the image below. Some Chinese displays are inverted from factory.
3D TECH BRASIL's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible