A quick reference to common tasks that should be performed on the 3D printer after flashing a new firmware to the device.
Table of Contents
When using these device configurations you should take care to check the following are suited to your setup/configuration:
- Probe offsets for X, Y, Z (important; see below).
- Do you require fade height with Z Probe offset?
- PID tuning (recommended).
- E-Step calibration.
- Do any Endstops triggers need to be inverted?
Updating Probe offsets
Keep in mind that in using this; you will likely need to adjust your X, Y, Z offset settings specific to your setup. The change is simple and the key settings to look for is NOZZLE_TO_PROBE_OFFSET
if you wish to make the change in source. Once found, this branch of Marlin requires the offsets to be defined as an array: {x, y, z}
.
The alternative is updating the probe offset values after the new firmware has been installed.
Updating Probe offset values manually using G-code M851
The following example shows the G-Code I would use to set the offset values after flashing a new firmware. You will need to adjust these offsets to accommodate your own requirements.
Set the Z offset for the BLTouch by sending G-code:
M851 Z-1.46
Set the X and Y distance (probe left front of nozzle) by sending G-code:
M851 X-46.00 Y-16.00
Save the setting to the EEPROM by sending G-code:
M500
Setting Fade Height manually via G-code M420
Set the Fade Height with G-Code:
M420 Z10
Determining if Endstops need to be inverted
Check all the current endstop states by sending G-Code:
M119
It will report something similar to:
Reporting endstop status
x_min: open
y_min: open
z_min: TRIGGERED
z_probe: open
filament: open
If an endstop is reporting triggered but is not actually triggered (by this I mean pushed) or is reporting open when the switch is pushed then you will need to invert the endstop. If was true
initially set to false
and vice-versa.
Below are two options for addressing this requirement.
Endstop inversion option 1
If you would prefer to change the inversion on a endstop or endstops in the configuration to compile yourself look for the following:
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe.
Endstop inversion option 2
Alternatively; if you wish avoid editing the configuration and utilise the binaries available on this blog; you could swap the placement of the two wires in the DuPont connector, carefully ejecting each wire with a pin/needle and repositioning them by swapping them around.
The mod could be made on either end of the cable plugged in to the endstop; cable closest to the endstop would likely be a easier option for most.