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 intends to cover any position with respect to the nozzle. It also does not matter what kind of sensor it is, it can be 3DTouch, BLTouch, inductive, capacitive, ...
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 the measured output of the thermistor (What is a thermistor? A thermistor is basically a temperature sensor; it is an electrical component (more specific: a ...
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 times).
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 X axis has 160 steps per mm, using M92 X-160 will invert all of its movements.
However, this is more of a hack than a real, intended solution. It would be better to (if you are concerned with the ...
Z-offset persitently stored in memory?
Maybe the value of -2.97 for the Z_PROBE_OFFSET_FROM_EXTRUDER is retained in the EEPROM memory when you upload new firmware.
You could try to send the G-code M502 to the machine to re-load the values from the firmware overwriting currently stored values.
Alternative Z-offset using G-code commands
Note that there is a ...
After trying many different things, I found out that the solution is really 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 defined a few constants (macros actually). To keep my own stuff separate, I created a new file for them called myconfig.h:
#define MY_BED_TEMP_THRESHOLD 50
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.
For the printer to know the origin of the bed, offsets are defined in the firmware from the end stop locations to the actual origin of the heat bed.
The answer to your question is the file ultralcd.cpp. Nowadays, you can also enable extra option through the Configuration_adv.h file, just enable:
and edit the options beneath it to your needs (otherwise it will use the preset values from the Configuration.h file).
Add custom items using ultralcd.cpp
This is how I used to do it ...
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 temperature rise is 80 °C above ambient and the maximum operating temperature is 130 °C (implying an ambient temperature of 50 °C). It is normal that stepper motors (...
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 GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Set the number of grid points per dimension.
#define GRID_MAX_POINTS_X 5
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
Marlin does allow one to change the size of the buffers, in Configuration_adv.h. In the current version there's an ifdef that switches between two cases, one with SD support, and the other without. Both have a movement planner of size 16, which can be adjusted.
Additionally, in the same file, BUFSIZE can be changed to modify the size of the buffer storing ...
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 offset of the sensor and the size of the hotend carriage) you need to define where the sensor (plus carriage) may go to (to keep the sensor also on the bed, you ...
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 use the fan then you will struggle to maintain/reach temperature.
Short answer: "There is no difference!".
G-code is parsed line by line. The parser in the firmware reads the command and the options (also called parameters) following it, comments are discarded.
Therefore, option S should be followed by a Boolean value 0 for False or 1 for True. Without a value it is undefined and should be ...
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 no outside G-code policy for good reason. Because direct physical access to the printer does not provide any security.
This is also a problem for CNC Mills and ...
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 G0 X1q3.54 and still read as many numbers as it can. In this example, it would be interpreted as G0 X1 rather than (as might have been intended) G0 X103.54.
This explains my symptoms ...
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 printing the object itself.
This should ensure that both the nozzle is filled with filament and the printer got rid of any burned / dirty filament when it starts printing your object.
If you use ...
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 G28/G29 pair at the start of the file if no G29 is found?
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 would go for the first case, because distortion looks regular. Try checking microstep settings on your board, and settings in the firmware.
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 thermistor (when the move occurs as it moves a bit internally)
the power supply unit voltage varies - so temperature reading varies as well - measure voltage ...
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 work with them to some degree. This is just the short version where to find what you need to change the bed size, if the marlin.ino is based on the marlinfw-release.
The constant EMERGENCY_PARSER is located in the advanced printer configuration file Marlin/Configuration_adv.h:
// Enable an emergency-command parser to intercept certain commands as they
// enter the serial receive buffer, so they cannot be blocked.
// Currently handles M108, M112, M410
// Does not work on boards using AT90USB (USBCON) processors!
T stands for "Tool" and has its origin in the origins of .gcode being for other automated machine controls. Depending on the machine, everything could be a tool for .gcode, like an actuator or pump or a spindle motor or a drill.
In 3D printers, the T-controlled tool is usually the extruder motor. Convention has it that the indexing always starts at 0, so T0 ...
The motherboard definition in configuration.h should be written like:
#define MOTHERBOARD BOARD_MKS_GEN_L
actually the word MOTHERBOARD was missing and there is no need to write 53 //MKS GEN L at the end.
The number definition is declared in boards.h - you just confused the two files, indeed you should not forget to define the motherboard constant itself....
It sounds like a power-related problem. Always use an external MOSFET to drive a heated bed, and consider investing in a decent power supply. Inevitably, the Tronxy PSU will be barely adequate.
Edit: I've just noticed the tronxy-x1 tag. Be aware that the stock (60 Watt) PSU for the Tronxy X1 cannot power a heated bed (the printer does not have one). Trying ...
It refers to a specific branch of the current project, named RCBugFix. It's basically the most up-to-date, bleeding edge version of Marlin that contains all of the most recent fixes (it is more up-to-date than RC). However, as it's so up-to-date, it's also not thoroughly tested and possibly quite unstable.
The latest Release Candidate lives in the "RC" ...
You can achieve this using the G1 command. I don't know your exact printer, but you should be able to use something like this (add to the start G-code in your slicer):
G1 X0 Y62 Z0.2 F9000 ; Move slightly past edge of bed
G92 E0 ; Zero extruder position
G0 E1 F100 ; Extrude 1mm of filament
G92 E0 ; Zero again
G1 X0 Y0 F9000 ; Move back to center of bed
A lot of slicers will have a Wipe option. Here are some examples:
See Unofficial Simplify3D Documentation. Go to the section talking about Wipe Nozzle, under the heading Extruder Tab
Two more ooze-fighting options are Coast at end and Wipe nozzle. Coast turns off the extruder the specified distance before it normally would, to drain what would have oozed ...
Based on this answer, you need the following procedure:
Stash your local changes using git stash
Pull from remote repository using git pull
Merge your stashed configuration file using git stash pop
Of course, if there are changes in the configuration.h file on the remote repository and cause conflicts, you will need to resolve them, but it should be ...