diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 980efc5cdf25763333c89ff29366b5911f9fedb4..4b768a546b3ba669acc70e5126e4ef63161556ae 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -546,6 +546,13 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
 //#define REPRAP_DISCOUNT_SMART_CONTROLLER
 
+// Delta calibration menu
+// uncomment to add three points calibration menu option.
+// See http://minow.blogspot.com/index.html#4918805519571907051
+// If needed, adjust the X, Y, Z calibration coordinates
+// in ultralcd.cpp@lcd_delta_calibrate_menu()
+#define DELTA_CALIBRATION_MENU
+
 // The GADGETS3D G3D LCD/SD Controller (blue PCB)
 // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel
 //#define G3D_PANEL
diff --git a/Marlin/language_an.h b/Marlin/language_an.h
index 8c6820e1ab48220d2ad0587f4feaab447c93cec2..2d9c5ead51c63fd6ce26e99a3314558aba6c1bd5 100644
--- a/Marlin/language_an.h
+++ b/Marlin/language_an.h
@@ -136,4 +136,12 @@
 #define MSG_RETRACT_ARROW                   "Retraer \x7E"
 #define MSG_STEPPER_RELEASED                "Desacoplada."
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_AN_H
diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h
index 680c6eed01aa594858de09070d18ab327d2aa0d7..c556c027a9fdbf76bb6890c9cdb763304f882a02 100644
--- a/Marlin/language_ca.h
+++ b/Marlin/language_ca.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Retreure"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_CA_H
diff --git a/Marlin/language_de.h b/Marlin/language_de.h
index 801250b51dcb7fda94356b7dae0b4c04077e13eb..a05d85d958827be34f6227d57662f2fa1cbeb297 100644
--- a/Marlin/language_de.h
+++ b/Marlin/language_de.h
@@ -128,4 +128,12 @@
 #define MSG_STEPPER_RELEASED                "Stepper frei"
 #define MSG_RECTRACT_WIDE                   "Rectract"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_DE_H
diff --git a/Marlin/language_en.h b/Marlin/language_en.h
index c094ff641f81aec5844f0ea67e636f77ff6a02ad..c749e98254a3a9b05e90503a3cad4dcabe2f0444 100644
--- a/Marlin/language_en.h
+++ b/Marlin/language_en.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Rectract"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_EN_H
diff --git a/Marlin/language_es.h b/Marlin/language_es.h
index eff9d6a8af8b0f3883aa8769c0d3ab0a85a16fb0..50e8bb9c395b215b7e6be7f2fc9cddec1ef30f92 100644
--- a/Marlin/language_es.h
+++ b/Marlin/language_es.h
@@ -136,4 +136,12 @@
 #define MSG_RETRACT_ARROW                   "Retraer \x7E"
 #define MSG_STEPPER_RELEASED                "Desacoplada."
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_ES_H
diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h
index 4b31b656722d2934e5f64884e710709048475064..e85218e18c89ab90f1173755c91235c69154ecca 100644
--- a/Marlin/language_eu.h
+++ b/Marlin/language_eu.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Atzera eragin"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_EU_H
diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h
index b88c3759ad848f337f4256b1c0a87353aea32b5f..9117f7787381073dac8e686c0f0d4ef3cebc5d8b 100644
--- a/Marlin/language_fi.h
+++ b/Marlin/language_fi.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Veda takaisin"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_FI_H
diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h
index ffcfeb48154a1105af64d89ef74ac57c504326b8..ab5ac818cb5ce78475bf47b7513342d47b452dee 100644
--- a/Marlin/language_fr.h
+++ b/Marlin/language_fr.h
@@ -128,4 +128,12 @@
 #define MSG_RECTRACT                        "Rectract"
 #define MSG_STEPPER_RELEASED                "RELACHE."
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_FR_H
diff --git a/Marlin/language_it.h b/Marlin/language_it.h
index b70a0841ccdce958b604d8f72d7c77feb1020f96..c42e70b2a3da0ded5c9bba4e300ff0998f3e712a 100644
--- a/Marlin/language_it.h
+++ b/Marlin/language_it.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Ritrai"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_IT_H
diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h
index 56162d34d943571335d69745c5a388a312317431..67ddc7e950e1d8c740172098c71da98bfcfc1335 100644
--- a/Marlin/language_nl.h
+++ b/Marlin/language_nl.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Terugtrekken"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_NL_H
diff --git a/Marlin/language_pl.h b/Marlin/language_pl.h
index 430b90053954f07b1565118ddf4b6221f892ba7c..3de1d20909eabd8c3ab36c3e796801a5f383e397 100644
--- a/Marlin/language_pl.h
+++ b/Marlin/language_pl.h
@@ -128,4 +128,12 @@
 #define MSG_RECTRACT                        "Wycofanie"
 #define MSG_STEPPER_RELEASED                "Zwolniony."
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_PL_H
diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h
index 5c6f4fe7f9f7b5da1de0558d2c097f97ad9053fa..c11191615c893107687759cba3a4096b8f2849bb 100644
--- a/Marlin/language_pt.h
+++ b/Marlin/language_pt.h
@@ -132,4 +132,12 @@
 #define MSG_RETRACT_ARROW                   "Retrair \x7E"
 #define MSG_STEPPER_RELEASED                "Lancado."
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_PT_H
diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h
index 844b3776b752ea9ebbd48d54304e8a35c2ddb184..73dd17f70a88aeea4b3a54a16453912cbe14ddd7 100644
--- a/Marlin/language_ru.h
+++ b/Marlin/language_ru.h
@@ -127,4 +127,12 @@
 
 #define MSG_RECTRACT                        "Откат подачи    \x7E"
 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Delta Calibration"
+    #define MSG_DELTA_CALIBRATE_X           "Calibrate X"
+    #define MSG_DELTA_CALIBRATE_Y           "Calibrate Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Calibrate Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Calibrate Center"
+#endif // DELTA_CALIBRATION_MENU
+
 #endif // LANGUAGE_RU_H
diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 916114899ce2f16ac72167badfdeb0f2a9ce8d2c..d3060dc502ea4fc992d7f7a7673c3614bd058f0d 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -65,6 +65,10 @@ static void lcd_set_contrast();
 static void lcd_control_retract_menu();
 static void lcd_sdcard_menu();
 
+#ifdef DELTA_CALIBRATION_MENU
+static void lcd_delta_calibrate_menu();
+#endif // DELTA_CALIBRATION_MENU
+
 static void lcd_quick_feedback();//Cause an LCD refresh, and give the user visual or audible feedback that something has happened
 
 /* Different types of actions that can be used in menu items. */
@@ -334,6 +338,9 @@ static void lcd_main_menu()
         MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu);
     }else{
         MENU_ITEM(submenu, MSG_PREPARE, lcd_prepare_menu);
+#ifdef DELTA_CALIBRATION_MENU
+        MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, lcd_delta_calibrate_menu);
+#endif // DELTA_CALIBRATION_MENU
     }
     MENU_ITEM(submenu, MSG_CONTROL, lcd_control_menu);
 #ifdef SDSUPPORT
@@ -628,6 +635,20 @@ static void lcd_prepare_menu()
     END_MENU();
 }
 
+#ifdef DELTA_CALIBRATION_MENU
+static void lcd_delta_calibrate_menu()
+{
+    START_MENU();
+    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
+    MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
+    MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_X, PSTR("G0 F8000 X-77.94 Y-45 Z0"));
+    MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_Y, PSTR("G0 F8000 X77.94 Y-45 Z0"));
+    MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_Z, PSTR("G0 F8000 X0 Y90 Z0"));
+    MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_CENTER, PSTR("G0 F8000 X0 Y0 Z0"));
+    END_MENU();
+}
+#endif // DELTA_CALIBRATION_MENU
+
 float move_menu_scale;
 static void lcd_move_menu_axis();