From 7aa7ecbd0e0c5bd750c4ff663c2eace5dcb33710 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Br=C3=A1zio?= <jbrazio@gmail.com>
Date: Fri, 8 Jun 2018 03:23:43 +0100
Subject: [PATCH] Update BQ Hephestos 2 config, NTC-70 table (#10902)

---
 .../BQ/Hephestos_2/Configuration.h            | 104 ++++++++----------
 .../BQ/Hephestos_2/Configuration_adv.h        |  80 ++++++++------
 .../BQ/Hephestos_2/README.md                  |  33 +++---
 .../BQ/Hephestos_2/_Bootscreen.h              | 100 ++++++++---------
 .../FLSUN/auto_calibrate/Configuration.h      |  18 ---
 Marlin/thermistortable_70.h                   |  71 +++---------
 Marlin/ultralcd_st7920_u8glib_rrd.h           |   4 +
 7 files changed, 178 insertions(+), 232 deletions(-)

diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
index 8cf679a0511..9f9217c2064 100644
--- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
+++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
@@ -333,7 +333,7 @@
 #define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
 
 // Bed temperature must be close to target for this long before M190 returns success
-#define TEMP_BED_RESIDENCY_TIME 0   // (seconds)
+#define TEMP_BED_RESIDENCY_TIME 10  // (seconds)
 #define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
 #define TEMP_BED_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
 
@@ -350,12 +350,12 @@
 // When temperature exceeds max temp, your heater will be switched off.
 // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
 // You should use MINTEMP for thermistor short/failure protection.
-#define HEATER_0_MAXTEMP 275
+#define HEATER_0_MAXTEMP 230
 #define HEATER_1_MAXTEMP 275
 #define HEATER_2_MAXTEMP 275
 #define HEATER_3_MAXTEMP 275
 #define HEATER_4_MAXTEMP 275
-#define BED_MAXTEMP      110
+#define BED_MAXTEMP      100
 
 //===========================================================================
 //============================= PID Settings ================================
@@ -374,13 +374,13 @@
   //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
   //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
-  #define PID_FUNCTIONAL_RANGE 50 // If the temperature difference between the target temperature and the actual temperature
-                                    // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
+  #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
+                                  // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
 
   // Tuned PID values using M303
-  #define DEFAULT_Kp 19.18
-  #define DEFAULT_Ki 1.36
-  #define DEFAULT_Kd 67.42
+  #define DEFAULT_Kp 23.75
+  #define DEFAULT_Ki  2.12
+  #define DEFAULT_Kd 66.63
 
   // BQ firmware stock PID values
   //#define DEFAULT_Kp 10.7
@@ -575,14 +575,14 @@
  * Override with M92
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
  */
-#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 8000, 210.02 }
+#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 8000, 218.77 }
 
 /**
  * Default Max Feed Rate (mm/s)
  * Override with M203
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
  */
-#define DEFAULT_MAX_FEEDRATE          { 167, 167, 3.3, 167 }
+#define DEFAULT_MAX_FEEDRATE          { 300, 300, 3, 120 }
 
 /**
  * Default Max Acceleration (change/s) change = mm/s
@@ -590,7 +590,7 @@
  * Override with M201
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
  */
-#define DEFAULT_MAX_ACCELERATION      { 1000, 1000, 100, 3000 }
+#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 3000 }
 
 /**
  * Default Acceleration (change/s) change = mm/s
@@ -600,9 +600,9 @@
  *   M204 R    Retract Acceleration
  *   M204 T    Travel Acceleration
  */
-#define DEFAULT_ACCELERATION          1000    // X, Y, Z and E acceleration for printing moves
-#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts
-#define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves
+#define DEFAULT_ACCELERATION           900    // X, Y, Z and E acceleration for printing moves
+#define DEFAULT_RETRACT_ACCELERATION  1300    // E acceleration for retracts
+#define DEFAULT_TRAVEL_ACCELERATION   1500    // X, Y, Z acceleration for travel (non printing) moves
 
 /**
  * Default Jerk (mm/s)
@@ -612,10 +612,10 @@
  * When changing speed and direction, if the difference is less than the
  * value set here, it may happen instantaneously.
  */
-#define DEFAULT_XJERK                 10.0
-#define DEFAULT_YJERK                 10.0
+#define DEFAULT_XJERK                  5.0
+#define DEFAULT_YJERK                  5.0
 #define DEFAULT_ZJERK                  0.3
-#define DEFAULT_EJERK                  1.0
+#define DEFAULT_EJERK                 10.0
 
 /**
  * S-Curve Acceleration
@@ -744,10 +744,7 @@
  */
 #define X_PROBE_OFFSET_FROM_EXTRUDER 34  // X offset: -left  +right  [of the nozzle]
 #define Y_PROBE_OFFSET_FROM_EXTRUDER 15  // Y offset: -front +behind [the nozzle]
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -4  // Z offset: -below +above  [the nozzle]
-
-// Certain types of probes need to stay away from edges
-#define MIN_PROBE_EDGE 10
+#define Z_PROBE_OFFSET_FROM_EXTRUDER  0  // Z offset: -below +above  [the nozzle]
 
 // X and Y axis travel speed (mm/m) between probes
 #define XY_PROBE_SPEED 8000
@@ -779,16 +776,16 @@
  */
 #define Z_CLEARANCE_DEPLOY_PROBE   0 // Z Clearance for Deploy/Stow
 #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points
-//#define Z_AFTER_PROBING          2 // Z position after probing is done
+//#define Z_AFTER_PROBING          5 // Z position after probing is done
 
-#define Z_PROBE_LOW_POINT          -2 // Farthest distance below the trigger-point to go before stopping
+#define Z_PROBE_LOW_POINT         -2 // Farthest distance below the trigger-point to go before stopping
 
 // For M851 give a range for adjusting the Z probe offset
-#define Z_PROBE_OFFSET_RANGE_MIN -5.5
-#define Z_PROBE_OFFSET_RANGE_MAX -3
+#define Z_PROBE_OFFSET_RANGE_MIN -20
+#define Z_PROBE_OFFSET_RANGE_MAX  20
 
 // Enable the M48 repeatability test to test probe accuracy
-#define Z_MIN_PROBE_REPEATABILITY_TEST
+//#define Z_MIN_PROBE_REPEATABILITY_TEST
 
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 // :{ 0:'Low', 1:'High' }
@@ -831,11 +828,11 @@
 
 // @section homing
 
-//#define NO_MOTION_BEFORE_HOMING  // Inhibit movement until all axes have been homed
+#define NO_MOTION_BEFORE_HOMING  // Inhibit movement until all axes have been homed
 
 //#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
 
-#define Z_HOMING_HEIGHT 5    // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
+//#define Z_HOMING_HEIGHT 3  // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
                              // Be sure you have this distance over your Z_MAX_POS in case.
 
 // Direction of endstops when homing; 1=MAX, -1=MIN
@@ -979,8 +976,8 @@
   #if ENABLED(G26_MESH_VALIDATION)
     #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
     #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
-    #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
-    #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
+    #define MESH_TEST_HOTEND_TEMP  185.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
+    #define MESH_TEST_BED_TEMP      50.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
   #endif
 
 #endif
@@ -988,8 +985,8 @@
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
 
   // Set the number of grid points per dimension.
-  #define GRID_MAX_POINTS_X 3
-  #define GRID_MAX_POINTS_Y 4
+  #define GRID_MAX_POINTS_X 5
+  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
 
   // Set the boundaries for probing (where the probe can reach).
   //#define LEFT_PROBE_BED_POSITION  X_MIN_POS + (X_PROBE_OFFSET_FROM_EXTRUDER)
@@ -1004,7 +1001,7 @@
 
     // Beyond the probed grid, continue the implied tilt?
     // Default is to maintain the height of the nearest edge.
-    //#define EXTRAPOLATE_BEYOND_GRID
+    #define EXTRAPOLATE_BEYOND_GRID
 
     //
     // Experimental Subdivision of the grid by Catmull-Rom method.
@@ -1018,17 +1015,6 @@
 
   #endif
 
-#elif ENABLED(AUTO_BED_LEVELING_3POINT)
-
-  // 3 arbitrary points to probe.
-  // A simple cross-product is used to estimate the plane of the bed.
-  #define PROBE_PT_1_X X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER
-  #define PROBE_PT_1_Y Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER
-  #define PROBE_PT_2_X X_MAX_POS - (X_PROBE_OFFSET_FROM_EXTRUDER)
-  #define PROBE_PT_2_Y Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER
-  #define PROBE_PT_3_X ((X_MIN_POS + X_MAX_POS) / 2)
-  #define PROBE_PT_3_Y Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER)
-
 #elif ENABLED(AUTO_BED_LEVELING_UBL)
 
   //===========================================================================
@@ -1097,7 +1083,7 @@
  * Commands to execute at the end of G29 probing.
  * Useful to retract or move the Z probe out of the way.
  */
-//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"
+#define Z_PROBE_END_SCRIPT "G27 P0"
 
 
 // @section homing
@@ -1128,8 +1114,8 @@
 #endif
 
 // Homing speeds (mm/m)
-#define HOMING_FEEDRATE_XY (60*60)
-#define HOMING_FEEDRATE_Z  120
+#define HOMING_FEEDRATE_XY (50*60)
+#define HOMING_FEEDRATE_Z  ( 4*60)
 
 // @section calibrate
 
@@ -1213,7 +1199,7 @@
 // every couple of seconds when it can't accept commands.
 //
 #define HOST_KEEPALIVE_FEATURE        // Disable this if your host doesn't like keepalive messages
-#define DEFAULT_KEEPALIVE_INTERVAL 10 // Number of seconds between "busy" messages. Set with M113.
+#define DEFAULT_KEEPALIVE_INTERVAL 5  // Number of seconds between "busy" messages. Set with M113.
 #define BUSY_WHILE_HEATING            // Some hosts require "busy" messages even during heating
 
 //
@@ -1234,12 +1220,12 @@
 // @section temperature
 
 // Preheat Constants
-#define PREHEAT_1_TEMP_HOTEND 205
+#define PREHEAT_1_TEMP_HOTEND 180
 #define PREHEAT_1_TEMP_BED     50
 #define PREHEAT_1_FAN_SPEED     0 // Value from 0 to 255
 
-#define PREHEAT_2_TEMP_HOTEND 245
-#define PREHEAT_2_TEMP_BED     50
+#define PREHEAT_2_TEMP_HOTEND 210
+#define PREHEAT_2_TEMP_BED     60
 #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255
 
 /**
@@ -1300,7 +1286,7 @@
  * Attention: EXPERIMENTAL. G-code arguments may change.
  *
  */
-#define NOZZLE_CLEAN_FEATURE
+//#define NOZZLE_CLEAN_FEATURE
 
 #if ENABLED(NOZZLE_CLEAN_FEATURE)
   // Default number of pattern repetitions
@@ -1310,8 +1296,8 @@
   #define NOZZLE_CLEAN_TRIANGLES  3
 
   // Specify positions as { X, Y, Z }
-  #define NOZZLE_CLEAN_START_POINT { X_MIN_POS + 10, Y_MAX_POS - 9, (Z_MIN_POS + 0.5)}
-  #define NOZZLE_CLEAN_END_POINT   { X_MIN_POS + 90, Y_MAX_POS - 0, (Z_MIN_POS + 0.5)}
+  #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)}
+  #define NOZZLE_CLEAN_END_POINT   {100, 60, (Z_MIN_POS + 1)}
 
   // Circular pattern radius
   #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5
@@ -1321,7 +1307,7 @@
   #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT
 
   // Moves the nozzle to the initial position
-  //#define NOZZLE_CLEAN_GOBACK
+  #define NOZZLE_CLEAN_GOBACK
 #endif
 
 /**
@@ -1422,7 +1408,7 @@
  *
  * Use CRC checks and retries on the SD communication.
  */
-#define SD_CHECK_AND_RETRY
+//#define SD_CHECK_AND_RETRY
 
 /**
  * LCD Menu Items
@@ -1439,13 +1425,13 @@
 // This option overrides the default number of encoder pulses needed to
 // produce one step. Should be increased for high-resolution encoders.
 //
-//#define ENCODER_PULSES_PER_STEP 4
+#define ENCODER_PULSES_PER_STEP 1
 
 //
 // Use this option to override the number of step signals required to
 // move between next/prev menu items.
 //
-//#define ENCODER_STEPS_PER_MENU_ITEM 1
+#define ENCODER_STEPS_PER_MENU_ITEM 5
 
 /**
  * Encoder Direction Options
@@ -1783,7 +1769,7 @@
 // @section extras
 
 // Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino
-//#define FAST_PWM_FAN
+#define FAST_PWM_FAN
 
 // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
 // which is not as annoying as with the hardware PWM. On the other hand, if this frequency
diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
index afa414bddaf..e14140d057b 100644
--- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
+++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
@@ -172,10 +172,10 @@
 // Extruder runout prevention.
 // If the machine is idle and the temperature over MINTEMP
 // then extrude some filament every couple of SECONDS.
-#define EXTRUDER_RUNOUT_PREVENT
+//#define EXTRUDER_RUNOUT_PREVENT
 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
-  #define EXTRUDER_RUNOUT_MINTEMP 170
-  #define EXTRUDER_RUNOUT_SECONDS 60
+  #define EXTRUDER_RUNOUT_MINTEMP 190
+  #define EXTRUDER_RUNOUT_SECONDS 30
   #define EXTRUDER_RUNOUT_SPEED 1500  // mm/m
   #define EXTRUDER_RUNOUT_EXTRUDE 5   // mm
 #endif
@@ -206,7 +206,7 @@
 // When first starting the main fan, run it at full speed for the
 // given number of milliseconds.  This gets the fan spinning reliably
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
-//#define FAN_KICKSTART_TIME 100
+#define FAN_KICKSTART_TIME 800
 
 /**
  * PWM Fan Scaling
@@ -379,7 +379,7 @@
 // Homing hits each endstop, retracts by these distances, then does a slower bump.
 #define X_HOME_BUMP_MM 5
 #define Y_HOME_BUMP_MM 5
-#define Z_HOME_BUMP_MM 2
+#define Z_HOME_BUMP_MM 1
 #define HOMING_BUMP_DIVISOR { 2, 2, 4 }  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
 #define QUICK_HOME                       // If homing includes X and Y, do a diagonal move initially
 
@@ -405,10 +405,10 @@
 // Default stepper release if idle. Set to 0 to deactivate.
 // Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true.
 // Time can be set by M18 and M84.
-#define DEFAULT_STEPPER_DEACTIVE_TIME 120
-#define DISABLE_INACTIVE_X true
-#define DISABLE_INACTIVE_Y true
-#define DISABLE_INACTIVE_Z true  // set to false if the nozzle will fall down on your printed part when print has finished.
+#define DEFAULT_STEPPER_DEACTIVE_TIME 300
+#define DISABLE_INACTIVE_X false
+#define DISABLE_INACTIVE_Y false
+#define DISABLE_INACTIVE_Z false  // set to false if the nozzle will fall down on your printed part when print has finished.
 #define DISABLE_INACTIVE_E true
 
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
@@ -419,7 +419,7 @@
 // @section lcd
 
 #if ENABLED(ULTIPANEL)
-  #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
+  #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel
   //#define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
 #endif
 
@@ -474,7 +474,15 @@
  *    M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2
  */
 //#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 }            // Values in milliamps
-#define DIGIPOT_MOTOR_CURRENT { 150, 170, 180, 190, 180 }   // Values 0-255 (bq ZUM Mega 3D (default): X = 150 [~1.17A]; Y = 170 [~1.33A]; Z = 180 [~1.41A]; E0 = 190 [~1.49A])
+
+#define DIGIPOT_MOTOR_CURRENT { 170, 170, 180, 190, 180 }   // Values 0-255
+                                                            //
+                                                            // bq ZUM Mega 3D defaults:
+                                                            //  X  = 150 [~1.17A]
+                                                            //  Y  = 170 [~1.33A]
+                                                            //  Z  = 180 [~1.41A]
+                                                            //  E0 = 190 [~1.49A]
+
 //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 }      // Default drive percent - X, Y, Z, E axis
 
 // Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro)
@@ -502,17 +510,17 @@
 //=============================Additional Features===========================
 //===========================================================================
 
-//#define ENCODER_RATE_MULTIPLIER         // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly
-//#define ENCODER_10X_STEPS_PER_SEC 75    // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value
-//#define ENCODER_100X_STEPS_PER_SEC 160  // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value
+#define ENCODER_RATE_MULTIPLIER       // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly
+#define ENCODER_10X_STEPS_PER_SEC  30 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value
+#define ENCODER_100X_STEPS_PER_SEC 50 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value
 
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
-//#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
+#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
 
 // @section lcd
 
 // Include a page of printer information in the LCD Main Menu
-#define LCD_INFO_MENU
+//#define LCD_INFO_MENU
 
 // Scroll a longer status message into view
 #define STATUS_MESSAGE_SCROLLING
@@ -521,7 +529,7 @@
 #define LCD_DECIMAL_SMALL_XY
 
 // The timeout (in ms) to return to the status screen from sub-menus
-//#define LCD_TIMEOUT_TO_STATUS 15000
+#define LCD_TIMEOUT_TO_STATUS 60000
 
 // Add an 'M73' G-code to set the current percentage
 //#define LCD_SET_PROGRESS_MANUALLY
@@ -563,8 +571,8 @@
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
   #define SD_DETECT_INVERTED
 
-  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
-  #define SD_FINISHED_RELEASECOMMAND "M104 S0\nM84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
+  #define SD_FINISHED_STEPPERRELEASE false         // Disable steppers when SD Print is finished
+  #define SD_FINISHED_RELEASECOMMAND "G27 P0"      // You might want to keep the z enabled so your bed stays in place.
 
   // Reverse SD sort to show "more recent" files first, according to the card's FAT.
   // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
@@ -622,7 +630,7 @@
   #endif
 
   // This allows hosts to request long names for files and folders with M33
-  #define LONG_FILENAME_HOST_SUPPORT
+  //#define LONG_FILENAME_HOST_SUPPORT
 
   // Enable this option to scroll long filenames in the SD card menu
   //#define SCROLL_LONG_FILENAMES
@@ -665,18 +673,18 @@
   //#define DOGM_SD_PERCENT
 
   // Enable to save many cycles by drawing a hollow frame on the Info Screen
-  #define XYZ_HOLLOW_FRAME
+  //#define XYZ_HOLLOW_FRAME
 
   // Enable to save many cycles by drawing a hollow frame on Menu Screens
   #define MENU_HOLLOW_FRAME
 
   // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM.
   // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
-  #define USE_BIG_EDIT_FONT
+  //#define USE_BIG_EDIT_FONT
 
   // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM.
   // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
-  #define USE_SMALL_INFOFONT
+  //#define USE_SMALL_INFOFONT
 
   // Enable this option and reduce the value to optimize screen updates.
   // The normal delay is 10µs. Use the lowest value that still gives a reliable display.
@@ -728,16 +736,16 @@
  *
  * Warning: Does not respect endstops!
  */
-//#define BABYSTEPPING
+#define BABYSTEPPING
 #if ENABLED(BABYSTEPPING)
-  //#define BABYSTEP_XY              // Also enable X/Y Babystepping. Not supported on DELTA!
-  #define BABYSTEP_INVERT_Z false    // Change if Z babysteps should go the other way
-  #define BABYSTEP_MULTIPLICATOR 1   // Babysteps are very small. Increase for faster motion.
-  //#define BABYSTEP_ZPROBE_OFFSET   // Enable to combine M851 and Babystepping
-  //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
-  #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
-                                        // Note: Extra time may be added to mitigate controller latency.
-  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
+  //#define BABYSTEP_XY                   // Also enable X/Y Babystepping. Not supported on DELTA!
+  #define BABYSTEP_INVERT_Z false         // Change if Z babysteps should go the other way
+  #define BABYSTEP_MULTIPLICATOR 2        // Babysteps are very small. Increase for faster motion.
+  //#define BABYSTEP_ZPROBE_OFFSET          // Enable to combine M851 and Babystepping
+  //#define DOUBLECLICK_FOR_Z_BABYSTEPPING  // Double-click on the Status Screen for Z Babystepping.
+  #define DOUBLECLICK_MAX_INTERVAL  1500  // Maximum interval between clicks, in milliseconds.
+                                          // Note: Extra time may be added to mitigate controller latency.
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY   // Enable graphical overlay on Z-offset editor
 #endif
 
 // @section extruder
@@ -779,7 +787,7 @@
 //
 // G2/G3 Arc Support
 //
-#define ARC_SUPPORT               // Disable this feature to save ~3226 bytes
+//#define ARC_SUPPORT               // Disable this feature to save ~3226 bytes
 #if ENABLED(ARC_SUPPORT)
   #define MM_PER_ARC_SEGMENT  1   // Length of each arc segment
   #define N_ARC_CORRECTION   25   // Number of intertpolated segments between corrections
@@ -819,7 +827,7 @@
 // The number of linear motions that can be in the plan at any give time.
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering.
 #if ENABLED(SDSUPPORT)
-  #define BLOCK_BUFFER_SIZE 32 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
+  #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
 #else
   #define BLOCK_BUFFER_SIZE 64 // maximize block buffer
 #endif
@@ -865,13 +873,13 @@
 // enter the serial receive buffer, so they cannot be blocked.
 // Currently handles M108, M112, M410
 // Does not work on boards using AT90USB (USBCON) processors!
-#define EMERGENCY_PARSER
+//#define EMERGENCY_PARSER
 
 // Bad Serial-connections can miss a received command by sending an 'ok'
 // Therefore some clients abort after 30 seconds in a timeout.
 // Some other clients start sending commands while receiving a 'wait'.
 // This "wait" is only sent when the buffer is empty. 1 second is a good value here.
-//#define NO_TIMEOUTS 1000 // Milliseconds
+#define NO_TIMEOUTS 1000 // Milliseconds
 
 // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 #define ADVANCED_OK
diff --git a/Marlin/example_configurations/BQ/Hephestos_2/README.md b/Marlin/example_configurations/BQ/Hephestos_2/README.md
index cbe9965eed7..ab28487e2d9 100644
--- a/Marlin/example_configurations/BQ/Hephestos_2/README.md
+++ b/Marlin/example_configurations/BQ/Hephestos_2/README.md
@@ -1,22 +1,29 @@
 # Example Configuration for BQ [Hephestos 2](http://www.bq.com/uk/hephestos-2)
-This configuration file is based on the original configuration file shipped with the heavily modified Marlin fork by BQ. The original firmware and configuration file can be found at [BQ Github repository](https://github.com/bq/Marlin).
+Based on the original configuration file shipped with the heavily modified Marlin fork by BQ.
+The forked firmware and configuration files can be found at the [BQ Github repository](https://github.com/bq/Marlin).
 
-NOTE: The look and feel of the Hephestos 2 while navigating the LCD menu will change by using the original Marlin firmware.
+NOTE: The look and feel of the LCD menu will change dramatically when using the original Marlin firmware.
 
 ## Changelog
- * 2016/03/01 - Initial release
+ * 2018/05/30 - Configuration updated to the latest Marlin version (43a55a9af).
+                ABL Bilinear 5x5 is active by default.
 
- * 2016/03/21 - Activated 4-point auto leveling by default
-                Updated miscellaneous z-probe values
+ * 2017/07/06 - Configuration updated to the latest Marlin version and added support for the
+                official BQ heated bed upgrade kit.
 
- * 2016/06/21 - Disabled hot bed related options
-                Activated software endstops
-                SD printing now disables the heater when finished
+ * 2016/12/13 - Configuration updated to the latest Marlin version.
 
- * 2016/07/13 - Update the `DEFAULT_AXIS_STEPS_PER_UNIT` for the Z axis
-                Increased the `DEFAULT_XYJERK`
+ * 2016/07/13 - Configuration updated to the latest Marlin version.
 
- * 2016/12/13 - Configuration updated.
+ * 2016/06/21 - Disabled heated bed related options, activated software endstops and SD printing now
+               disables the heater when finishes printing.
 
- * 2017/07/06 - Configuration updated to the latest Marlin version.
-                Added support for the official BQ heated bed kit.
+ * 2016/03/21 - Activated 4-point auto leveling by default and updated miscellaneous z-probe values.
+
+ * 2016/03/01 - The first release of Marlin's configuration file for the
+                BQ Hephestos 2 3D printer.
+
+
+## Support
+This configuration should work easily with the stock Hephestos 2, nevertheless if you encounter any
+issues you may contact me on [Github](https://github.com/jbrazio), [Twitter](https://twitter.com/jbrazio) or by mail.
diff --git a/Marlin/example_configurations/BQ/Hephestos_2/_Bootscreen.h b/Marlin/example_configurations/BQ/Hephestos_2/_Bootscreen.h
index 3ba0129ea90..9662d78761e 100644
--- a/Marlin/example_configurations/BQ/Hephestos_2/_Bootscreen.h
+++ b/Marlin/example_configurations/BQ/Hephestos_2/_Bootscreen.h
@@ -30,38 +30,39 @@
  * http://marlinfw.org/tools/u8glib/converter.html
  */
 
-#define CUSTOM_BOOTSCREEN_BMPWIDTH  62
+#define CUSTOM_BOOTSCREEN_BMPWIDTH  64
 
 const unsigned char custom_start_bmp[] PROGMEM = {
-  B00000000,B00000000,B00000000,B00001111,B11110000,B00000000,B00000000,B00000000,
-  B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000,
-  B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000,
-  B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000,
-  B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000,
-  B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000,
-  B00000000,B00000011,B11000000,B00001111,B11110000,B00000111,B10000000,B00000000,
-  B00000000,B00000111,B11100000,B00000111,B11100000,B00001111,B11000000,B00000000,
-  B00000000,B00001111,B11110000,B00000011,B11000000,B00011111,B11100000,B00000000,
-  B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000,
-  B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000,
-  B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000,
-  B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000,
-  B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000,
-  B00000000,B00001111,B11110000,B00000000,B00000000,B00011111,B11100000,B00000000,
-  B00000000,B00000111,B11100000,B00000000,B00000000,B00001111,B11000000,B00000000,
-  B00000000,B00000011,B11000000,B00000000,B00000000,B00000111,B10000000,B00000000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B11111000,B00000111,B11111000,B00000111,B11000000,B00000000,
+  B00000000,B00000001,B11111100,B00000011,B11110000,B00001111,B11100000,B00000000,
+  B00000000,B00000011,B11111110,B00000000,B11000000,B00011111,B11110000,B00000000,
+  B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000,
+  B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000,
+  B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000,
+  B00000000,B00000011,B11111100,B00000000,B00000000,B00001111,B11100000,B00000000,
+  B00000000,B00000001,B11111000,B00000000,B00000000,B00001111,B11100000,B00000000,
+  B00000000,B00000000,B01110000,B00000000,B00000000,B00000011,B10000000,B00000000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
@@ -69,32 +70,31 @@ const unsigned char custom_start_bmp[] PROGMEM = {
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+  B00001111,B10000000,B00000000,B00000000,B01110000,B00000000,B00000000,B00000000,
+  B00011111,B11000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000,
+  B00111111,B11000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000,
+  B00111111,B11100000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000,
+  B00111111,B11100000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000,
+  B00111111,B11100000,B00000000,B00000000,B01111011,B11000000,B00001111,B00000000,
+  B00111111,B11000000,B00000000,B00000000,B01111111,B11110000,B00111111,B11000000,
+  B00011111,B10000000,B00000000,B00000000,B01111111,B11111000,B01111111,B11100000,
+  B00001111,B00000000,B00000000,B00000000,B01111110,B11111100,B11111001,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B11100000,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B11100000,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B01111100,B01111100,B11111001,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B00011111,B11111000,B11111111,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B00001111,B11110000,B01111111,B11110000,
+  B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00011111,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000,
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000,
   B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
-  B00011110,B00000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000,
-  B00111111,B00000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000,
-  B01111111,B10000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000,
-  B11111111,B11000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000,
-  B11111111,B11000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000,
-  B11111111,B11000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000,
-  B11111111,B11000000,B00000000,B00000000,B11110111,B11000000,B00011111,B10000000,
-  B11111111,B11000000,B00000000,B00000000,B11111111,B11110000,B01111111,B11000000,
-  B01111111,B10000000,B00000000,B00000000,B11111111,B11111000,B11111111,B11100000,
-  B00111111,B00000000,B00000000,B00000000,B11111100,B11111000,B11110000,B11111000,
-  B00011110,B00000000,B00000000,B00000000,B11111000,B01111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B11111000,B01111001,B11110000,B11111000,
-  B00000000,B00000000,B00000000,B00000000,B11111111,B11111000,B11111111,B11111000,
-  B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B01111111,B11111000,
-  B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111000,
-  B00000000,B00000000,B00000000,B00000000,B00000011,B10000000,B00001110,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,
-  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000
+  B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 
 };
diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
index cd11d480c52..4363f2fe55a 100644
--- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
+++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
@@ -1150,17 +1150,6 @@
 
   #endif
 
-#elif ENABLED(AUTO_BED_LEVELING_3POINT)
-
-  // 3 arbitrary points to probe.
-  // A simple cross-product is used to estimate the plane of the bed.
-  //#define PROBE_PT_1_X 15
-  //#define PROBE_PT_1_Y 180
-  //#define PROBE_PT_2_X 15
-  //#define PROBE_PT_2_Y 20
-  //#define PROBE_PT_3_X 170
-  //#define PROBE_PT_3_Y 20
-
 #elif ENABLED(AUTO_BED_LEVELING_UBL)
 
   //===========================================================================
@@ -1173,13 +1162,6 @@
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
 
-  //#define PROBE_PT_1_X 15
-  //#define PROBE_PT_1_Y 180
-  //#define PROBE_PT_2_X 15
-  //#define PROBE_PT_2_Y 20
-  //#define PROBE_PT_3_X 170
-  //#define PROBE_PT_3_Y 20
-
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
 
diff --git a/Marlin/thermistortable_70.h b/Marlin/thermistortable_70.h
index fd7838b8098..2f9434e3006 100644
--- a/Marlin/thermistortable_70.h
+++ b/Marlin/thermistortable_70.h
@@ -20,64 +20,23 @@
  *
  */
 
+// Stock BQ Hephestos 2 100k thermistor.
+// Created on 29/12/2017 with an ambient temperature of 20C.
+// ANENG AN8009 DMM with a K-type probe used for measurements.
+
 // R25 = 100 kOhm, beta25 = 4100 K, 4.7 kOhm pull-up, bqh2 stock thermistor
 const short temptable_70[][2] PROGMEM = {
-  { OV(  22), 300 },
-  { OV(  24), 295 },
-  { OV(  25), 290 },
-  { OV(  27), 285 },
-  { OV(  29), 280 },
-  { OV(  32), 275 },
-  { OV(  34), 270 },
-  { OV(  37), 265 },
-  { OV(  40), 260 },
-  { OV(  43), 255 },
-  { OV(  46), 250 },
-  { OV(  50), 245 },
-  { OV(  54), 240 },
-  { OV(  59), 235 },
-  { OV(  64), 230 },
-  { OV(  70), 225 },
-  { OV(  76), 220 },
-  { OV(  83), 215 },
-  { OV(  90), 210 },
-  { OV(  99), 205 },
-  { OV( 108), 200 },
-  { OV( 118), 195 },
-  { OV( 129), 190 },
-  { OV( 141), 185 },
-  { OV( 154), 180 },
-  { OV( 169), 175 },
-  { OV( 185), 170 },
-  { OV( 203), 165 },
-  { OV( 222), 160 },
-  { OV( 243), 155 },
-  { OV( 266), 150 },
-  { OV( 290), 145 },
-  { OV( 317), 140 },
-  { OV( 346), 135 },
-  { OV( 376), 130 },
-  { OV( 408), 125 },
-  { OV( 442), 120 },
-  { OV( 477), 115 },
-  { OV( 513), 110 },
-  { OV( 551), 105 },
-  { OV( 588), 100 },
-  { OV( 626),  95 },
-  { OV( 663),  90 },
-  { OV( 699),  85 },
-  { OV( 735),  80 },
-  { OV( 768),  75 },
-  { OV( 800),  70 },
-  { OV( 829),  65 },
-  { OV( 856),  60 },
-  { OV( 881),  55 },
-  { OV( 903),  50 },
-  { OV( 922),  45 },
-  { OV( 939),  40 },
-  { OV( 954),  35 },
-  { OV( 966),  30 },
-  { OV( 977),  25 },
+  { OV(  18), 270 },
+  { OV(  27), 248 },
+  { OV(  34), 234 },
+  { OV(  45), 220 },
+  { OV(  61), 205 },
+  { OV(  86), 188 },
+  { OV( 123), 172 },
+  { OV( 420), 110 },
+  { OV( 590),  90 },
+  { OV( 845),  56 },
+  { OV( 970),  25 },
   { OV( 986),  20 },
   { OV( 994),  15 },
   { OV(1000),  10 },
diff --git a/Marlin/ultralcd_st7920_u8glib_rrd.h b/Marlin/ultralcd_st7920_u8glib_rrd.h
index 96a1f05f094..db6224e4782 100644
--- a/Marlin/ultralcd_st7920_u8glib_rrd.h
+++ b/Marlin/ultralcd_st7920_u8glib_rrd.h
@@ -61,6 +61,10 @@
   #define CPU_ST7920_DELAY_1 DELAY_NS(0)
   #define CPU_ST7920_DELAY_2 DELAY_NS(0)
   #define CPU_ST7920_DELAY_3 DELAY_NS(0)
+#elif MB(BQ_ZUM_MEGA_3D)
+  #define CPU_ST7920_DELAY_1 DELAY_NS(0)
+  #define CPU_ST7920_DELAY_2 DELAY_NS(0)
+  #define CPU_ST7920_DELAY_3 DELAY_NS(189)
 #elif F_CPU == 16000000
   #define CPU_ST7920_DELAY_1 DELAY_NS(0)
   #define CPU_ST7920_DELAY_2 DELAY_NS(0)