Issues bed levelling

Hi

I'm having issues setting up bed levelling.
I have a Melzi board and so don't have the option of using Z_Max as I don't have a Z_MAX pin. (I have tried changing the Z_MIN pin to Z_Max but I can't figure it out - Have tried changing pin in pins.h, also specifying pin in config.h. with no joy) Any suggestions?
I get the whole Z_MAX argument, I just can't implement it with my board and I don't want to completely change my board.

So if I can't use a Z_MAX endstop, I'm left with either disabling my Z endstop and always G32 as the first thing (which I'm not wanting to do), or figuring a way to use Z min endstop and Z probe together. I feel like I'm nearly there but my issue with disabling the endstop checks is that when I place a G32 my probe/extruder always want to crash into my X min endstop. (I really want a way to have my Z_Min endstop only for homing like in Marlin Firmware) The only way I seem to be able to bypass this issue is to put a 'G1 X50 Y50' into the probing start up scrip to move it away from the X min endstop. but this is not consistently working in combination with a G28. This is why I wanted to try the development firmware, but I'm getting a:


collect2.exe: error: ld returned 1 exit status
Using library SPI at version 1.0 in folder: C:\Users\tpbha\Desktop\arduino-1.8.5-windows\arduino-1.8.5\hardware\arduino\avr\libraries\SPI
exit status 1
Error compiling for board Sanguino.

Any suggestions would be greatly appreciated.



«1

Comments

  • Basically, you use the Z probe in place of the Z min endstop, you dont need both.

  • I have removed the mechanical end stop and have the z probe (capacitance) as the z end stop and z probe combined on the z min pin. do you mean completely remove the z end stop from the firmware and just have z probe. would my hot end not just crash into the bed on homing? the problem is that when I calibrate my z probe the z probe distance is a negative value and so when I execute a G32 it fails with a fatal alert, with the probe triggering early because the bed is beyond Z0. If I place the bed a Z0 then the hot end will touch the bed on Z probing which isn't ideal. Is there a way to tell the firmware its ok to go past the end stop?

  • #ifndef CONFIGURATION_H
    #define CONFIGURATION_H
    /**************** READ FIRST ************************
       This configuration file was created with the configuration tool. For that
       reason, it does not contain the same informations as the original Configuration.h file.
       It misses the comments and unused parts. Open this file file in the config tool
       to see and change the data. You can also upload it to newer/older versions. The system
       will silently add new options, so compilation continues to work.
       This file is optimized for version 0.92
       generator: http://www.repetier.com/firmware/v092/
       If you are in doubt which named functions use which pins on your board, please check the
       pins.h for the used name->pin assignments and your board documentation to verify it is
       as you expect.
    */
    #define NUM_EXTRUDER 1
    #define MOTHERBOARD 63
    #include "pins.h"
    // ################## EDIT THESE SETTINGS MANUALLY ################
    // ################ END MANUAL SETTINGS ##########################
    #undef FAN_BOARD_PIN
    #define FAN_BOARD_PIN -1
    #define BOARD_FAN_SPEED 255
    #define FAN_THERMO_PIN -1
    #define FAN_THERMO_MIN_PWM 128
    #define FAN_THERMO_MAX_PWM 255
    #define FAN_THERMO_MIN_TEMP 45
    #define FAN_THERMO_MAX_TEMP 60
    #define FAN_THERMO_THERMISTOR_PIN -1
    #define FAN_THERMO_THERMISTOR_TYPE 1
    //#define EXTERNALSERIAL  use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer.
    // Uncomment the following line if you are using Arduino compatible firmware made for Arduino version earlier then 1.0
    // If it is incompatible you will get compiler errors about write functions not being compatible!
    //#define COMPAT_PRE1
    #define BLUETOOTH_SERIAL  -1
    #define BLUETOOTH_BAUD  115200
    #define MIXING_EXTRUDER 0
    #define DRIVE_SYSTEM 0
    #define XAXIS_STEPS_PER_MM 100
    #define YAXIS_STEPS_PER_MM 100
    #define ZAXIS_STEPS_PER_MM 1600
    #define EXTRUDER_FAN_COOL_TEMP 50
    #define PDM_FOR_EXTRUDER 0
    #define PDM_FOR_COOLER 0
    #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
    #define DECOUPLING_TEST_MIN_TEMP_RISE 1
    #define KILL_IF_SENSOR_DEFECT 0
    #define RETRACT_ON_PAUSE 2
    #define PAUSE_START_COMMANDS ""
    #define PAUSE_END_COMMANDS ""
    #define SHARED_EXTRUDER_HEATER 0
    #define EXT0_X_OFFSET 0
    #define EXT0_Y_OFFSET 0
    #define EXT0_Z_OFFSET 0
    #define EXT0_STEPS_PER_MM 100
    #define EXT0_TEMPSENSOR_TYPE 8
    #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
    #define EXT0_HEATER_PIN HEATER_0_PIN
    #define EXT0_STEP_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE 0
    #define EXT0_ENABLE_PIN ORIG_E0_ENABLE_PIN
    #define EXT0_ENABLE_ON 0
    #define EXT0_MIRROR_STEPPER 0
    #define EXT0_STEP2_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR2_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE2 0
    #define EXT0_ENABLE2_PIN ORIG_E0_ENABLE_PIN
    #define EXT0_MAX_FEEDRATE 50
    #define EXT0_MAX_START_FEEDRATE 20
    #define EXT0_MAX_ACCELERATION 5000
    #define EXT0_HEAT_MANAGER 1
    #define EXT0_WATCHPERIOD 1
    #define EXT0_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT0_PID_INTEGRAL_DRIVE_MIN 50
    #define EXT0_PID_PGAIN_OR_DEAD_TIME 20.24
    #define EXT0_PID_I 1.89
    #define EXT0_PID_D 54.23
    #define EXT0_PID_MAX 255
    #define EXT0_ADVANCE_K 0
    #define EXT0_ADVANCE_L 0
    #define EXT0_ADVANCE_BACKLASH_STEPS 0
    #define EXT0_WAIT_RETRACT_TEMP 150
    #define EXT0_WAIT_RETRACT_UNITS 0
    #define EXT0_SELECT_COMMANDS ""
    #define EXT0_DESELECT_COMMANDS ""
    #define EXT0_EXTRUDER_COOLER_PIN -1
    #define EXT0_EXTRUDER_COOLER_SPEED 255
    #define EXT0_DECOUPLE_TEST_PERIOD 12000
    #define EXT0_JAM_PIN -1
    #define EXT0_JAM_PULLUP 0
    #define FEATURE_RETRACTION 0
    #define AUTORETRACT_ENABLED 0
    #define RETRACTION_LENGTH 3
    #define RETRACTION_LONG_LENGTH 13
    #define RETRACTION_SPEED 40
    #define RETRACTION_Z_LIFT 0
    #define RETRACTION_UNDO_EXTRA_LENGTH 0
    #define RETRACTION_UNDO_EXTRA_LONG_LENGTH 0
    #define RETRACTION_UNDO_SPEED 20
    #define FILAMENTCHANGE_X_POS 0
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  2
    #define FILAMENTCHANGE_REHOME 1
    #define FILAMENTCHANGE_SHORTRETRACT 5
    #define FILAMENTCHANGE_LONGRETRACT 50
    #define JAM_STEPS 220
    #define JAM_SLOWDOWN_STEPS 320
    #define JAM_SLOWDOWN_TO 70
    #define JAM_ERROR_STEPS 500
    #define JAM_MIN_STEPS 10
    #define JAM_ACTION 1
    #define RETRACT_DURING_HEATUP true
    #define PID_CONTROL_RANGE 20
    #define SKIP_M109_IF_WITHIN 2
    #define SCALE_PID_TO_MAX 1
    #define TEMP_HYSTERESIS 0
    #define EXTRUDE_MAXLENGTH 160
    #define NUM_TEMPS_USERTHERMISTOR0 0
    #define USER_THERMISTORTABLE0 {}
    #define NUM_TEMPS_USERTHERMISTOR1 0
    #define USER_THERMISTORTABLE1 {}
    #define NUM_TEMPS_USERTHERMISTOR2 0
    #define USER_THERMISTORTABLE2 {}
    #define GENERIC_THERM_VREF 5
    #define GENERIC_THERM_NUM_ENTRIES 33
    #define HEATER_PWM_SPEED 0
    // ############# Heated bed configuration ########################
    #define HAVE_HEATED_BED 1
    #define HEATED_BED_MAX_TEMP 120
    #define SKIP_M190_IF_WITHIN 3
    #define HEATED_BED_SENSOR_TYPE 14
    #define HEATED_BED_SENSOR_PIN TEMP_1_PIN
    #define HEATED_BED_HEATER_PIN 12
    #define HEATED_BED_SET_INTERVAL 5000
    #define HEATED_BED_HEAT_MANAGER 0
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
    #define HEATED_BED_PID_PGAIN_OR_DEAD_TIME   196
    #define HEATED_BED_PID_IGAIN   33
    #define HEATED_BED_PID_DGAIN 290
    #define HEATED_BED_PID_MAX 255
    #define HEATED_BED_DECOUPLE_TEST_PERIOD 300000
    #define MIN_EXTRUDER_TEMP 150
    #define MAXTEMP 245
    #define MIN_DEFECT_TEMPERATURE 5
    #define MAX_DEFECT_TEMPERATURE 260
    // ##########################################################################################
    // ##                             Laser configuration                                      ##
    // ##########################################################################################
    /*
    If the firmware is in laser mode, it can control a laser output to cut or engrave materials.
    Please use this feature only if you know about safety and required protection. Lasers are
    dangerous and can hurt or make you blind!!!
    The default laser driver only supports laser on and off. Here you control the eíntensity with
    your feedrate. For exchangeable diode lasers this is normally enough. If you need more control
    you can set the intensity in a range 0-255 with a custom extension to the driver. See driver.h
    and comments on how to extend the functions non invasive with our event system.
    If you have a laser - powder system you will like your E override. If moves contain a
    increasing extruder position it will laser that move. With this trick you can
    use existing fdm slicers to laser the output. Laser width is extrusion width.
    Other tools may use M3 and M5 to enable/disable laser. Here G1/G2/G3 moves have laser enabled
    and G0 moves have it disables.
    In any case, laser only enables while moving. At the end of a move it gets
    automatically disabled.
    */
    #define SUPPORT_LASER 0
    #define LASER_PIN -1
    #define LASER_ON_HIGH 1
    // ##                              CNC configuration                                       ##
    /*
    If the firmware is in CNC mode, it can control a mill with M3/M4/M5. It works
    similar to laser mode, but mill keeps enabled during G0 moves and it allows
    setting rpm (only with event extension that supports this) and milling direction.
    It also can add a delay to wait for spindle to run on full speed.
    */
    #define SUPPORT_CNC 0
    #define CNC_WAIT_ON_ENABLE 300
    #define CNC_WAIT_ON_DISABLE 0
    #define CNC_ENABLE_PIN -1
    #define CNC_ENABLE_WITH 1
    #define CNC_DIRECTION_PIN -1
    #define CNC_DIRECTION_CW 1

    #define DEFAULT_PRINTER_MODE 0
    // ################ Endstop configuration #####################
    #define ENDSTOP_PULLUP_X_MIN true
    #define ENDSTOP_X_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_X true
    #define ENDSTOP_PULLUP_Y_MIN true
    #define ENDSTOP_Y_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Y true
    #define ENDSTOP_PULLUP_Z_MIN false
    #define ENDSTOP_Z_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Z true
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_X_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_X false
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_Y_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Y false
    #define ENDSTOP_PULLUP_Z_MAX true
    #define ENDSTOP_Z_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Z false
    #define max_software_endstop_r true
    #define min_software_endstop_x false
    #define min_software_endstop_y false
    #define min_software_endstop_z false
    #define max_software_endstop_x true
    #define max_software_endstop_y true
    #define max_software_endstop_z true
    #define ENDSTOP_X_BACK_MOVE 5
    #define ENDSTOP_Y_BACK_MOVE 5
    #define ENDSTOP_Z_BACK_MOVE 2
    #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1
    #define ENDSTOP_Z_BACK_ON_HOME 1
    #define ALWAYS_CHECK_ENDSTOPS 0
    // ################# XYZ movements ###################
    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 1
    #define DISABLE_X 0
    #define DISABLE_Y 0
    #define DISABLE_Z 0
    #define DISABLE_E 0
    #define INVERT_X_DIR 0
    #define INVERT_Y_DIR 0
    #define INVERT_Z_DIR 1
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    #define X_MAX_LENGTH 150
    #define Y_MAX_LENGTH 150
    #define Z_MAX_LENGTH 118
    #define X_MIN_POS -6
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define DISTORTION_CORRECTION 0
    #define DISTORTION_CORRECTION_POINTS 5
    #define DISTORTION_CORRECTION_R 100
    #define DISTORTION_PERMANENT 1
    #define DISTORTION_UPDATE_FREQUENCY 15
    #define DISTORTION_START_DEGRADE 0.5
    #define DISTORTION_END_HEIGHT 1
    #define DISTORTION_EXTRAPOLATE_CORNERS 0
    #define DISTORTION_XMIN 10
    #define DISTORTION_YMIN 10
    #define DISTORTION_XMAX 190
    #define DISTORTION_YMAX 190
    // ##########################################################################################
    // ##                           Movement settings                                          ##
    // ##########################################################################################
    #define FEATURE_BABYSTEPPING 1
    #define BABYSTEP_MULTIPLICATOR 1
    #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
    #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves
    #define EXACT_DELTA_MOVES 1
    // Delta settings
    #define DELTA_HOME_ON_POWER 0
    #define DELTASEGMENTS_PER_PRINTLINE 24
    #define STEPPER_INACTIVE_TIME 360L
    #define MAX_INACTIVE_TIME 0L
    #define MAX_FEEDRATE_X 200
    #define MAX_FEEDRATE_Y 200
    #define MAX_FEEDRATE_Z 6
    #define HOMING_FEEDRATE_X 40
    #define HOMING_FEEDRATE_Y 40
    #define HOMING_FEEDRATE_Z 3
    #define HOMING_ORDER HOME_ORDER_ZXYTZ
    #define ZHOME_MIN_TEMPERATURE 0
    #define ZHOME_HEAT_ALL 0
    #define ZHOME_HEAT_HEIGHT 10
    #define ZHOME_X_POS 50
    #define ZHOME_Y_POS 70
    #define ENABLE_BACKLASH_COMPENSATION 0
    #define X_BACKLASH 0
    #define Y_BACKLASH 0
    #define Z_BACKLASH 0
    #define RAMP_ACCELERATION 1
    #define STEPPER_HIGH_DELAY 0
    #define DIRECTION_DELAY 0
    #define STEP_DOUBLER_FREQUENCY 12000
    #define ALLOW_QUADSTEPPING 1
    #define DOUBLE_STEP_DELAY 0 // time in microseconds
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 400
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 400
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 400
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 400
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define INTERPOLATE_ACCELERATION_WITH_Z 0
    #define ACCELERATION_FACTOR_TOP 100
    #define MAX_JERK 20
    #define MAX_ZJERK 0.3
    #define PRINTLINE_CACHE_SIZE 16
    #define MOVE_CACHE_LOW 10
    #define LOW_TICKS_PER_MOVE 250000
    #define EXTRUDER_SWITCH_XY_SPEED 100
    #define DUAL_X_AXIS 0
    #define FEATURE_TWO_XSTEPPER 0
    #define X2_STEP_PIN   ORIG_E1_STEP_PIN
    #define X2_DIR_PIN    ORIG_E1_DIR_PIN
    #define X2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_TWO_YSTEPPER 0
    #define Y2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Y2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Y2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_TWO_ZSTEPPER 0
    #define Z2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Z2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Z2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_THREE_ZSTEPPER 0
    #define Z3_STEP_PIN   ORIG_E2_STEP_PIN
    #define Z3_DIR_PIN    ORIG_E2_DIR_PIN
    #define Z3_ENABLE_PIN ORIG_E2_ENABLE_PIN
    #define FEATURE_DITTO_PRINTING 0
    #define USE_ADVANCE 0
    #define ENABLE_QUADRATIC_ADVANCE 0

    // ################# Misc. settings ##################
    #define BAUDRATE 115200
    #define ENABLE_POWER_ON_STARTUP 0
    #define POWER_INVERTING 0
    #define KILL_METHOD 1
    #define ACK_WITH_LINENUMBER 1
    #define WAITING_IDENTIFIER "wait"
    #define ECHO_ON_EXECUTE 1
    #define EEPROM_MODE 1
    #undef PS_ON_PIN
    #define PS_ON_PIN -1
    #define JSON_OUTPUT 0
    /* ======== Servos =======
    Control the servos with
    M340 P<servoId> S<pulseInUS>   / ServoID = 0..3  pulseInUs = 500..2500
    Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
    WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware!
    */
    #define FEATURE_SERVO 0
    #define SERVO0_PIN 11
    #define SERVO1_PIN -1
    #define SERVO2_PIN -1
    #define SERVO3_PIN -1
    #define SERVO0_NEUTRAL_POS  -1
    #define SERVO1_NEUTRAL_POS  -1
    #define SERVO2_NEUTRAL_POS  -1
    #define SERVO3_NEUTRAL_POS  -1
    #define UI_SERVO_CONTROL 0
    #define FAN_KICKSTART_TIME  200
            #define FEATURE_WATCHDOG 1
    // #################### Z-Probing #####################
    #define Z_PROBE_Z_OFFSET 0
    #define Z_PROBE_Z_OFFSET_MODE 0
    #define UI_BED_COATING 0
    #define FEATURE_Z_PROBE 1
    #define Z_PROBE_BED_DISTANCE 10
    #define Z_PROBE_PIN ORIG_Z_MIN_PIN
    #define Z_PROBE_PULLUP 0
    #define Z_PROBE_ON_HIGH 0
    #define Z_PROBE_X_OFFSET 47
    #define Z_PROBE_Y_OFFSET 4
    #define Z_PROBE_WAIT_BEFORE_TEST 0
    #define Z_PROBE_SPEED 2
    #define Z_PROBE_XY_SPEED 150
    #define Z_PROBE_SWITCHING_DISTANCE 6
    #define Z_PROBE_REPETITIONS 5
    #define Z_PROBE_HEIGHT -3.29
    #define Z_PROBE_START_SCRIPT "G0 X50 Y75 F3000"
    #define Z_PROBE_FINISHED_SCRIPT "G28"
    #define Z_PROBE_REQUIRES_HEATING 0
    #define Z_PROBE_MIN_TEMPERATURE 150
    #define FEATURE_AUTOLEVEL 1
    #define Z_PROBE_X1 50
    #define Z_PROBE_Y1 20
    #define Z_PROBE_X2 135
    #define Z_PROBE_Y2 20
    #define Z_PROBE_X3 50
    #define Z_PROBE_Y3 135
    #define BED_LEVELING_METHOD 1
    #define BED_CORRECTION_METHOD 0
    #define BED_LEVELING_GRID_SIZE 3
    #define BED_LEVELING_REPETITIONS 5
    #define BED_MOTOR_1_X 0
    #define BED_MOTOR_1_Y 0
    #define BED_MOTOR_2_X 200
    #define BED_MOTOR_2_Y 0
    #define BED_MOTOR_3_X 100
    #define BED_MOTOR_3_Y 200
    #define BENDING_CORRECTION_A 0
    #define BENDING_CORRECTION_B 0
    #define BENDING_CORRECTION_C 0
    #define FEATURE_AXISCOMP 0
    #define AXISCOMP_TANXY 0
    #define AXISCOMP_TANYZ 0
    #define AXISCOMP_TANXZ 0
    #ifndef SDSUPPORT  // Some boards have sd support on board. These define the values already in pins.h
    #define SDSUPPORT 1
    #undef SDCARDDETECT
    #define SDCARDDETECT ORIG_SDCARDDETECT
    #define SDCARDDETECTINVERTED 0
    #endif
    #define SD_EXTENDED_DIR 1 /** Show extended directory including file length. Don't use this with Pronterface! */
    #define SD_RUN_ON_STOP ""
    #define SD_STOP_HEATER_AND_MOTORS_ON_STOP 1
    #define ARC_SUPPORT 1
    #define FEATURE_MEMORY_POSITION 1
    #define FEATURE_CHECKSUM_FORCED 0
    #define FEATURE_FAN_CONTROL 1
    #define FEATURE_FAN2_CONTROL 0
    #define FEATURE_CONTROLLER 24
    #define ADC_KEYPAD_PIN 1
    #define LANGUAGE_EN_ACTIVE 1
    #define LANGUAGE_DE_ACTIVE 0
    #define LANGUAGE_NL_ACTIVE 0
    #define LANGUAGE_PT_ACTIVE 0
    #define LANGUAGE_IT_ACTIVE 0
    #define LANGUAGE_ES_ACTIVE 0
    #define LANGUAGE_FI_ACTIVE 0
    #define LANGUAGE_SE_ACTIVE 0
    #define LANGUAGE_FR_ACTIVE 0
    #define LANGUAGE_CZ_ACTIVE 0
    #define LANGUAGE_PL_ACTIVE 0
    #define LANGUAGE_TR_ACTIVE 0
    #define UI_PRINTER_NAME "STARTT Modified"
    #define UI_PRINTER_COMPANY "iMakr.com"
    #define UI_PAGES_DURATION 4000
    #define UI_ANIMATION 0
    #define UI_SPEEDDEPENDENT_POSITIONING 0
    #define UI_DISABLE_AUTO_PAGESWITCH 1
    #define UI_AUTORETURN_TO_MENU_AFTER 30000
    #define FEATURE_UI_KEYS 0
    #define UI_ENCODER_SPEED 1
    #define UI_REVERSE_ENCODER 0
    #define UI_KEY_BOUNCETIME 20
    #define UI_KEY_FIRST_REPEAT 500
    #define UI_KEY_REDUCE_REPEAT 50
    #define UI_KEY_MIN_REPEAT 50
    #define FEATURE_BEEPER 0
    #define CASE_LIGHTS_PIN -1
    #define CASE_LIGHT_DEFAULT_ON 1
    #define UI_START_SCREEN_DELAY 1000
    #define UI_DYNAMIC_ENCODER_SPEED 0
            /**
    Beeper sound definitions for short beeps during key actions
    and longer beeps for important actions.
    Parameter is delay in microseconds and the secons is the number of repetitions.
    Values must be in range 1..255
    */
    #define BEEPER_SHORT_SEQUENCE 2,2
    #define BEEPER_LONG_SEQUENCE 8,8
    #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 70
    #define UI_SET_PRESET_EXTRUDER_TEMP_PLA   190
    #define UI_SET_PRESET_HEATED_BED_TEMP_ABS 100
    #define UI_SET_PRESET_EXTRUDER_TEMP_ABS   240
    #define UI_SET_MIN_HEATED_BED_TEMP  30
    #define UI_SET_MAX_HEATED_BED_TEMP 120
    #define UI_SET_MIN_EXTRUDER_TEMP   170
    #define UI_SET_MAX_EXTRUDER_TEMP   255
    #define UI_SET_EXTRUDER_FEEDRATE 2
    #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3

    #define NUM_MOTOR_DRIVERS 0
    /* Below you will find the configuration string, that created this Configuration.h
    ========== Start configuration string ==========
    {
        "editMode": 2,
        "processor": 0,
        "baudrate": 115200,
        "bluetoothSerial": -1,
        "bluetoothBaudrate": 115200,
        "xStepsPerMM": 100,
        "yStepsPerMM": 100,
        "zStepsPerMM": 1600,
        "xInvert": 0,
        "xInvertEnable": 0,
        "eepromMode": 1,
        "yInvert": 0,
        "yInvertEnable": 0,
        "zInvert": "1",
        "zInvertEnable": "1",
        "extruder": [
            {
                "id": 0,
                "heatManager": 1,
                "pidDriveMin": 50,
                "pidDriveMax": 230,
                "pidMax": 255,
                "sensorType": 8,
                "sensorPin": "TEMP_0_PIN",
                "heaterPin": "HEATER_0_PIN",
                "maxFeedrate": 50,
                "startFeedrate": 20,
                "invert": "0",
                "invertEnable": "0",
                "acceleration": 5000,
                "watchPeriod": 1,
                "pidP": 20.24,
                "pidI": 1.89,
                "pidD": 54.23,
                "advanceK": 0,
                "advanceL": 0,
                "waitRetractTemp": 150,
                "waitRetractUnits": 0,
                "waitRetract": 0,
                "stepsPerMM": 100,
                "coolerPin": -1,
                "coolerSpeed": 255,
                "selectCommands": "",
                "deselectCommands": "",
                "xOffset": 0,
                "yOffset": 0,
                "zOffset": 0,
                "xOffsetSteps": 0,
                "yOffsetSteps": 0,
                "zOffsetSteps": 0,
                "stepper": {
                    "name": "Extruder 0",
                    "step": "ORIG_E0_STEP_PIN",
                    "dir": "ORIG_E0_DIR_PIN",
                    "enable": "ORIG_E0_ENABLE_PIN"
                },
                "advanceBacklashSteps": 0,
                "decoupleTestPeriod": 12,
                "jamPin": -1,
                "jamPullup": "0",
                "mirror": "0",
                "invert2": "0",
                "stepper2": {
                    "name": "Extruder 0",
                    "step": "ORIG_E0_STEP_PIN",
                    "dir": "ORIG_E0_DIR_PIN",
                    "enable": "ORIG_E0_ENABLE_PIN"
                }
            }
        ],
        "uiLanguage": 0,
        "uiController": 0,
        "xMinEndstop": 1,
        "yMinEndstop": 1,
        "zMinEndstop": 4,
        "xMaxEndstop": 0,
        "yMaxEndstop": 0,
        "zMaxEndstop": 0,
        "motherboard": 63,
        "driveSystem": 0,
        "xMaxSpeed": 200,
        "xHomingSpeed": 40,
        "xTravelAcceleration": 400,
        "xPrintAcceleration": 400,
        "yMaxSpeed": 200,
        "yHomingSpeed": 40,
        "yTravelAcceleration": 400,
        "yPrintAcceleration": 400,
        "zMaxSpeed": 6,
        "zHomingSpeed": 3,
        "zTravelAcceleration": 100,
        "zPrintAcceleration": 100,
        "xMotor": {
            "name": "X motor",
            "step": "ORIG_X_STEP_PIN",
            "dir": "ORIG_X_DIR_PIN",
            "enable": "ORIG_X_ENABLE_PIN"
        },
        "yMotor": {
            "name": "Y motor",
            "step": "ORIG_Y_STEP_PIN",
            "dir": "ORIG_Y_DIR_PIN",
            "enable": "ORIG_Y_ENABLE_PIN"
        },
        "zMotor": {
            "name": "Z motor",
            "step": "ORIG_Z_STEP_PIN",
            "dir": "ORIG_Z_DIR_PIN",
            "enable": "ORIG_Z_ENABLE_PIN"
        },
        "enableBacklash": "0",
        "backlashX": 0,
        "backlashY": 0,
        "backlashZ": 0,
        "stepperInactiveTime": 360,
        "maxInactiveTime": 0,
        "xMinPos": -6,
        "yMinPos": 0,
        "zMinPos": 0,
        "xLength": 150,
        "yLength": 150,
        "zLength": 118,
        "alwaysCheckEndstops": "1",
        "disableX": "0",
        "disableY": "0",
        "disableZ": "0",
        "disableE": "0",
        "xHomeDir": "-1",
        "yHomeDir": "-1",
        "zHomeDir": "-1",
        "xEndstopBack": 1,
        "yEndstopBack": 1,
        "zEndstopBack": 0,
        "deltaSegmentsPerSecondPrint": 180,
        "deltaSegmentsPerSecondTravel": 70,
        "deltaDiagonalRod": 445,
        "deltaHorizontalRadius": 209.25,
        "deltaAlphaA": 210,
        "deltaAlphaB": 330,
        "deltaAlphaC": 90,
        "deltaDiagonalCorrA": 0,
        "deltaDiagonalCorrB": 0,
        "deltaDiagonalCorrC": 0,
        "deltaMaxRadius": 150,
        "deltaFloorSafetyMarginMM": 15,
        "deltaRadiusCorrA": 0,
        "deltaRadiusCorrB": 0,
        "deltaRadiusCorrC": 0,
        "deltaXOffsetSteps": 0,
        "deltaYOffsetSteps": 0,
        "deltaZOffsetSteps": 0,
        "deltaSegmentsPerLine": 24,
        "stepperHighDelay": 0,
        "directionDelay": 0,
        "stepDoublerFrequency": 12000,
        "allowQuadstepping": "1",
        "doubleStepDelay": 0,
        "maxJerk": 20,
        "maxZJerk": 0.3,
        "moveCacheSize": 16,
        "moveCacheLow": 10,
        "lowTicksPerMove": 250000,
        "enablePowerOnStartup": "0",
        "echoOnExecute": "1",
        "sendWaits": "1",
        "ackWithLineNumber": "1",
        "killMethod": 1,
        "useAdvance": "0",
        "useQuadraticAdvance": "0",
        "powerInverting": 0,
        "mirrorX": 0,
        "mirrorXMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorY": 0,
        "mirrorYMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorZ": "0",
        "mirrorZMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorZ3": "0",
        "mirrorZ3Motor": {
            "name": "Extruder 2",
            "step": "ORIG_E2_STEP_PIN",
            "dir": "ORIG_E2_DIR_PIN",
            "enable": "ORIG_E2_ENABLE_PIN"
        },
        "dittoPrinting": "0",
        "featureServos": "0",
        "servo0Pin": 11,
        "servo1Pin": -1,
        "servo2Pin": -1,
        "servo3Pin": -1,
        "featureWatchdog": "1",
        "hasHeatedBed": "1",
        "enableZProbing": "1",
        "extrudeMaxLength": 160,
        "homeOrder": "HOME_ORDER_ZXYTZ",
        "featureController": 24,
        "uiPrinterName": "STARTT Modified",
        "uiPrinterCompany": "iMakr.com",
        "uiPagesDuration": 4000,
        "uiAnimation": "0",
        "uiDisablePageswitch": "1",
        "uiAutoReturnAfter": 30000,
        "featureKeys": "0",
        "uiEncoderSpeed": 1,
        "uiReverseEncoder": "0",
        "uiKeyBouncetime": 20,
        "uiKeyFirstRepeat": 500,
        "uiKeyReduceRepeat": 50,
        "uiKeyMinRepeat": 50,
        "featureBeeper": "0",
        "uiPresetBedTempPLA": 70,
        "uiPresetBedABS": 100,
        "uiPresetExtruderPLA": 190,
        "uiPresetExtruderABS": 240,
        "uiMinHeatedBed": 30,
        "uiMaxHeatedBed": 120,
        "uiMinEtxruderTemp": 170,
        "uiMaxExtruderTemp": 255,
        "uiExtruderFeedrate": 2,
        "uiExtruderRetractDistance": 3,
        "uiSpeeddependentPositioning": "0",
        "maxBedTemperature": 120,
        "bedSensorType": 14,
        "bedSensorPin": "TEMP_1_PIN",
        "bedHeaterPin": 12,
        "bedHeatManager": 0,
        "bedUpdateInterval": 5000,
        "bedPidDriveMin": 80,
        "bedPidDriveMax": 255,
        "bedPidP": 196,
        "bedPidI": 33,
        "bedPidD": 290,
        "bedPidMax": 255,
        "bedDecoupleTestPeriod": 300,
        "caseLightPin": -1,
        "caseLightDefaultOn": "1",
        "bedSkipIfWithin": 3,
        "gen1T0": 25,
        "gen1R0": 100000,
        "gen1Beta": 4036,
        "gen1MinTemp": -20,
        "gen1MaxTemp": 300,
        "gen1R1": 0,
        "gen1R2": 4700,
        "gen2T0": 25,
        "gen2R0": 100000,
        "gen2Beta": 4036,
        "gen2MinTemp": -20,
        "gen2MaxTemp": 300,
        "gen2R1": 0,
        "gen2R2": 4700,
        "gen3T0": 25,
        "gen3R0": 100000,
        "gen3Beta": 4036,
        "gen3MinTemp": -20,
        "gen3MaxTemp": 300,
        "gen3R1": 0,
        "gen3R2": 4700,
        "userTable0": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "userTable1": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "userTable2": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "tempHysteresis": 0,
        "pidControlRange": 20,
        "skipM109Within": 2,
        "extruderFanCoolTemp": 50,
        "minTemp": 150,
        "maxTemp": 245,
        "minDefectTemp": 5,
        "maxDefectTemp": 260,
        "arcSupport": "1",
        "featureMemoryPositionWatchdog": "1",
        "forceChecksum": "0",
        "sdExtendedDir": "1",
        "featureFanControl": "1",
        "fanPin": "ORIG_FAN_PIN",
        "featureFan2Control": "0",
        "fan2Pin": "ORIG_FAN2_PIN",
        "fanThermoPin": -1,
        "fanThermoMinPWM": 128,
        "fanThermoMaxPWM": 255,
        "fanThermoMinTemp": 45,
        "fanThermoMaxTemp": 60,
        "fanThermoThermistorPin": -1,
        "fanThermoThermistorType": 1,
        "scalePidToMax": "1",
        "zProbePin": "ORIG_Z_MIN_PIN",
        "zProbeBedDistance": 10,
        "zProbePullup": "0",
        "zProbeOnHigh": "0",
        "zProbeXOffset": 47,
        "zProbeYOffset": 4,
        "zProbeWaitBeforeTest": "0",
        "zProbeSpeed": 2,
        "zProbeXYSpeed": 150,
        "zProbeHeight": 0,
        "zProbeStartScript": "G0 X50 Y75 F3000",
        "zProbeFinishedScript": "G28",
        "featureAutolevel": "1",
        "zProbeX1": 50,
        "zProbeY1": 20,
        "zProbeX2": 135,
        "zProbeY2": 20,
        "zProbeX3": 50,
        "zProbeY3": 135,
        "zProbeSwitchingDistance": 6,
        "zProbeRepetitions": 5,
        "sdSupport": "1",
        "sdCardDetectPin": "ORIG_SDCARDDETECT",
        "sdCardDetectInverted": "0",
        "uiStartScreenDelay": 1000,
        "xEndstopBackMove": 5,
        "yEndstopBackMove": 5,
        "zEndstopBackMove": 2,
        "xEndstopRetestFactor": 3,
        "yEndstopRetestFactor": 3,
        "zEndstopRetestFactor": 3,
        "xMinPin": "ORIG_X_MIN_PIN",
        "yMinPin": "ORIG_Y_MIN_PIN",
        "zMinPin": "ORIG_Z_MIN_PIN",
        "xMaxPin": "ORIG_X_MAX_PIN",
        "yMaxPin": "ORIG_Y_MAX_PIN",
        "zMaxPin": "ORIG_Z_MAX_PIN",
        "deltaHomeOnPower": "0",
        "fanBoardPin": -1,
        "heaterPWMSpeed": 0,
        "featureBabystepping": "1",
        "babystepMultiplicator": 1,
        "pdmForHeater": "0",
        "pdmForCooler": "0",
        "psOn": -1,
        "mixingExtruder": "0",
        "decouplingTestMaxHoldVariance": 20,
        "decouplingTestMinTempRise": 1,
        "featureAxisComp": "0",
        "axisCompTanXY": 0,
        "axisCompTanXZ": 0,
        "axisCompTanYZ": 0,
        "retractOnPause": 2,
        "pauseStartCommands": "",
        "pauseEndCommands": "",
        "distortionCorrection": "0",
        "distortionCorrectionPoints": 5,
        "distortionCorrectionR": 100,
        "distortionPermanent": "1",
        "distortionUpdateFrequency": 15,
        "distortionStartDegrade": 0.5,
        "distortionEndDegrade": 1,
        "distortionExtrapolateCorners": "0",
        "distortionXMin": 10,
        "distortionXMax": 190,
        "distortionYMin": 10,
        "distortionYMax": 190,
        "sdRunOnStop": "",
        "sdStopHeaterMotorsOnStop": "1",
        "featureRetraction": "0",
        "autoretractEnabled": "0",
        "retractionLength": 3,
        "retractionLongLength": 13,
        "retractionSpeed": 40,
        "retractionZLift": 0,
        "retractionUndoExtraLength": 0,
        "retractionUndoExtraLongLength": 0,
        "retractionUndoSpeed": 20,
        "filamentChangeXPos": 0,
        "filamentChangeYPos": 0,
        "filamentChangeZAdd": 2,
        "filamentChangeRehome": 1,
        "filamentChangeShortRetract": 5,
        "filamentChangeLongRetract": 50,
        "fanKickstart": 200,
        "servo0StartPos": -1,
        "servo1StartPos": -1,
        "servo2StartPos": -1,
        "servo3StartPos": -1,
        "uiDynamicEncoderSpeed": "0",
        "uiServoControl": 0,
        "killIfSensorDefect": "0",
        "jamSteps": 220,
        "jamSlowdownSteps": 320,
        "jamSlowdownTo": 70,
        "jamErrorSteps": 500,
        "jamMinSteps": 10,
        "jamAction": 1,
        "primaryPort": 0,
        "numMotorDrivers": 0,
        "motorDrivers": [
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            }
        ],
        "manualConfig": "",
        "zHomeMinTemperature": 0,
        "zHomeXPos": 50,
        "zHomeYPos": 70,
        "zHomeHeatHeight": 10,
        "zHomeHeatAll": "0",
        "zProbeZOffsetMode": 0,
        "zProbeZOffset": 0,
        "uiBedCoating": "0",
        "langEN": "1",
        "langDE": "0",
        "langNL": "0",
        "langPT": "0",
        "langIT": "0",
        "langES": "0",
        "langFI": "0",
        "langSE": "0",
        "langFR": "0",
        "langCZ": "0",
        "langPL": "0",
        "langTR": "0",
        "interpolateAccelerationWithZ": 0,
        "accelerationFactorTop": 100,
        "bendingCorrectionA": 0,
        "bendingCorrectionB": 0,
        "bendingCorrectionC": 0,
        "preventZDisableOnStepperTimeout": "0",
        "supportLaser": "0",
        "laserPin": -1,
        "laserOnHigh": "1",
        "defaultPrinterMode": 0,
        "supportCNC": "0",
        "cncWaitOnEnable": 300,
        "cncWaitOnDisable": 0,
        "cncEnablePin": -1,
        "cncEnableWith": "1",
        "cncDirectionPin": -1,
        "cncDirectionCW": "1",
        "startupGCode": "",
        "jsonOutput": "0",
        "bedLevelingMethod": 1,
        "bedCorrectionMethod": 0,
        "bedLevelingGridSize": 3,
        "bedLevelingRepetitions": 5,
        "bedMotor1X": 0,
        "bedMotor1Y": 0,
        "bedMotor2X": 200,
        "bedMotor2Y": 0,
        "bedMotor3X": 100,
        "bedMotor3Y": 200,
        "zProbeRequiresHeating": "0",
        "zProbeMinTemperature": 150,
        "adcKeypadPin": "1",
        "sharedExtruderHeater": "0",
        "extruderSwitchXYSpeed": 100,
        "dualXAxis": "0",
        "boardFanSpeed": 255,
        "hasMAX6675": false,
        "hasMAX31855": false,
        "hasGeneric1": false,
        "hasGeneric2": false,
        "hasGeneric3": false,
        "hasUser0": false,
        "hasUser1": false,
        "hasUser2": false,
        "numExtruder": 1,
        "version": 92.9,
        "primaryPortName": ""
    }
    ========== End configuration string ==========
    */
  • In config tool you can simply select which endstop is on which pin. So for z min set not connected and z max set the z min pin and change homing direction and you have z max homing.

    You need a separate pin for z probe. You can use any free digital pin on the board. The endstop pins just have the advantage of having 5V/GND as additional pins so you have power in addition by just using a 3 pin switch, but if you connect power somewhere else it would also work.
  • Repetier said:
    In config tool you can simply select which endstop is on which pin. So for z min set not connected and z max set the z min pin and change homing direction and you have z max homing.

    You need a separate pin for z probe. You can use any free digital pin on the board. The endstop pins just have the advantage of having 5V/GND as additional pins so you have power in addition by just using a 3 pin switch, but if you connect power somewhere else it would also work.
    Wow. I knew there must be a simple solution. For the separate digital pin Could I use the ISP programmer pins e.g MISO, SCK or MOSI ?  (my probe has a separate power input.)
    off the top of my head i’m Not sure the melzi has any other spare digital pins unless I mess with the LCD connector port (which I don’t want to do.)

    thanks 
  • Great! I now have a ZMAX endstop, and my z probe is triggering with the pin I found. So all working with M119. Is it normal when homing Z axis alone to the Z MAX end stop for it to go up and down 3 times. This takes quite a while! This also happens when homing all, I am set to Z up X, Y preheat Z.

    Now to calibrate the Z probe!
  • WIth z max you have no special problems needing preheat. Here simply use z,x,y which is always safe since going up does not hit anything.

    MISO/SCK/MOSI can only be used if you do not need them for sd card or other SPI devices, but you seem to have found a free pin, so good job.
  • Thank you. Z probing in action!! Just one last question please. I changed my homing as you suggested to z, x, y. When I simply via the host manual control bring the z axis down by even 0.01mm the hot end descends to the bed, it doesn’t crash into it but I wondered if this was normal? Is it just descending to the z probe max bed distance setting and is this to be expected. I’ve found the whole Z Max endstop very confusing and unnatural but I’m getting used to it.

    Thanks again
  • Ok not quite in action thought I’d cracked it, but not quite. Issues:

    1. issue above of once homed planning to move any step in the negative z axis (0.01mm or above) and the hot end automatically lowers to the z Max length but when I send an M114 the z is at 0.0 ( its 0.0 when it’s homed at Z Max) is this normal or is there an issue with my configuration.h?

    2. I can do a z probe calibration and then Home and send a G32 S2, and I got it to print once. (Hence I thought success) but when I go to print now, once it’s probed the bed and then homed it lowers to the bed but then goes bellow it causing a crash. I’m confused.
    When I go to print I want it to lower to a safe height then move to the bed, not crash into it.

    3. When I calibrate the probe, I’ve been doing it in the centre of the bed, is this correct? Or should I do it close to 0,0

    Thanks
  • here's my config.h 


    #ifndef CONFIGURATION_H
    #define CONFIGURATION_H

    /**************** READ FIRST ************************

       This configuration file was created with the configuration tool. For that
       reason, it does not contain the same informations as the original Configuration.h file.
       It misses the comments and unused parts. Open this file file in the config tool
       to see and change the data. You can also upload it to newer/older versions. The system
       will silently add new options, so compilation continues to work.

       This file is optimized for version 0.92

       If you are in doubt which named functions use which pins on your board, please check the
       pins.h for the used name->pin assignments and your board documentation to verify it is
       as you expect.

    */

    #define NUM_EXTRUDER 1
    #define MOTHERBOARD 63
    #include "pins.h"

    // ################## EDIT THESE SETTINGS MANUALLY ################
    // ################ END MANUAL SETTINGS ##########################

    #undef FAN_BOARD_PIN
    #define FAN_BOARD_PIN -1
    #define BOARD_FAN_SPEED 255
    #define FAN_THERMO_PIN -1
    #define FAN_THERMO_MIN_PWM 128
    #define FAN_THERMO_MAX_PWM 255
    #define FAN_THERMO_MIN_TEMP 45
    #define FAN_THERMO_MAX_TEMP 60
    #define FAN_THERMO_THERMISTOR_PIN -1
    #define FAN_THERMO_THERMISTOR_TYPE 1
    #undef Z_MAX_PIN
    #define Z_MAX_PIN ORIG_Z_MIN_PIN

    //#define EXTERNALSERIAL  use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer.
    // Uncomment the following line if you are using Arduino compatible firmware made for Arduino version earlier then 1.0
    // If it is incompatible you will get compiler errors about write functions not being compatible!
    //#define COMPAT_PRE1
    #define BLUETOOTH_SERIAL  -1
    #define BLUETOOTH_BAUD  115200
    #define MIXING_EXTRUDER 0

    #define DRIVE_SYSTEM 0
    #define XAXIS_STEPS_PER_MM 100
    #define YAXIS_STEPS_PER_MM 100
    #define ZAXIS_STEPS_PER_MM 1600
    #define EXTRUDER_FAN_COOL_TEMP 50
    #define PDM_FOR_EXTRUDER 0
    #define PDM_FOR_COOLER 0
    #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
    #define DECOUPLING_TEST_MIN_TEMP_RISE 1
    #define KILL_IF_SENSOR_DEFECT 0
    #define RETRACT_ON_PAUSE 2
    #define PAUSE_START_COMMANDS ""
    #define PAUSE_END_COMMANDS ""
    #define SHARED_EXTRUDER_HEATER 0
    #define EXT0_X_OFFSET 0
    #define EXT0_Y_OFFSET 0
    #define EXT0_Z_OFFSET 0
    #define EXT0_STEPS_PER_MM 100
    #define EXT0_TEMPSENSOR_TYPE 8
    #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
    #define EXT0_HEATER_PIN HEATER_0_PIN
    #define EXT0_STEP_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE 0
    #define EXT0_ENABLE_PIN ORIG_E0_ENABLE_PIN
    #define EXT0_ENABLE_ON 0
    #define EXT0_MIRROR_STEPPER 0
    #define EXT0_STEP2_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR2_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE2 0
    #define EXT0_ENABLE2_PIN ORIG_E0_ENABLE_PIN
    #define EXT0_MAX_FEEDRATE 50
    #define EXT0_MAX_START_FEEDRATE 20
    #define EXT0_MAX_ACCELERATION 5000
    #define EXT0_HEAT_MANAGER 1
    #define EXT0_WATCHPERIOD 1
    #define EXT0_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT0_PID_INTEGRAL_DRIVE_MIN 50
    #define EXT0_PID_PGAIN_OR_DEAD_TIME 20.24
    #define EXT0_PID_I 1.89
    #define EXT0_PID_D 54.23
    #define EXT0_PID_MAX 255
    #define EXT0_ADVANCE_K 0
    #define EXT0_ADVANCE_L 0
    #define EXT0_ADVANCE_BACKLASH_STEPS 0
    #define EXT0_WAIT_RETRACT_TEMP 150
    #define EXT0_WAIT_RETRACT_UNITS 0
    #define EXT0_SELECT_COMMANDS ""
    #define EXT0_DESELECT_COMMANDS ""
    #define EXT0_EXTRUDER_COOLER_PIN -1
    #define EXT0_EXTRUDER_COOLER_SPEED 255
    #define EXT0_DECOUPLE_TEST_PERIOD 12000
    #define EXT0_JAM_PIN -1
    #define EXT0_JAM_PULLUP 0

    #define FEATURE_RETRACTION 0
    #define AUTORETRACT_ENABLED 0
    #define RETRACTION_LENGTH 3
    #define RETRACTION_LONG_LENGTH 13
    #define RETRACTION_SPEED 40
    #define RETRACTION_Z_LIFT 0
    #define RETRACTION_UNDO_EXTRA_LENGTH 0
    #define RETRACTION_UNDO_EXTRA_LONG_LENGTH 0
    #define RETRACTION_UNDO_SPEED 20
    #define FILAMENTCHANGE_X_POS 0
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  2
    #define FILAMENTCHANGE_REHOME 1
    #define FILAMENTCHANGE_SHORTRETRACT 5
    #define FILAMENTCHANGE_LONGRETRACT 50
    #define JAM_STEPS 220
    #define JAM_SLOWDOWN_STEPS 320
    #define JAM_SLOWDOWN_TO 70
    #define JAM_ERROR_STEPS 500
    #define JAM_MIN_STEPS 10
    #define JAM_ACTION 1

    #define RETRACT_DURING_HEATUP true
    #define PID_CONTROL_RANGE 20
    #define SKIP_M109_IF_WITHIN 2
    #define SCALE_PID_TO_MAX 1
    #define TEMP_HYSTERESIS 0
    #define EXTRUDE_MAXLENGTH 160
    #define NUM_TEMPS_USERTHERMISTOR0 0
    #define USER_THERMISTORTABLE0 {}
    #define NUM_TEMPS_USERTHERMISTOR1 0
    #define USER_THERMISTORTABLE1 {}
    #define NUM_TEMPS_USERTHERMISTOR2 0
    #define USER_THERMISTORTABLE2 {}
    #define GENERIC_THERM_VREF 5
    #define GENERIC_THERM_NUM_ENTRIES 33
    #define HEATER_PWM_SPEED 0

    // ############# Heated bed configuration ########################

    #define HAVE_HEATED_BED 1
    #define HEATED_BED_MAX_TEMP 120
    #define SKIP_M190_IF_WITHIN 3
    #define HEATED_BED_SENSOR_TYPE 14
    #define HEATED_BED_SENSOR_PIN TEMP_1_PIN
    #define HEATED_BED_HEATER_PIN 12
    #define HEATED_BED_SET_INTERVAL 5000
    #define HEATED_BED_HEAT_MANAGER 0
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
    #define HEATED_BED_PID_PGAIN_OR_DEAD_TIME   196
    #define HEATED_BED_PID_IGAIN   33
    #define HEATED_BED_PID_DGAIN 290
    #define HEATED_BED_PID_MAX 255
    #define HEATED_BED_DECOUPLE_TEST_PERIOD 300000
    #define MIN_EXTRUDER_TEMP 150
    #define MAXTEMP 245
    #define MIN_DEFECT_TEMPERATURE 5
    #define MAX_DEFECT_TEMPERATURE 260

    // ##########################################################################################
    // ##                             Laser configuration                                      ##
    // ##########################################################################################

    /*
    If the firmware is in laser mode, it can control a laser output to cut or engrave materials.
    Please use this feature only if you know about safety and required protection. Lasers are
    dangerous and can hurt or make you blind!!!

    The default laser driver only supports laser on and off. Here you control the eíntensity with
    your feedrate. For exchangeable diode lasers this is normally enough. If you need more control
    you can set the intensity in a range 0-255 with a custom extension to the driver. See driver.h
    and comments on how to extend the functions non invasive with our event system.

    If you have a laser - powder system you will like your E override. If moves contain a
    increasing extruder position it will laser that move. With this trick you can
    use existing fdm slicers to laser the output. Laser width is extrusion width.

    Other tools may use M3 and M5 to enable/disable laser. Here G1/G2/G3 moves have laser enabled
    and G0 moves have it disables.

    In any case, laser only enables while moving. At the end of a move it gets
    automatically disabled.
    */

    #define SUPPORT_LASER 0
    #define LASER_PIN -1
    #define LASER_ON_HIGH 1

    // ##                              CNC configuration                                       ##

    /*
    If the firmware is in CNC mode, it can control a mill with M3/M4/M5. It works
    similar to laser mode, but mill keeps enabled during G0 moves and it allows
    setting rpm (only with event extension that supports this) and milling direction.
    It also can add a delay to wait for spindle to run on full speed.
    */

    #define SUPPORT_CNC 0
    #define CNC_WAIT_ON_ENABLE 300
    #define CNC_WAIT_ON_DISABLE 0
    #define CNC_ENABLE_PIN -1
    #define CNC_ENABLE_WITH 1
    #define CNC_DIRECTION_PIN -1
    #define CNC_DIRECTION_CW 1


    #define DEFAULT_PRINTER_MODE 0

    // ################ Endstop configuration #####################

    #define ENDSTOP_PULLUP_X_MIN true
    #define ENDSTOP_X_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_X true
    #define ENDSTOP_PULLUP_Y_MIN true
    #define ENDSTOP_Y_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Y true
    #define ENDSTOP_PULLUP_Z_MIN true
    #define ENDSTOP_Z_MIN_INVERTING false
    #define MIN_HARDWARE_ENDSTOP_Z false
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_X_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_X false
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_Y_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Y false
    #define ENDSTOP_PULLUP_Z_MAX true
    #define ENDSTOP_Z_MAX_INVERTING true
    #define MAX_HARDWARE_ENDSTOP_Z true
    #define max_software_endstop_r true

    #define min_software_endstop_x false
    #define min_software_endstop_y false
    #define min_software_endstop_z true
    #define max_software_endstop_x true
    #define max_software_endstop_y true
    #define max_software_endstop_z false
    #define ENDSTOP_X_BACK_MOVE 5
    #define ENDSTOP_Y_BACK_MOVE 5
    #define ENDSTOP_Z_BACK_MOVE 2
    #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1
    #define ENDSTOP_Z_BACK_ON_HOME 0
    #define ALWAYS_CHECK_ENDSTOPS 1

    // ################# XYZ movements ###################

    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define DISABLE_X 0
    #define DISABLE_Y 0
    #define DISABLE_Z 0
    #define DISABLE_E 0
    #define INVERT_X_DIR 0
    #define INVERT_Y_DIR 0
    #define INVERT_Z_DIR 1
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR 1
    #define X_MAX_LENGTH 157
    #define Y_MAX_LENGTH 152
    #define Z_MAX_LENGTH 125
    #define X_MIN_POS -7
    #define Y_MIN_POS -2
    #define Z_MIN_POS 0
    #define DISTORTION_CORRECTION 0
    #define DISTORTION_CORRECTION_POINTS 5
    #define DISTORTION_CORRECTION_R 100
    #define DISTORTION_PERMANENT 1
    #define DISTORTION_UPDATE_FREQUENCY 15
    #define DISTORTION_START_DEGRADE 0.5
    #define DISTORTION_END_HEIGHT 1
    #define DISTORTION_EXTRAPOLATE_CORNERS 0
    #define DISTORTION_XMIN 10
    #define DISTORTION_YMIN 10
    #define DISTORTION_XMAX 190
    #define DISTORTION_YMAX 190

    // ##########################################################################################
    // ##                           Movement settings                                          ##
    // ##########################################################################################

    #define FEATURE_BABYSTEPPING 1
    #define BABYSTEP_MULTIPLICATOR 1

    #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
    #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves
    #define EXACT_DELTA_MOVES 1

    // Delta settings
    #define DELTA_HOME_ON_POWER 0

    #define DELTASEGMENTS_PER_PRINTLINE 24
    #define STEPPER_INACTIVE_TIME 360L
    #define MAX_INACTIVE_TIME 0L
    #define MAX_FEEDRATE_X 200
    #define MAX_FEEDRATE_Y 200
    #define MAX_FEEDRATE_Z 6
    #define HOMING_FEEDRATE_X 40
    #define HOMING_FEEDRATE_Y 40
    #define HOMING_FEEDRATE_Z 3
    #define HOMING_ORDER HOME_ORDER_ZXY
    #define ZHOME_MIN_TEMPERATURE 0
    #define ZHOME_HEAT_ALL 0
    #define ZHOME_HEAT_HEIGHT 10
    #define ZHOME_X_POS 50
    #define ZHOME_Y_POS 70
    #define ENABLE_BACKLASH_COMPENSATION 0
    #define X_BACKLASH 0
    #define Y_BACKLASH 0
    #define Z_BACKLASH 0
    #define RAMP_ACCELERATION 1
    #define STEPPER_HIGH_DELAY 0
    #define DIRECTION_DELAY 0
    #define STEP_DOUBLER_FREQUENCY 12000
    #define ALLOW_QUADSTEPPING 1
    #define DOUBLE_STEP_DELAY 0 // time in microseconds
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 400
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 400
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 400
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 400
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define INTERPOLATE_ACCELERATION_WITH_Z 0
    #define ACCELERATION_FACTOR_TOP 100
    #define MAX_JERK 20
    #define MAX_ZJERK 0.3
    #define PRINTLINE_CACHE_SIZE 16
    #define MOVE_CACHE_LOW 10
    #define LOW_TICKS_PER_MOVE 250000
    #define EXTRUDER_SWITCH_XY_SPEED 100
    #define DUAL_X_AXIS 0
    #define FEATURE_TWO_XSTEPPER 0
    #define X2_STEP_PIN   ORIG_E1_STEP_PIN
    #define X2_DIR_PIN    ORIG_E1_DIR_PIN
    #define X2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_TWO_YSTEPPER 0
    #define Y2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Y2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Y2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_TWO_ZSTEPPER 0
    #define Z2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Z2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Z2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_THREE_ZSTEPPER 0
    #define Z3_STEP_PIN   ORIG_E2_STEP_PIN
    #define Z3_DIR_PIN    ORIG_E2_DIR_PIN
    #define Z3_ENABLE_PIN ORIG_E2_ENABLE_PIN
    #define FEATURE_DITTO_PRINTING 0
    #define USE_ADVANCE 0
    #define ENABLE_QUADRATIC_ADVANCE 0


    // ################# Misc. settings ##################

    #define BAUDRATE 115200
    #define ENABLE_POWER_ON_STARTUP 0
    #define POWER_INVERTING 0
    #define KILL_METHOD 1
    #define ACK_WITH_LINENUMBER 1
    #define WAITING_IDENTIFIER "wait"
    #define ECHO_ON_EXECUTE 1
    #define EEPROM_MODE 1
    #undef PS_ON_PIN
    #define PS_ON_PIN -1
    #define JSON_OUTPUT 0

    /* ======== Servos =======
    Control the servos with
    M340 P<servoId> S<pulseInUS>   / ServoID = 0..3  pulseInUs = 500..2500
    Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
    WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware!
    */
    #define FEATURE_SERVO 0
    #define SERVO0_PIN 11
    #define SERVO1_PIN -1
    #define SERVO2_PIN -1
    #define SERVO3_PIN -1
    #define SERVO0_NEUTRAL_POS  -1
    #define SERVO1_NEUTRAL_POS  -1
    #define SERVO2_NEUTRAL_POS  -1
    #define SERVO3_NEUTRAL_POS  -1
    #define UI_SERVO_CONTROL 0
    #define FAN_KICKSTART_TIME  200

            #define FEATURE_WATCHDOG 1

    // #################### Z-Probing #####################

    #define Z_PROBE_Z_OFFSET 0
    #define Z_PROBE_Z_OFFSET_MODE 0
    #define UI_BED_COATING 0
    #define FEATURE_Z_PROBE 1
    #define Z_PROBE_BED_DISTANCE 10
    #define Z_PROBE_PIN 6
    #define Z_PROBE_PULLUP 0
    #define Z_PROBE_ON_HIGH 0
    #define Z_PROBE_X_OFFSET 47
    #define Z_PROBE_Y_OFFSET 4
    #define Z_PROBE_WAIT_BEFORE_TEST 0
    #define Z_PROBE_SPEED 2
    #define Z_PROBE_XY_SPEED 150
    #define Z_PROBE_SWITCHING_DISTANCE 1
    #define Z_PROBE_REPETITIONS 3
    #define Z_PROBE_HEIGHT 0
    #define Z_PROBE_START_SCRIPT ""
    #define Z_PROBE_FINISHED_SCRIPT ""
    #define Z_PROBE_REQUIRES_HEATING 0
    #define Z_PROBE_MIN_TEMPERATURE 150
    #define FEATURE_AUTOLEVEL 1
    #define Z_PROBE_X1 -30
    #define Z_PROBE_Y1 10
    #define Z_PROBE_X2 30
    #define Z_PROBE_Y2 10
    #define Z_PROBE_X3 0
    #define Z_PROBE_Y3 120
    #define BED_LEVELING_METHOD 1
    #define BED_CORRECTION_METHOD 0
    #define BED_LEVELING_GRID_SIZE 3
    #define BED_LEVELING_REPETITIONS 5
    #define BED_MOTOR_1_X 0
    #define BED_MOTOR_1_Y 0
    #define BED_MOTOR_2_X 200
    #define BED_MOTOR_2_Y 0
    #define BED_MOTOR_3_X 100
    #define BED_MOTOR_3_Y 200
    #define BENDING_CORRECTION_A 0
    #define BENDING_CORRECTION_B 0
    #define BENDING_CORRECTION_C 0
    #define FEATURE_AXISCOMP 0
    #define AXISCOMP_TANXY 0
    #define AXISCOMP_TANYZ 0
    #define AXISCOMP_TANXZ 0

    #ifndef SDSUPPORT  // Some boards have sd support on board. These define the values already in pins.h
    #define SDSUPPORT 1
    #undef SDCARDDETECT
    #define SDCARDDETECT ORIG_SDCARDDETECT
    #define SDCARDDETECTINVERTED 0
    #define SD_EXTENDED_DIR 1 /** Show extended directory including file length. Don't use this with Pronterface! */
    #define SD_RUN_ON_STOP ""
    #define SD_STOP_HEATER_AND_MOTORS_ON_STOP 1
    #define ARC_SUPPORT 1
    #define FEATURE_MEMORY_POSITION 1
    #define FEATURE_CHECKSUM_FORCED 0
    #define FEATURE_FAN_CONTROL 1
    #define FEATURE_FAN2_CONTROL 0
    #define FEATURE_CONTROLLER 24
    #define ADC_KEYPAD_PIN 1
    #define LANGUAGE_EN_ACTIVE 1
    #define LANGUAGE_DE_ACTIVE 0
    #define LANGUAGE_NL_ACTIVE 0
    #define LANGUAGE_PT_ACTIVE 0
    #define LANGUAGE_IT_ACTIVE 0
    #define LANGUAGE_ES_ACTIVE 0
    #define LANGUAGE_FI_ACTIVE 0
    #define LANGUAGE_SE_ACTIVE 0
    #define LANGUAGE_FR_ACTIVE 0
    #define LANGUAGE_CZ_ACTIVE 0
    #define LANGUAGE_PL_ACTIVE 0
    #define LANGUAGE_TR_ACTIVE 0
    #define UI_PRINTER_NAME "STARTT Modified"
    #define UI_PRINTER_COMPANY "iMakr.com"
    #define UI_PAGES_DURATION 4000
    #define UI_ANIMATION 0
    #define UI_SPEEDDEPENDENT_POSITIONING 0
    #define UI_DISABLE_AUTO_PAGESWITCH 1
    #define UI_AUTORETURN_TO_MENU_AFTER 30000
    #define FEATURE_UI_KEYS 0
    #define UI_ENCODER_SPEED 1
    #define UI_REVERSE_ENCODER 0
    #define UI_KEY_BOUNCETIME 20
    #define UI_KEY_FIRST_REPEAT 500
    #define UI_KEY_REDUCE_REPEAT 50
    #define UI_KEY_MIN_REPEAT 50
    #define FEATURE_BEEPER 0
    #define CASE_LIGHTS_PIN -1
    #define CASE_LIGHT_DEFAULT_ON 1
    #define UI_START_SCREEN_DELAY 1000
    #define UI_DYNAMIC_ENCODER_SPEED 0
            /**
    Beeper sound definitions for short beeps during key actions
    and longer beeps for important actions.
    Parameter is delay in microseconds and the secons is the number of repetitions.
    Values must be in range 1..255
    */
    #define BEEPER_SHORT_SEQUENCE 2,2
    #define BEEPER_LONG_SEQUENCE 8,8
    #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 70
    #define UI_SET_PRESET_EXTRUDER_TEMP_PLA   190
    #define UI_SET_PRESET_HEATED_BED_TEMP_ABS 100
    #define UI_SET_PRESET_EXTRUDER_TEMP_ABS   240
    #define UI_SET_MIN_HEATED_BED_TEMP  30
    #define UI_SET_MAX_HEATED_BED_TEMP 120
    #define UI_SET_MIN_EXTRUDER_TEMP   170
    #define UI_SET_MAX_EXTRUDER_TEMP   255
    #define UI_SET_EXTRUDER_FEEDRATE 2
    #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3


    #define NUM_MOTOR_DRIVERS 0




    /* Below you will find the configuration string, that created this Configuration.h

    ========== Start configuration string ==========
    {
        "editMode": 2,
        "processor": 0,
        "baudrate": 115200,
        "bluetoothSerial": -1,
        "bluetoothBaudrate": 115200,
        "xStepsPerMM": 100,
        "yStepsPerMM": 100,
        "zStepsPerMM": 1600,
        "xInvert": 0,
        "xInvertEnable": 0,
        "eepromMode": 1,
        "yInvert": 0,
        "yInvertEnable": 0,
        "zInvert": "1",
        "zInvertEnable": "0",
        "extruder": [
            {
                "id": 0,
                "heatManager": 1,
                "pidDriveMin": 50,
                "pidDriveMax": 230,
                "pidMax": 255,
                "sensorType": 8,
                "sensorPin": "TEMP_0_PIN",
                "heaterPin": "HEATER_0_PIN",
                "maxFeedrate": 50,
                "startFeedrate": 20,
                "invert": "0",
                "invertEnable": "0",
                "acceleration": 5000,
                "watchPeriod": 1,
                "pidP": 20.24,
                "pidI": 1.89,
                "pidD": 54.23,
                "advanceK": 0,
                "advanceL": 0,
                "waitRetractTemp": 150,
                "waitRetractUnits": 0,
                "waitRetract": 0,
                "stepsPerMM": 100,
                "coolerPin": -1,
                "coolerSpeed": 255,
                "selectCommands": "",
                "deselectCommands": "",
                "xOffset": 0,
                "yOffset": 0,
                "zOffset": 0,
                "xOffsetSteps": 0,
                "yOffsetSteps": 0,
                "zOffsetSteps": 0,
                "stepper": {
                    "name": "Extruder 0",
                    "step": "ORIG_E0_STEP_PIN",
                    "dir": "ORIG_E0_DIR_PIN",
                    "enable": "ORIG_E0_ENABLE_PIN"
                },
                "advanceBacklashSteps": 0,
                "decoupleTestPeriod": 12,
                "jamPin": -1,
                "jamPullup": "0",
                "mirror": "0",
                "invert2": "0",
                "stepper2": {
                    "name": "Extruder 0",
                    "step": "ORIG_E0_STEP_PIN",
                    "dir": "ORIG_E0_DIR_PIN",
                    "enable": "ORIG_E0_ENABLE_PIN"
                }
            }
        ],
        "uiLanguage": 0,
        "uiController": 0,
        "xMinEndstop": 1,
        "yMinEndstop": 1,
        "zMinEndstop": 0,
        "xMaxEndstop": 0,
        "yMaxEndstop": 0,
        "zMaxEndstop": 1,
        "motherboard": 63,
        "driveSystem": 0,
        "xMaxSpeed": 200,
        "xHomingSpeed": 40,
        "xTravelAcceleration": 400,
        "xPrintAcceleration": 400,
        "yMaxSpeed": 200,
        "yHomingSpeed": 40,
        "yTravelAcceleration": 400,
        "yPrintAcceleration": 400,
        "zMaxSpeed": 6,
        "zHomingSpeed": 3,
        "zTravelAcceleration": 100,
        "zPrintAcceleration": 100,
        "xMotor": {
            "name": "X motor",
            "step": "ORIG_X_STEP_PIN",
            "dir": "ORIG_X_DIR_PIN",
            "enable": "ORIG_X_ENABLE_PIN"
        },
        "yMotor": {
            "name": "Y motor",
            "step": "ORIG_Y_STEP_PIN",
            "dir": "ORIG_Y_DIR_PIN",
            "enable": "ORIG_Y_ENABLE_PIN"
        },
        "zMotor": {
            "name": "Z motor",
            "step": "ORIG_Z_STEP_PIN",
            "dir": "ORIG_Z_DIR_PIN",
            "enable": "ORIG_Z_ENABLE_PIN"
        },
        "enableBacklash": "0",
        "backlashX": 0,
        "backlashY": 0,
        "backlashZ": 0,
        "stepperInactiveTime": 360,
        "maxInactiveTime": 0,
        "xMinPos": -7,
        "yMinPos": -2,
        "zMinPos": 0,
        "xLength": 157,
        "yLength": 152,
        "zLength": 125,
        "alwaysCheckEndstops": "1",
        "disableX": "0",
        "disableY": "0",
        "disableZ": "0",
        "disableE": "0",
        "xHomeDir": "-1",
        "yHomeDir": "-1",
        "zHomeDir": "1",
        "xEndstopBack": 1,
        "yEndstopBack": 1,
        "zEndstopBack": 0,
        "deltaSegmentsPerSecondPrint": 180,
        "deltaSegmentsPerSecondTravel": 70,
        "deltaDiagonalRod": 445,
        "deltaHorizontalRadius": 209.25,
        "deltaAlphaA": 210,
        "deltaAlphaB": 330,
        "deltaAlphaC": 90,
        "deltaDiagonalCorrA": 0,
        "deltaDiagonalCorrB": 0,
        "deltaDiagonalCorrC": 0,
        "deltaMaxRadius": 150,
        "deltaFloorSafetyMarginMM": 15,
        "deltaRadiusCorrA": 0,
        "deltaRadiusCorrB": 0,
        "deltaRadiusCorrC": 0,
        "deltaXOffsetSteps": 0,
        "deltaYOffsetSteps": 0,
        "deltaZOffsetSteps": 0,
        "deltaSegmentsPerLine": 24,
        "stepperHighDelay": 0,
        "directionDelay": 0,
        "stepDoublerFrequency": 12000,
        "allowQuadstepping": "1",
        "doubleStepDelay": 0,
        "maxJerk": 20,
        "maxZJerk": 0.3,
        "moveCacheSize": 16,
        "moveCacheLow": 10,
        "lowTicksPerMove": 250000,
        "enablePowerOnStartup": "0",
        "echoOnExecute": "1",
        "sendWaits": "1",
        "ackWithLineNumber": "1",
        "killMethod": 1,
        "useAdvance": "0",
        "useQuadraticAdvance": "0",
        "powerInverting": 0,
        "mirrorX": 0,
        "mirrorXMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorY": 0,
        "mirrorYMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorZ": "0",
        "mirrorZMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorZ3": "0",
        "mirrorZ3Motor": {
            "name": "Extruder 2",
            "step": "ORIG_E2_STEP_PIN",
            "dir": "ORIG_E2_DIR_PIN",
            "enable": "ORIG_E2_ENABLE_PIN"
        },
        "dittoPrinting": "0",
        "featureServos": "0",
        "servo0Pin": 11,
        "servo1Pin": -1,
        "servo2Pin": -1,
        "servo3Pin": -1,
        "featureWatchdog": "1",
        "hasHeatedBed": "1",
        "enableZProbing": "1",
        "extrudeMaxLength": 160,
        "homeOrder": "HOME_ORDER_ZXY",
        "featureController": 24,
        "uiPrinterName": "STARTT Modified",
        "uiPrinterCompany": "iMakr.com",
        "uiPagesDuration": 4000,
        "uiAnimation": "0",
        "uiDisablePageswitch": "1",
        "uiAutoReturnAfter": 30000,
        "featureKeys": "0",
        "uiEncoderSpeed": 1,
        "uiReverseEncoder": "0",
        "uiKeyBouncetime": 20,
        "uiKeyFirstRepeat": 500,
        "uiKeyReduceRepeat": 50,
        "uiKeyMinRepeat": 50,
        "featureBeeper": "0",
        "uiPresetBedTempPLA": 70,
        "uiPresetBedABS": 100,
        "uiPresetExtruderPLA": 190,
        "uiPresetExtruderABS": 240,
        "uiMinHeatedBed": 30,
        "uiMaxHeatedBed": 120,
        "uiMinEtxruderTemp": 170,
        "uiMaxExtruderTemp": 255,
        "uiExtruderFeedrate": 2,
        "uiExtruderRetractDistance": 3,
        "uiSpeeddependentPositioning": "0",
        "maxBedTemperature": 120,
        "bedSensorType": 14,
        "bedSensorPin": "TEMP_1_PIN",
        "bedHeaterPin": 12,
        "bedHeatManager": 0,
        "bedUpdateInterval": 5000,
        "bedPidDriveMin": 80,
        "bedPidDriveMax": 255,
        "bedPidP": 196,
        "bedPidI": 33,
        "bedPidD": 290,
        "bedPidMax": 255,
        "bedDecoupleTestPeriod": 300,
        "caseLightPin": -1,
        "caseLightDefaultOn": "1",
        "bedSkipIfWithin": 3,
        "gen1T0": 25,
        "gen1R0": 100000,
        "gen1Beta": 4036,
        "gen1MinTemp": -20,
        "gen1MaxTemp": 300,
        "gen1R1": 0,
        "gen1R2": 4700,
        "gen2T0": 25,
        "gen2R0": 100000,
        "gen2Beta": 4036,
        "gen2MinTemp": -20,
        "gen2MaxTemp": 300,
        "gen2R1": 0,
        "gen2R2": 4700,
        "gen3T0": 25,
        "gen3R0": 100000,
        "gen3Beta": 4036,
        "gen3MinTemp": -20,
        "gen3MaxTemp": 300,
        "gen3R1": 0,
        "gen3R2": 4700,
        "userTable0": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "userTable1": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "userTable2": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "tempHysteresis": 0,
        "pidControlRange": 20,
        "skipM109Within": 2,
        "extruderFanCoolTemp": 50,
        "minTemp": 150,
        "maxTemp": 245,
        "minDefectTemp": 5,
        "maxDefectTemp": 260,
        "arcSupport": "1",
        "featureMemoryPositionWatchdog": "1",
        "forceChecksum": "0",
        "sdExtendedDir": "1",
        "featureFanControl": "1",
        "fanPin": "ORIG_FAN_PIN",
        "featureFan2Control": "0",
        "fan2Pin": "ORIG_FAN2_PIN",
        "fanThermoPin": -1,
        "fanThermoMinPWM": 128,
        "fanThermoMaxPWM": 255,
        "fanThermoMinTemp": 45,
        "fanThermoMaxTemp": 60,
        "fanThermoThermistorPin": -1,
        "fanThermoThermistorType": 1,
        "scalePidToMax": "1",
        "zProbePin": 6,
        "zProbeBedDistance": 10,
        "zProbePullup": "0",
        "zProbeOnHigh": "0",
        "zProbeXOffset": 47,
        "zProbeYOffset": 4,
        "zProbeWaitBeforeTest": "0",
        "zProbeSpeed": 2,
        "zProbeXYSpeed": 150,
        "zProbeHeight": 0,
        "zProbeStartScript": "",
        "zProbeFinishedScript": "",
        "featureAutolevel": "1",
        "zProbeX1": -30,
        "zProbeY1": 10,
        "zProbeX2": 30,
        "zProbeY2": 10,
        "zProbeX3": 0,
        "zProbeY3": 120,
        "zProbeSwitchingDistance": 1,
        "zProbeRepetitions": 3,
        "sdSupport": "1",
        "sdCardDetectPin": "ORIG_SDCARDDETECT",
        "sdCardDetectInverted": "0",
        "uiStartScreenDelay": 1000,
        "xEndstopBackMove": 5,
        "yEndstopBackMove": 5,
        "zEndstopBackMove": 2,
        "xEndstopRetestFactor": 3,
        "yEndstopRetestFactor": 3,
        "zEndstopRetestFactor": 3,
        "xMinPin": "ORIG_X_MIN_PIN",
        "yMinPin": "ORIG_Y_MIN_PIN",
        "zMinPin": "ORIG_Z_MIN_PIN",
        "xMaxPin": "ORIG_X_MAX_PIN",
        "yMaxPin": "ORIG_Y_MAX_PIN",
        "zMaxPin": "ORIG_Z_MIN_PIN",
        "deltaHomeOnPower": "0",
        "fanBoardPin": -1,
        "heaterPWMSpeed": 0,
        "featureBabystepping": "1",
        "babystepMultiplicator": 1,
        "pdmForHeater": "0",
        "pdmForCooler": "0",
        "psOn": -1,
        "mixingExtruder": "0",
        "decouplingTestMaxHoldVariance": 20,
        "decouplingTestMinTempRise": 1,
        "featureAxisComp": "0",
        "axisCompTanXY": 0,
        "axisCompTanXZ": 0,
        "axisCompTanYZ": 0,
        "retractOnPause": 2,
        "pauseStartCommands": "",
        "pauseEndCommands": "",
        "distortionCorrection": "0",
        "distortionCorrectionPoints": 5,
        "distortionCorrectionR": 100,
        "distortionPermanent": "1",
        "distortionUpdateFrequency": 15,
        "distortionStartDegrade": 0.5,
        "distortionEndDegrade": 1,
        "distortionExtrapolateCorners": "0",
        "distortionXMin": 10,
        "distortionXMax": 190,
        "distortionYMin": 10,
        "distortionYMax": 190,
        "sdRunOnStop": "",
        "sdStopHeaterMotorsOnStop": "1",
        "featureRetraction": "0",
        "autoretractEnabled": "0",
        "retractionLength": 3,
        "retractionLongLength": 13,
        "retractionSpeed": 40,
        "retractionZLift": 0,
        "retractionUndoExtraLength": 0,
        "retractionUndoExtraLongLength": 0,
        "retractionUndoSpeed": 20,
        "filamentChangeXPos": 0,
        "filamentChangeYPos": 0,
        "filamentChangeZAdd": 2,
        "filamentChangeRehome": 1,
        "filamentChangeShortRetract": 5,
        "filamentChangeLongRetract": 50,
        "fanKickstart": 200,
        "servo0StartPos": -1,
        "servo1StartPos": -1,
        "servo2StartPos": -1,
        "servo3StartPos": -1,
        "uiDynamicEncoderSpeed": "0",
        "uiServoControl": 0,
        "killIfSensorDefect": "0",
        "jamSteps": 220,
        "jamSlowdownSteps": 320,
        "jamSlowdownTo": 70,
        "jamErrorSteps": 500,
        "jamMinSteps": 10,
        "jamAction": 1,
        "primaryPort": 0,
        "numMotorDrivers": 0,
        "motorDrivers": [
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1
            }
        ],
        "manualConfig": "",
        "zHomeMinTemperature": 0,
        "zHomeXPos": 50,
        "zHomeYPos": 70,
        "zHomeHeatHeight": 10,
        "zHomeHeatAll": "0",
        "zProbeZOffsetMode": 0,
        "zProbeZOffset": 0,
        "uiBedCoating": "0",
        "langEN": "1",
        "langDE": "0",
        "langNL": "0",
        "langPT": "0",
        "langIT": "0",
        "langES": "0",
        "langFI": "0",
        "langSE": "0",
        "langFR": "0",
        "langCZ": "0",
        "langPL": "0",
        "langTR": "0",
        "interpolateAccelerationWithZ": 0,
        "accelerationFactorTop": 100,
        "bendingCorrectionA": 0,
        "bendingCorrectionB": 0,
        "bendingCorrectionC": 0,
        "preventZDisableOnStepperTimeout": "0",
        "supportLaser": "0",
        "laserPin": -1,
        "laserOnHigh": "1",
        "defaultPrinterMode": 0,
        "supportCNC": "0",
        "cncWaitOnEnable": 300,
        "cncWaitOnDisable": 0,
        "cncEnablePin": -1,
        "cncEnableWith": "1",
        "cncDirectionPin": -1,
        "cncDirectionCW": "1",
        "startupGCode": "",
        "jsonOutput": "0",
        "bedLevelingMethod": 1,
        "bedCorrectionMethod": 0,
        "bedLevelingGridSize": 3,
        "bedLevelingRepetitions": 5,
        "bedMotor1X": 0,
        "bedMotor1Y": 0,
        "bedMotor2X": 200,
        "bedMotor2Y": 0,
        "bedMotor3X": 100,
        "bedMotor3Y": 200,
        "zProbeRequiresHeating": "0",
        "zProbeMinTemperature": 150,
        "adcKeypadPin": "1",
        "sharedExtruderHeater": "0",
        "extruderSwitchXYSpeed": 100,
        "dualXAxis": "0",
        "boardFanSpeed": 255,
        "hasMAX6675": false,
        "hasMAX31855": false,
        "hasGeneric1": false,
        "hasGeneric2": false,
        "hasGeneric3": false,
        "hasUser0": false,
        "hasUser1": false,
        "hasUser2": false,
        "numExtruder": 1,
        "version": 92.9,
        "primaryPortName": ""
    }
    ========== End configuration string ==========
  • First start wit configuring host correctly. In printer settings you define z home position which you have set 0. So moving at 125 host thinks you are at 0 and down is -0.1 reduced to 0. So once that is set to 125 or whatever M114 reports with M114 after homing that will work.

    Then next question is right z probe height. Autoleveling with that value set wrong can crash into bed at z=0. You can use that as calibration to correct z probe height. Go to Z=10 and then slowly till you hit bottom. Then remaining z is the error in z probe height. So correct and repeat until z=0 is where you need it.
  • Hi, sorry I’m still having issues.
    I just can’t seem to calibrate my z probe correctly.
    I have followed your instructions both here and the online z probe calibration instructions.
    My printer is now doing all movements as it should. I have also physically levelled the bed as best as I can.

    I move my hot end to the centre of the bed with G1 X75 Y75 Z5 (so 5mm off the bed)
    So ZHold=5.0
    Then I send a G30 P0 and get a probing distance of 6.29
    So Z0 = 6.29
    Then I heat my hot end and bed and remove all excess filament and retract
    M114 returns a Zprobe height of 5.0mm
    So Z old = 5.0mm (ZHold = Zold)
    Then I adjust my nozzle so it touches my metal block of known height (2.1mm)
    So Ref Height = 2.1 mm
    I send an M114 - Znew= 2.89

    This gives me an offset of 2.82

    I set this in to my probe height in EEPROM. I ensure my Print bed offsets and dimensions match the printer host but I still get the probe too close to the bed.
    G31 tells me my probe is working correctly.
    When I go to print I am always too close to the bed by 0.5mm
    With baby stepping i can adjust during the first layers and I am 0.5mm too close. However when I then adjust my probe height to account for this in EEPROM I am still too close by 0.5mm. Each time I adjust by the baby stepping amount of 0.5mm off the bed I get closer. (I am homing after each adjustment)
    I am now at -0.2mm z probe height (and this can’t be correct even just by eyeballing!
    Which is miles off my calibration. I want to calibrate it properly not achieve a probe height by trial and error and even that isn’t working. Where am I going wrong? Please help.

    Thanks
  • Also from time to time my printer registers z Max length different from what is set in both EPROM and host. I set 120.8, but occaisionally after attempting a print the printer LCD and EEPROM change all by themselves to for example 123.45????? Why should this happen.
  • What do you mean by registers z max length? Only some special g codes should change the eeprom value if you tell them to store position. During homing you might see invalid coordinates which can be ignored.

    Homing adds extra correction for z homing like bed coating under some configurations. So that can influence result. Also make sure
    #define ENDSTOP_Z_BACK_ON_HOME 2
    so if it moves xy at top it will not block z by triggering it due to correction. This reduces z length by 2mm. And at the end you can still correct z probe length by the error you have if nothing helps.
  • I just mean that I have set Z Max length in EEPROM and on Repetier Host as a specific value. When I attempt a print with the z probe calibration which fails due to my problems with z probe calibration (see prev post) when the printer homes to zmax, x min , y min the EEPROM value for Y Max changes to a higher level eg from 120.8 to 123.45 for example. I have not entered any code that would change this. It just seems to happen and I can’t explain it. The only thing I can do is to change the EEPROM setting again to 120.80.

    My bed coating setting is off (0)

    I will check the
    #define ENDSTOP_Z_BACK_ON_HOME 2

    My main issue I also need help with was in the previous post which I have inserted here:

    ‘Hi, sorry I’m still having issues.
    I just can’t seem to calibrate my z probe correctly.
    I have followed your instructions both here and the online z probe calibration instructions.
    My printer is now doing all movements as it should. I have also physically levelled the bed as best as I can.

    I move my hot end to the centre of the bed with G1 X75 Y75 Z5 (so 5mm off the bed)
    So ZHold=5.0
    Then I send a G30 P0 and get a probing distance of 6.29
    So Z0 = 6.29
    Then I heat my hot end and bed and remove all excess filament and retract
    M114 returns a Zprobe height of 5.0mm
    So Z old = 5.0mm (ZHold = Zold)
    Then I adjust my nozzle so it touches my metal block of known height (2.1mm)
    So Ref Height = 2.1 mm
    I send an M114 - Znew= 2.89

    This gives me an offset of 2.82

    I set this in to my probe height in EEPROM. I ensure my Print bed offsets and dimensions match the printer host but I still get the probe too close to the bed.
    G31 tells me my probe is working correctly.
    When I go to print I am always too close to the bed by 0.5mm
    With baby stepping i can adjust during the first layers and I am 0.5mm too close. However when I then adjust my probe height to account for this in EEPROM I am still too close by 0.5mm. Each time I adjust by the baby stepping amount of 0.5mm off the bed I get closer. (I am homing after each adjustment)
    I am now at -0.2mm z probe height (and this can’t be correct even just by eyeballing!
    Which is miles off my calibration. I want to calibrate it properly not achieve a probe height by trial and error and even that isn’t working. Where am I going wrong? Please help.

    Thanks’
  • edited December 2017
    Not sure if it is needed but,
    Are you doing a new G30  after you have changed the probe height in eeprom 
  • No, what would that do?
  • Is my calibration calculation correct? It is almost as if after calibrating the z probe and performing a G32 that the probe height is ignored for the height of the bed for the first layer. The z axis is being adjusted during the first layer so I know the Autoleveling is correcting the bed. Just at the wrong start height.
  • In fact I have done a G30 following a change in EEPROM as per the online instructions this was following a G31 to verify the probe. It made no difference.
  • I’m still having issues.
    I just can’t seem to calibrate my z probe correctly.
    I have followed your instructions both here and the online z probe calibration instructions.
    My printer is now doing all movements as it should. I have also physically levelled the bed as best as I can.

    I move my hot end to the centre of the bed with G1 X75 Y75 Z5 (so 5mm off the bed)
    So ZHold=5.0
    Then I send a G30 P0 and get a probing distance of 6.29
    So Z0 = 6.29
    Then I heat my hot end and bed and remove all excess filament and retract
    M114 returns a Zprobe height of 5.0mm
    So Z old = 5.0mm (ZHold = Zold)
    Then I adjust my nozzle so it touches my metal block of known height (2.1mm)
    So Ref Height = 2.1 mm
    I send an M114 - Znew= 2.89

    This gives me an offset of 2.82

    I set this in to my probe height in EEPROM. I ensure my Print bed offsets and dimensions match the printer host but I still get the probe too close to the bed.
    G31 tells me my probe is working correctly.
    When I go to print I am always too close to the bed by 0.5mm
    With baby stepping i can adjust during the first layers and I am 0.5mm too close. However when I then adjust my probe height to account for this in EEPROM I am still too close by 0.5mm. Each time I adjust by the baby stepping amount of 0.5mm off the bed I get closer. (I am homing after each adjustment)
    I am now at -0.2mm z probe height (and this can’t be correct even just by eyeballing!
    Which is miles off my calibration. I want to calibrate it properly not achieve a probe height by trial and error and even that isn’t working. Where am I going wrong? Please help.

    Thanks
  • I assume I have done my calibration calculation correctly. I’ve had real issues correcting z probe height. I’ve tried taking z to 10mm off bed and stepping down to find the difference. When I set this into my EEPROM Z probe height it makes no difference. I’ve tried to adjust my z Max height with this difference but that doesn’t seem to work. The closest I’ve got is by using the bed coating (even though I don’t have one) for the difference from 10mm, but my layers are still poor. Any advice?
    Thanks
  • Assuming you have now
    #define ENDSTOP_Z_BACK_ON_HOME 2
    and bed coating tweaked so start height is now good, what does "my layers are still poor" mean? Bed is mainly responsible for first layer and following layer are independent, so what exactly do they look like (photo). Flow rate and temperature and speed are the typical parameters to tweak mid print layer quality.
  • Yes ENDSTOP_Z_BACK_ON_HOME 2 has been set. So after many tweaks by using the bed coating function I have now achieved a good print. I just hope it continues without needing any further adjustment. (It took about 3 hours of homing to ZMAX and then to Bed and adjust!) it’s just frustrating that the calibration procedure does not stop the need for hours of adjustment, hence I was convinced my calculation was wrong, but as you haven’t said otherwise I can only assume it is correct.

    Can I assume that now the bed levelling has been set up, that the probe is no longer used for the prints unless further adjustment is required. What I mean is that do I need the probe switched on for every print now or can I leave it off until I need to readjust the probing?



    Thanks for all you help. Fingers crossed that’s me now.
  • It is always hard to say if everything is correct if you do not do it yourself, but it sounds logic.

    Results are stored in eeprom so unless you change bed or screws etc no leveling is needed. 
  • Thanks. Here’s hoping my next print is levelled.
  • I think it would be worth a video like was done for the Delta bed levelling. As I don’t seem to be the only one having these issues. I know the instructions are pretty clear, but sometimes for those of us less mathematically gifted a picture/video speaks a thousand words.
  • I’m still having a problem.
    I set the Z height both in EEPROM and the host. I also have my bed coating set. The calibration for the z probe height is loaded to EPROM. and all is set.

    I then perform a G32 S2

    Following completion of homing prior to setting a print, my EEPROM Z Max Hright has changed to a highe value. I have no idea why as I have not personally made any changes. Do you have any suggestions?

    Loaded EEPROM/ host Z height 122.77
    (Following G32 S2 and then homing- Z Max height in EEPROM = 128.52 ????????????????? Why??
  • Sorry in EEPROM the new height is 132.048 the height shown on printer LCD 128.52 ( this is with the bead coating subtracted (3.53)
  • With z max homing G32 S2 measures height as well and stores it, so that is correct. Problem is you tricked it afterwards into a working height and G32 S2 reverts these changes partly.
  • What should I do? Accept G32 height and change host? Even though working height (measured from z Max Home down to the bed) is different??
Sign In or Register to comment.