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