# Specific 3D Printers, Scanners, & Hardware > RepRap Format Printer Forum > Firmware Enhancements to Marlin >  Help please with 1.1.9

## hyoslvr

Guys I've been scratching my head on this one for the last 3 days. I'm finishing up installing a Ramps board in my Printrbot Simple Metal, I'm at the home stretch but cannot for the life of me get the Z offset set correctly.  Right now I have Marlin 1.1.9 installed, but I have also tried the bug fix and yielded the same results.  The problem I'm having is when I home all 3 axis, x and y go to 0 as expected, but Z always homes to -.40 no matter what, if any offset I put in the firmware.  I have googled for days, none of the solutions seem to work. I'm running Cura 15.04.3 as my slicer. Currently with no z offset uploaded in Marlin when I home all three axis and issue an M114 command x and y show 0 but z always shows -.40.  I can press the little black and red 0.1 down button 1 time, issue another M114 command and the z position will then show 0.  That doesn't seem right?  Just for the heck of it I added a 4.00 offset to the Z, then tried a -4.00 offset, probe stopped in the same position upon homing and M114 still showed -.40.  I'm at a loss.  

Here is the current gcode setup in Cura:

Starting:
;Sliced at: {day} {date} {time}
;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
;Print time: {print_time}
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21        ;metric values
G90        ;absolute positioning
M82        ;set extruder to absolute mode
M107       ;start with the fan off
G28 X0 Y0  ;move X/Y to min endstops
G28 Z0     ;move Z to min endstops
G29        ;Run the auto bed leveling
G1 Z15.0 F{travel_speed} ;move the platform down 15mm
G92 E0                  ;zero the extruded length
G1 F200 E3              ;extrude 3mm of feed stock
G92 E0                  ;zero the extruded length again
G1 F{travel_speed}
;Put printing message on LCD screen
M117 Printing...

Ending:
;End GCode
M104 S0                     ;extruder heater off
M140 S0                     ;heated bed heater off (if you have it)
G91                                    ;relative positioning
G1 E-1 F300                            ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more
G28 X0 Y0                              ;move X/Y to min endstops, so the head is out of the way
M84                         ;steppers off
G90                         ;absolute positioning
;{profile_string}

I'm not sure if I know how to add the Marlin hex file I'm running in here, but I'll try.  I was hoping someone could check over the code and see if I'm missing anything obvious.  Thanks

----------


## hyoslvr

https://drive.google.com/open?id=1eL...xdVvJtlmA-nbgK
https://drive.google.com/open?id=1fM...zXt34AOfqPePxm

----------


## Roberts_Clif

Hi;

Took a look at your files, they look ok.

Let me get some more information, What is your Z-Axis lead Screw. 
Sample Code from my own Z-Axis below

// Typical stepper motors have 200 steps per full step/rev = 1.8°/step, so 1/16 microstepping = STEPS_PER_REVOLUTION_E = 3200 
// X-Y Axis 3200, / 20 tooth, / 2mm pitch = 200*16 / 20 / 2 = 80 :: (STEPS_PER_REVOLUTION_X / IDLER_TEETH_X / BELT_PITCH_X)

// Z Axis 3200, / 1.25mm pitch leadscrew = 200*16 /1.25 = 2560 :: (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)
// Z Axis 3200, / 8mm pitch leadscrew = 200*16 /8 = 400 :: (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)
// Z Axis 3200, / 4mm pitch leadscrew = 200*16 /4 = 800 :: (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)
// Z Axis 3200, / 2mm pitch leadscrew = 200*16 /2 = 1600 :: (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)

// E-Axis 3200, / (11mm Gear OD * pi) :: (STEPS_PER_REVOLUTION_E * EXTRUDER_GEAR_RATIO / (PINCH_WHEEL_DIAMETER * PI))

----------


## hyoslvr

I believe it's 1/4x16 acme threaded rod, or whatever came on the  printrbot simple metal.  It's stock factory as far as I know, I bought  the printer used and it was never replaced that I know of.  Any way i  dropped the new Marlin in it today (2.0).  Now it homes to the 0  position, but if I put an offset in the firmware it still refuses to  lower the nozzle any lower.  The lcd and slicer both register the  offset, meaning if I put the offset in Marlin firmware at -1.00 or just  1.00 and home the Z, after homing is complete it will now show whatever value  I set as the offset.  However the nozzle is not higher or lower.  I'm  using paper as a feeler gauge and the nozzle height is always the same,  doesn't matter what it says the offset is.  I don't know.

----------


## hyoslvr

Oh yeah and another thing I noticed when playing with the offsets in Marlin.  When I put a -1.00 Z offset in the firmware and re upload, when it homes and stops the lcd and M114 in Cura both read this as 1.00.  Then when I change it to 1.00 in the firmware, re upload and home Z again, it will then show -1.00 on both the lcd and M114 again.  So that seems backwards? And as stated before, actual nozzle height remains the same

----------


## hyoslvr

Just tried to run a test print.  Homed the Z axis to 0, then brought it down .1 at a time until it just grabed the paper, (at .3).  Went into marlin and added a 0.03 offset, since I figured it is backwards like my last post stated.  Probe heated, went through the 3 point auto level, then started the print at Z level .3 according to the lcd.  No idea why it did with an offset of .3? Anyway still reading and trying to figure it out.

----------


## hyoslvr

This morning I reverted back to Marlin 1.1.9, left all the settings the same though. I think I figured out the + - issue with the firmware. I watched a video on youtube and If I understand correctly it is backwards because the probe is higher than the extruder. I still have no explanation as to why the printer is starting the prints with the z axis at .3 though.  I went ahead and let it print a test piece. Other than the fact that the bottom layer looks like crap and is raised because the z starts at .3, the printer actually doesn’t print bad. I don’t think its a motor slipping, I mean it starts at .3 consistently every time. I’m about ready to just scrap it.

----------


## Roberts_Clif

I setup my 3D Print it starts at the Bed then Raises to whatever Layer Height is set and starts the Print.

Do not understand the purpose of all the G1 Code lines 
G1 Z15.0 F{travel_speed} ;move the platform down 15mm

G1 F200 E3              ;extrude 3mm of feed stock

G1 F{travel_speed}

G1 E-1 F300                            ;retract the filament a bit before lifting the nozzle, to release some of the pressure

G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more

I only raise the Z-Axis to leave a clearance then Extrude 4mm to ensure the filament is extruding.

My Startup G-Code looks like this
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21        ;metric values
G90        ;absolute positioning
M82        ;set extruder to absolute mode
;M106 S127 ;set Fan half speed
M107       ;start with the fan off
G28 X0 Y0  ;move X/Y to min endstops
G28 Z0     ;move Z to min endstops
G1 Z15.0 F{travel_speed} ;move the platform down 15mm
;Put printing message on LCD screen
M117 My Print...
G28 X0 Y0
G1 E4.0 ;prime extruder
G92 E0 ;reset extruder length
M420 S1   ; Bed Leveling On
M220 S32.000000
;M420 V1   ; Print the leveling grid

----------


## hyoslvr

Dude, you are awesome.  That .3 at startup is due to the layer height.  I have a starting layer height of .3, that's why it does that.  Thanks for that.  I'm about to try your g code now, still not sure why the offsets wont move the nozzle down.

----------

