# Specific 3D Printers, Scanners, & Hardware > RepRap Format Printer Forum > Firmware Enhancements to Marlin >  Marlin 1.1.4

## Roberts_Clif

Now I have two Hictops one 12volt and One 24volt.
They have the same controller card they were both upgraded from Marlin-RC8BF-HICi3 to Marlin 1.1.4-RC6 - they both have different problems.
The only firmware lines that are different are as follows.

RED
#define CUSTOM_MACHINE_NAME " HicRed 1.1.4 "
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 1600, 94.4962144 }

BLUE
#define CUSTOM_MACHINE_NAME " HicBlue 1.1.4 "
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 94.4962144 }

Both have a problem that after It Auto homes while displaying " HicBlue  1.1.4 " Z-axis will rise changing the display to " Endstops Z " or "G28 Z Forbidden"

#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance " this is why Z-axis  rises by design " to give be room for clearing the leaking filament.



Attached is the Configuration.h
Configuration.h

Attached is Configuration_adv.h
Configuration_adv.h

They both print all functions seems to operate correctly
Both get a CRC when when using M500 using 461 bytes."do not know if 'CRC' was an added feature", only using 53% EEProm.

I have Changed Bed leveling from Linear to Bi-linear saving 6812bytes still CRC error but different number "-118."
Still " Endstops Z " on display.

Have dropped the Memory use below 50% Still CRC on M500.
Must be something to do with Endstop Z coding will look again!!!!!!!
I have determined the Exact line causing the Problem.

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

I am using the above line with a PNP Proximity Sensor in place of the Z end-stop 
switch, along with the following lines

#define Z_CLEARANCE_DEPLOY_PROBE   10  // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES  2 // Z Clearance between probe points

This allows me to home then raise Z-Axis 10mm for a clearance of 10.5mm 
" #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.5 "

When I auto Home I get her errors " Endstops Z " or "G28 Z Forbidden "
Now when I use this line

#define Z_MIN_PROBE_ENDSTOP

I get no errors, though I can not  get the Z-Axis to Raise.

----------


## Roberts_Clif

If I include the configuration.h file someone can see if a mistake is there.
Configuration.h

----------


## Roberts_Clif

Not an error, looks like it is just a checksum that is stored with the data for testing.


configuration_store.cpp

      // Report storage size
      #if ENABLED(EEPROM_CHITCHAT)
        SERIAL_ECHO_START();
        SERIAL_ECHOPAIR("Settings Stored (", eeprom_size - (EEPROM_OFFSET));
        SERIAL_ECHOPAIR(" bytes; crc ", (uint32_t)final_crc);
        SERIAL_ECHOLNPGM(")");
      #endif
------------------------------------------------------
  #define DUMMY_PID_VALUE 3000.0f
  #define EEPROM_START() int eeprom_index = EEPROM_OFFSET
  #define EEPROM_SKIP(VAR) eeprom_index += sizeof(VAR)
  #define EEPROM_WRITE(VAR) write_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc)
  #define EEPROM_READ(VAR) read_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc)
  #define EEPROM_ASSERT(TST,ERR) if (!(TST)) do{ SERIAL_ERROR_START();  SERIAL_ERRORLNPGM(ERR); eeprom_read_error = true; }while(0)
------------------------------------------------------
 const uint16_t final_crc = working_crc;
------------------------------------------------------
EEPROM_READ(stored_crc);

----------

