From 4fb3ce4739f439c233ac4675dd1a277ab8bf0034 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Tue, 31 Oct 2017 15:21:44 -0500
Subject: [PATCH 1/2] Support for SilverGate Board

---
 Marlin/Conditionals_LCD.h                     |  2 +-
 Marlin/Configuration.h                        |  5 +
 Marlin/boards.h                               |  1 +
 .../AlephObjects/TAZ4/Configuration.h         |  5 +
 .../AliExpress/CL-260/Configuration.h         |  5 +
 .../Anet/A6/Configuration.h                   |  5 +
 .../Anet/A8/Configuration.h                   |  5 +
 .../BQ/Hephestos/Configuration.h              |  5 +
 .../BQ/Hephestos_2/Configuration.h            |  5 +
 .../BQ/WITBOX/Configuration.h                 |  5 +
 .../Cartesio/Configuration.h                  |  5 +
 .../Creality/CR-10/Configuration.h            |  5 +
 .../Felix/Configuration.h                     |  5 +
 .../Felix/DUAL/Configuration.h                |  5 +
 .../FolgerTech/i3-2020/Configuration.h        |  5 +
 .../Geeetech/GT2560/Configuration.h           |  5 +
 .../Geeetech/I3_Pro_X-GT2560/Configuration.h  |  5 +
 .../Infitary/i3-M508/Configuration.h          |  5 +
 .../Malyan/M150/Configuration.h               |  5 +
 .../Micromake/C1/basic/Configuration.h        |  5 +
 .../Micromake/C1/enhanced/Configuration.h     |  5 +
 .../RepRapWorld/Megatronics/Configuration.h   |  5 +
 .../RigidBot/Configuration.h                  |  5 +
 .../SCARA/Configuration.h                     |  5 +
 .../Sanguinololu/Configuration.h              |  5 +
 .../TinyBoy2/Configuration.h                  |  5 +
 .../Velleman/K8400/Configuration.h            |  5 +
 .../Velleman/K8400/Dual-head/Configuration.h  |  5 +
 .../adafruit/ST7565/Configuration.h           |  5 +
 .../FLSUN/auto_calibrate/Configuration.h      |  5 +
 .../delta/FLSUN/kossel_mini/Configuration.h   |  5 +
 .../delta/generic/Configuration.h             |  5 +
 .../delta/kossel_mini/Configuration.h         |  5 +
 .../delta/kossel_pro/Configuration.h          |  5 +
 .../delta/kossel_xl/Configuration.h           |  5 +
 .../gCreate/gMax1.5+/Configuration.h          |  5 +
 .../makibox/Configuration.h                   |  5 +
 .../tvrrug/Round2/Configuration.h             |  5 +
 .../wt150/Configuration.h                     |  5 +
 Marlin/pins.h                                 |  2 +
 Marlin/pinsDebug.h                            |  5 +-
 Marlin/pinsDebug_plus_70.h                    |  8 +-
 Marlin/pins_SILVER_GATE.h                     | 94 +++++++++++++++++++
 Marlin/ultralcd_st7565_u8glib_VIKI.h          |  6 +-
 Marlin/ultralcd_st7920_u8glib_rrd.h           |  6 +-
 45 files changed, 294 insertions(+), 15 deletions(-)
 create mode 100644 Marlin/pins_SILVER_GATE.h

diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h
index 8dd2ed1b776..061868550d5 100644
--- a/Marlin/Conditionals_LCD.h
+++ b/Marlin/Conditionals_LCD.h
@@ -154,7 +154,7 @@
 
   #endif
 
-  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(LCD_FOR_MELZI)
+  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(LCD_FOR_MELZI) || ENABLED(SILVER_GATE_GLCD_CONTROLLER)
     #define DOGLCD
     #define U8GLIB_ST7920
     #define REPRAP_DISCOUNT_SMART_CONTROLLER
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index e4bedf8c926..b562322d7a7 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/boards.h b/Marlin/boards.h
index 2452814e755..05195d9a768 100644
--- a/Marlin/boards.h
+++ b/Marlin/boards.h
@@ -33,6 +33,7 @@
 #define BOARD_CNCONTROLS_12     112  // Cartesio CN Controls V12
 #define BOARD_CHEAPTRONIC       2    // Cheaptronic v1.0
 #define BOARD_CHEAPTRONIC_V2    21   // Cheaptronic v2.0
+#define BOARD_SILVER_GATE       25   // Silvergate v1.0
 #define BOARD_SETHI             20   // Sethi 3D_1
 #define BOARD_MIGHTYBOARD_REVE  200  // Makerbot Mightyboard Revision E
 #define BOARD_RAMPS_OLD         3    // MEGA/RAMPS up to 1.2
diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h
index 03b90441e1e..95615264ff2 100644
--- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h
+++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h
@@ -1573,6 +1573,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/AliExpress/CL-260/Configuration.h b/Marlin/example_configurations/AliExpress/CL-260/Configuration.h
index fc1b50f58e8..16870059423 100644
--- a/Marlin/example_configurations/AliExpress/CL-260/Configuration.h
+++ b/Marlin/example_configurations/AliExpress/CL-260/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Anet/A6/Configuration.h b/Marlin/example_configurations/Anet/A6/Configuration.h
index 98d3b0afa53..6de301573ee 100644
--- a/Marlin/example_configurations/Anet/A6/Configuration.h
+++ b/Marlin/example_configurations/Anet/A6/Configuration.h
@@ -1712,6 +1712,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Anet/A8/Configuration.h b/Marlin/example_configurations/Anet/A8/Configuration.h
index fa86f5d85b9..87aa2f35a17 100644
--- a/Marlin/example_configurations/Anet/A8/Configuration.h
+++ b/Marlin/example_configurations/Anet/A8/Configuration.h
@@ -1561,6 +1561,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration.h b/Marlin/example_configurations/BQ/Hephestos/Configuration.h
index 5ed326d6000..16afb5d02b8 100644
--- a/Marlin/example_configurations/BQ/Hephestos/Configuration.h
+++ b/Marlin/example_configurations/BQ/Hephestos/Configuration.h
@@ -1544,6 +1544,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
index ba6c737684a..8703e7c1533 100644
--- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
+++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
@@ -1554,6 +1554,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration.h b/Marlin/example_configurations/BQ/WITBOX/Configuration.h
index 1470e827aa6..a118434c889 100644
--- a/Marlin/example_configurations/BQ/WITBOX/Configuration.h
+++ b/Marlin/example_configurations/BQ/WITBOX/Configuration.h
@@ -1544,6 +1544,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h
index fe066fa9b30..1145765aa3d 100644
--- a/Marlin/example_configurations/Cartesio/Configuration.h
+++ b/Marlin/example_configurations/Cartesio/Configuration.h
@@ -1552,6 +1552,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Creality/CR-10/Configuration.h b/Marlin/example_configurations/Creality/CR-10/Configuration.h
index d649385951b..aee653fdeaa 100755
--- a/Marlin/example_configurations/Creality/CR-10/Configuration.h
+++ b/Marlin/example_configurations/Creality/CR-10/Configuration.h
@@ -1563,6 +1563,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h
index b161836c65a..5094602a0de 100644
--- a/Marlin/example_configurations/Felix/Configuration.h
+++ b/Marlin/example_configurations/Felix/Configuration.h
@@ -1535,6 +1535,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h
index 3100574a6f8..a23287a34a1 100644
--- a/Marlin/example_configurations/Felix/DUAL/Configuration.h
+++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h
@@ -1535,6 +1535,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h
index dcff7feee3e..abbef20aba8 100644
--- a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h
+++ b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h
@@ -1558,6 +1558,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Geeetech/GT2560/Configuration.h b/Marlin/example_configurations/Geeetech/GT2560/Configuration.h
index 20849ee9e88..8c5fe7ebeee 100644
--- a/Marlin/example_configurations/Geeetech/GT2560/Configuration.h
+++ b/Marlin/example_configurations/Geeetech/GT2560/Configuration.h
@@ -1568,6 +1568,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h b/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h
index 47d697b4f79..b0975a8dab7 100644
--- a/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h
+++ b/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration.h
index 792447f36ae..888930aac9a 100644
--- a/Marlin/example_configurations/Infitary/i3-M508/Configuration.h
+++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration.h
@@ -1557,6 +1557,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Malyan/M150/Configuration.h b/Marlin/example_configurations/Malyan/M150/Configuration.h
index 9b7d38d4b3d..8bc192924e7 100644
--- a/Marlin/example_configurations/Malyan/M150/Configuration.h
+++ b/Marlin/example_configurations/Malyan/M150/Configuration.h
@@ -1581,6 +1581,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Micromake/C1/basic/Configuration.h b/Marlin/example_configurations/Micromake/C1/basic/Configuration.h
index 4f206c9369b..d9fff9a0acd 100644
--- a/Marlin/example_configurations/Micromake/C1/basic/Configuration.h
+++ b/Marlin/example_configurations/Micromake/C1/basic/Configuration.h
@@ -1557,6 +1557,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h
index 2ea62b8dacd..7f6bef876df 100644
--- a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h
+++ b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h
@@ -1557,6 +1557,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
index 261544af7a2..e678a77e73b 100644
--- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
+++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h
index 87156b4a2cf..195d3b13455 100644
--- a/Marlin/example_configurations/RigidBot/Configuration.h
+++ b/Marlin/example_configurations/RigidBot/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h
index 70718b039a1..293d68e6bf6 100644
--- a/Marlin/example_configurations/SCARA/Configuration.h
+++ b/Marlin/example_configurations/SCARA/Configuration.h
@@ -1565,6 +1565,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Sanguinololu/Configuration.h b/Marlin/example_configurations/Sanguinololu/Configuration.h
index 946f4439078..5fdbffeddd7 100644
--- a/Marlin/example_configurations/Sanguinololu/Configuration.h
+++ b/Marlin/example_configurations/Sanguinololu/Configuration.h
@@ -1584,6 +1584,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h
index 78b90ae0b80..1b03e5f8eda 100644
--- a/Marlin/example_configurations/TinyBoy2/Configuration.h
+++ b/Marlin/example_configurations/TinyBoy2/Configuration.h
@@ -1609,6 +1609,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Velleman/K8400/Configuration.h b/Marlin/example_configurations/Velleman/K8400/Configuration.h
index ba7aa8d0b07..50465bfbf1c 100644
--- a/Marlin/example_configurations/Velleman/K8400/Configuration.h
+++ b/Marlin/example_configurations/Velleman/K8400/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h
index dd997f36037..e33f07b2c1c 100644
--- a/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h
+++ b/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h
index e473694a37a..bd78b81e3b1 100644
--- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h
+++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h
@@ -1553,6 +1553,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
index 07558f1ea8c..e3117b794cf 100644
--- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
+++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
@@ -1687,6 +1687,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
index d6894ec79ba..4a800748ce2 100644
--- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
+++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
@@ -1680,6 +1680,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h
index 1f65498d157..4d31dbabecc 100644
--- a/Marlin/example_configurations/delta/generic/Configuration.h
+++ b/Marlin/example_configurations/delta/generic/Configuration.h
@@ -1675,6 +1675,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
index a6f7a50aa88..576d20536ae 100644
--- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
@@ -1678,6 +1678,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h
index 8b7b71b21cb..cded8a81727 100644
--- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h
@@ -1678,6 +1678,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h
index b6aa0a9ade7..f81cf379fbc 100644
--- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h
@@ -1687,6 +1687,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h
index 7f6ff8be38d..e0260d099b4 100644
--- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h
+++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h
@@ -1567,6 +1567,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h
index 9353148c68e..6b51665838e 100644
--- a/Marlin/example_configurations/makibox/Configuration.h
+++ b/Marlin/example_configurations/makibox/Configuration.h
@@ -1556,6 +1556,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
index 080705c85f1..7d9190b60b3 100644
--- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h
+++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
@@ -1548,6 +1548,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/example_configurations/wt150/Configuration.h b/Marlin/example_configurations/wt150/Configuration.h
index 9a765876cfe..99f5374972d 100644
--- a/Marlin/example_configurations/wt150/Configuration.h
+++ b/Marlin/example_configurations/wt150/Configuration.h
@@ -1558,6 +1558,11 @@
 //
 //#define MKS_12864OLED
 
+// Silvergate GLCD controller
+// http://github.com/android444/Silvergate
+//
+//#define SILVER_GATE_GLCD_CONTROLLER
+
 //=============================================================================
 //=============================== Extra Features ==============================
 //=============================================================================
diff --git a/Marlin/pins.h b/Marlin/pins.h
index bbc61ead2e9..88544d704d2 100644
--- a/Marlin/pins.h
+++ b/Marlin/pins.h
@@ -158,6 +158,8 @@
   #include "pins_GT2560_REV_A.h"      // ATmega1280, ATmega2560
 #elif MB(GT2560_REV_A_PLUS)
   #include "pins_GT2560_REV_A_PLUS.h" // ATmega1280, ATmega2560
+#elif MB(SILVER_GATE)
+  #include "pins_SILVER_GATE.h"       // ATmega2561
 
 //
 // ATmega1281, ATmega2561
diff --git a/Marlin/pinsDebug.h b/Marlin/pinsDebug.h
index 56f0916d20c..239e9c4b16a 100644
--- a/Marlin/pinsDebug.h
+++ b/Marlin/pinsDebug.h
@@ -102,10 +102,7 @@ const PinInfo pin_array[] PROGMEM = {
 
 };
 
-#define AVR_ATmega2560_FAMILY_PLUS_70 (MOTHERBOARD == BOARD_BQ_ZUM_MEGA_3D \
-|| MOTHERBOARD == BOARD_MIGHTYBOARD_REVE \
-|| MOTHERBOARD == BOARD_MINIRAMBO \
-|| MOTHERBOARD == BOARD_SCOOVO_X9H)
+#define AVR_ATmega2560_FAMILY_PLUS_70 (MB(BQ_ZUM_MEGA_3D) || MB(MIGHTYBOARD_REVE) || MB(MINIRAMBO) || MB(SCOOVO_X9H))
 
 #if AVR_AT90USB1286_FAMILY
   // Working with Teensyduino extension so need to re-define some things
diff --git a/Marlin/pinsDebug_plus_70.h b/Marlin/pinsDebug_plus_70.h
index 1a905bd4637..c18c595ec9d 100644
--- a/Marlin/pinsDebug_plus_70.h
+++ b/Marlin/pinsDebug_plus_70.h
@@ -29,13 +29,13 @@
 #define __PINSDEBUG_PLUS_70_H__
 
 #undef NUM_DIGITAL_PINS
-#if MOTHERBOARD == BOARD_BQ_ZUM_MEGA_3D
+#if MB(BQ_ZUM_MEGA_3D)
   #define NUM_DIGITAL_PINS            85
-#elif MOTHERBOARD == BOARD_MIGHTYBOARD_REVE
+#elif MB(MIGHTYBOARD_REVE)
   #define NUM_DIGITAL_PINS            80
-#elif MOTHERBOARD == BOARD_MINIRAMBO
+#elif MB(MINIRAMBO)
   #define NUM_DIGITAL_PINS            85
-#elif MOTHERBOARD == BOARD_SCOOVO_X9H
+#elif MB(SCOOVO_X9H)
   #define NUM_DIGITAL_PINS            85
 #endif
 
diff --git a/Marlin/pins_SILVER_GATE.h b/Marlin/pins_SILVER_GATE.h
new file mode 100644
index 00000000000..305176060bb
--- /dev/null
+++ b/Marlin/pins_SILVER_GATE.h
@@ -0,0 +1,94 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#if !defined(__AVR_ATmega1281__) && !defined(__AVR_ATmega2561__) 
+  #error Oops!  Make sure you have 'Silvergate' selected from the 'Tools -> Boards' menu.
+#endif
+
+#ifndef BOARD_NAME
+  #define BOARD_NAME "Silver Gate"
+#endif
+
+#define LARGE_FLASH true
+
+#define X_STEP_PIN         43
+#define X_DIR_PIN          44
+#define X_ENABLE_PIN       42
+#define X_MIN_PIN          31
+#define X_MAX_PIN          34
+
+#define Y_STEP_PIN         40
+#define Y_DIR_PIN          41
+#define Y_ENABLE_PIN       39
+#define Y_MIN_PIN          32
+#define Y_MAX_PIN          35
+
+#define Z_STEP_PIN         13
+#define Z_DIR_PIN          38
+#define Z_ENABLE_PIN       14
+#define Z_MIN_PIN          33
+#define Z_MAX_PIN          36
+
+#define E0_STEP_PIN        27
+#define E0_DIR_PIN         37
+#define E0_ENABLE_PIN      45
+
+#define SDSS               16
+
+#ifndef FIL_RUNOUT_PIN
+  #define FIL_RUNOUT_PIN   34   // X_MAX unless overridden
+#endif
+
+#define FAN_PIN             5
+
+#define HEATER_0_PIN        7
+
+#define E0_AUTO_FAN_PIN     3
+#define CONTROLLER_FAN_PIN  2
+
+#define TEMP_0_PIN          7   // Analog Input
+
+#define HEATER_BED_PIN      8
+#define TEMP_BED_PIN        6
+
+#if ENABLED(DOGLCD)
+  #if ENABLED(U8GLIB_ST7920)    // SPI GLCD 12864 ST7920 
+    #define LCD_PINS_RS    30
+    #define LCD_PINS_ENABLE 20
+    #define LCD_PINS_D4    25
+    #define BEEPER_PIN     29
+    #define BTN_EN1        19
+    #define BTN_EN2        22
+    #define BTN_ENC        24
+    #define LCD_BACKLIGHT_PIN  6
+    #if ENABLED(SILVER_GATE_GLCD_CONTROLLER) 
+      #define KILL_PIN     21
+      #define HOME_PIN     28
+    #endif
+  #endif
+#endif
+
+#define SD_DETECT_PIN      15
+ 
+#define STAT_LED_RED_PIN   23
+#define STAT_LED_BLUE_PIN  26
+#define CASE_LIGHT_PIN     51
diff --git a/Marlin/ultralcd_st7565_u8glib_VIKI.h b/Marlin/ultralcd_st7565_u8glib_VIKI.h
index b7bb2e26c1a..2121b70de4a 100644
--- a/Marlin/ultralcd_st7565_u8glib_VIKI.h
+++ b/Marlin/ultralcd_st7565_u8glib_VIKI.h
@@ -52,15 +52,15 @@
   #define CPU_ST7565_DELAY_1 DELAY_0_NOP
   #define CPU_ST7565_DELAY_2 DELAY_0_NOP
   #define CPU_ST7565_DELAY_3 DELAY_1_NOP
-#elif (MOTHERBOARD == BOARD_3DRAG) || (MOTHERBOARD == BOARD_K8200) || (MOTHERBOARD == BOARD_K8400)
+#elif MB(3DRAG) || MB(K8200) || MB(K8400)
   #define CPU_ST7565_DELAY_1 DELAY_0_NOP
   #define CPU_ST7565_DELAY_2 DELAY_3_NOP
   #define CPU_ST7565_DELAY_3 DELAY_0_NOP
-#elif (MOTHERBOARD == BOARD_MINIRAMBO)
+#elif MB(MINIRAMBO)
   #define CPU_ST7565_DELAY_1 DELAY_0_NOP
   #define CPU_ST7565_DELAY_2 DELAY_4_NOP
   #define CPU_ST7565_DELAY_3 DELAY_0_NOP
-#elif (MOTHERBOARD == BOARD_RAMBO)
+#elif MB(RAMBO)
   #define CPU_ST7565_DELAY_1 DELAY_0_NOP
   #define CPU_ST7565_DELAY_2 DELAY_0_NOP
   #define CPU_ST7565_DELAY_3 DELAY_0_NOP
diff --git a/Marlin/ultralcd_st7920_u8glib_rrd.h b/Marlin/ultralcd_st7920_u8glib_rrd.h
index 150b850d468..67de4611e76 100644
--- a/Marlin/ultralcd_st7920_u8glib_rrd.h
+++ b/Marlin/ultralcd_st7920_u8glib_rrd.h
@@ -48,15 +48,15 @@
   #define CPU_ST7920_DELAY_1 DELAY_0_NOP
   #define CPU_ST7920_DELAY_2 DELAY_0_NOP
   #define CPU_ST7920_DELAY_3 DELAY_1_NOP
-#elif (MOTHERBOARD == BOARD_3DRAG) || (MOTHERBOARD == BOARD_K8200) || (MOTHERBOARD == BOARD_K8400)
+#elif MB(3DRAG) || MB(K8200) || MB(K8400) || MB(SILVER_GATE)
   #define CPU_ST7920_DELAY_1 DELAY_0_NOP
   #define CPU_ST7920_DELAY_2 DELAY_3_NOP
   #define CPU_ST7920_DELAY_3 DELAY_0_NOP
-#elif (MOTHERBOARD == BOARD_MINIRAMBO)
+#elif MB(MINIRAMBO)
   #define CPU_ST7920_DELAY_1 DELAY_0_NOP
   #define CPU_ST7920_DELAY_2 DELAY_4_NOP
   #define CPU_ST7920_DELAY_3 DELAY_0_NOP
-#elif (MOTHERBOARD == BOARD_RAMBO)
+#elif MB(RAMBO)
   #define CPU_ST7920_DELAY_1 DELAY_0_NOP
   #define CPU_ST7920_DELAY_2 DELAY_0_NOP
   #define CPU_ST7920_DELAY_3 DELAY_0_NOP

From f02ca2a9a3cf2fb4395128af68e24a61cf300933 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Tue, 31 Oct 2017 16:12:07 -0500
Subject: [PATCH 2/2] Organize boards.h by architecture

---
 Marlin/boards.h | 189 ++++++++++++++++++++++++++++--------------------
 1 file changed, 111 insertions(+), 78 deletions(-)

diff --git a/Marlin/boards.h b/Marlin/boards.h
index 05195d9a768..8f5a6ccd0bc 100644
--- a/Marlin/boards.h
+++ b/Marlin/boards.h
@@ -25,84 +25,117 @@
 
 #define BOARD_UNKNOWN -1
 
-#define BOARD_GEN7_CUSTOM       10   // Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
-#define BOARD_GEN7_12           11   // Gen7 v1.1, v1.2
-#define BOARD_GEN7_13           12   // Gen7 v1.3
-#define BOARD_GEN7_14           13   // Gen7 v1.4
-#define BOARD_CNCONTROLS_11     111  // Cartesio CN Controls V11
-#define BOARD_CNCONTROLS_12     112  // Cartesio CN Controls V12
-#define BOARD_CHEAPTRONIC       2    // Cheaptronic v1.0
-#define BOARD_CHEAPTRONIC_V2    21   // Cheaptronic v2.0
-#define BOARD_SILVER_GATE       25   // Silvergate v1.0
-#define BOARD_SETHI             20   // Sethi 3D_1
-#define BOARD_MIGHTYBOARD_REVE  200  // Makerbot Mightyboard Revision E
-#define BOARD_RAMPS_OLD         3    // MEGA/RAMPS up to 1.2
-#define BOARD_RAMPS_13_EFB      33   // RAMPS 1.3 (Power outputs: Hotend, Fan, Bed)
-#define BOARD_RAMPS_13_EEB      34   // RAMPS 1.3 (Power outputs: Hotend0, Hotend1, Bed)
-#define BOARD_RAMPS_13_EFF      35   // RAMPS 1.3 (Power outputs: Hotend, Fan0, Fan1)
-#define BOARD_RAMPS_13_EEF      36   // RAMPS 1.3 (Power outputs: Hotend0, Hotend1, Fan)
-#define BOARD_RAMPS_13_SF       38   // RAMPS 1.3 (Power outputs: Spindle, Controller Fan)
-#define BOARD_FELIX2            37   // Felix 2.0+ Electronics Board (RAMPS like)
-#define BOARD_RIGIDBOARD        42   // Invent-A-Part RigidBoard
-#define BOARD_RIGIDBOARD_V2     52   // Invent-A-Part RigidBoard V2
-#define BOARD_RAMPS_14_EFB      43   // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)
-#define BOARD_RAMPS_14_EEB      44   // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Bed)
-#define BOARD_RAMPS_14_EFF      45   // RAMPS 1.4 (Power outputs: Hotend, Fan0, Fan1)
-#define BOARD_RAMPS_14_EEF      46   // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Fan)
-#define BOARD_RAMPS_14_SF       48   // RAMPS 1.4 (Power outputs: Spindle, Controller Fan)
-#define BOARD_GEN6              5    // Gen6
-#define BOARD_GEN6_DELUXE       51   // Gen6 deluxe
-#define BOARD_SANGUINOLOLU_11   6    // Sanguinololu < 1.2
-#define BOARD_SANGUINOLOLU_12   62   // Sanguinololu 1.2 and above
-#define BOARD_MELZI             63   // Melzi
-#define BOARD_MELZI_MAKR3D      66   // Melzi with ATmega1284 (MaKr3d version)
-#define BOARD_MELZI_CREALITY    89   // Melzi Creality3D board (for CR-10 etc)
-#define BOARD_STB_11            64   // STB V1.1
-#define BOARD_AZTEEG_X1         65   // Azteeg X1
-#define BOARD_AZTEEG_X3         67   // Azteeg X3
-#define BOARD_AZTEEG_X3_PRO     68   // Azteeg X3 Pro
-#define BOARD_ANET_10           69   // Anet 1.0 (Melzi clone)
-#define BOARD_ULTIMAKER         7    // Ultimaker
-#define BOARD_ULTIMAKER_OLD     71   // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
-#define BOARD_ULTIMAIN_2        72   // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
-#define BOARD_GT2560_REV_A      74   // Geeetech GT2560 Rev. A
-#define BOARD_GT2560_REV_A_PLUS 75   // Geeetech GT2560 Rev. A+ (with auto level probe)
-#define BOARD_3DRAG             77   // 3Drag Controller
-#define BOARD_K8200             78   // Velleman K8200 Controller (derived from 3Drag Controller)
-#define BOARD_K8400             79   // Velleman K8400 Controller (derived from 3Drag Controller)
-#define BOARD_TEENSYLU          8    // Teensylu
-#define BOARD_RUMBA             80   // Rumba
-#define BOARD_PRINTRBOARD       81   // Printrboard (AT90USB1286)
-#define BOARD_PRINTRBOARD_REVF  811  // Printrboard Revision F (AT90USB1286)
-#define BOARD_BRAINWAVE         82   // Brainwave (AT90USB646)
-#define BOARD_SAV_MKI           83   // SAV Mk-I (AT90USB1286)
-#define BOARD_TEENSY2           84   // Teensy++2.0 (AT90USB1286) - CLI compile: HARDWARE_MOTHERBOARD=84  make
-#define BOARD_BRAINWAVE_PRO     85   // Brainwave Pro (AT90USB1286)
-#define BOARD_GEN3_PLUS         9    // Gen3+
-#define BOARD_GEN3_MONOLITHIC   22   // Gen3 Monolithic Electronics
-#define BOARD_MEGATRONICS       70   // Megatronics
-#define BOARD_MEGATRONICS_2     701  // Megatronics v2.0
-#define BOARD_MINITRONICS       702  // Minitronics v1.0/1.1
-#define BOARD_MEGATRONICS_3     703  // Megatronics v3.0
-#define BOARD_MEGATRONICS_31    704  // Megatronics v3.1
-#define BOARD_OMCA_A            90   // Alpha OMCA board
-#define BOARD_OMCA              91   // Final OMCA board
-#define BOARD_RAMBO             301  // Rambo
-#define BOARD_MINIRAMBO         302  // Mini-Rambo
-#define BOARD_SCOOVO_X9H        303  // abee Scoovo X9H
-#define BOARD_MEGACONTROLLER    310  // Mega controller
-#define BOARD_ELEFU_3           21   // Elefu Ra Board (v3)
-#define BOARD_5DPRINT           88   // 5DPrint D8 Driver Board
-#define BOARD_LEAPFROG          999  // Leapfrog
-#define BOARD_MKS_BASE          40   // MKS BASE 1.0
-#define BOARD_MKS_13            47   // MKS v1.3 or 1.4 (maybe higher)
-#define BOARD_MKS_GEN_L         53   // MKS GEN L
-#define BOARD_SAINSMART_2IN1    49   // Sainsmart 2-in-1 board
-#define BOARD_BAM_DICE          401  // 2PrintBeta BAM&DICE with STK drivers
-#define BOARD_BAM_DICE_DUE      402  // 2PrintBeta BAM&DICE Due with STK drivers
-#define BOARD_BQ_ZUM_MEGA_3D    503  // bq ZUM Mega 3D
-#define BOARD_ZRIB_V20          504  // zrib V2.0 control board (Chinese knock off RAMPS replica)
-#define BOARD_MAKEBOARD_MINI    431  // MakeBoard Mini v2.1.2 is a control board sold by MicroMake
+//
+// RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560
+//
+
+#define BOARD_RAMPS_OLD         3     // MEGA/RAMPS up to 1.2
+#define BOARD_RAMPS_13_EFB      33    // RAMPS 1.3 (Power outputs: Hotend, Fan, Bed)
+#define BOARD_RAMPS_13_EEB      34    // RAMPS 1.3 (Power outputs: Hotend0, Hotend1, Bed)
+#define BOARD_RAMPS_13_EFF      35    // RAMPS 1.3 (Power outputs: Hotend, Fan0, Fan1)
+#define BOARD_RAMPS_13_EEF      36    // RAMPS 1.3 (Power outputs: Hotend0, Hotend1, Fan)
+#define BOARD_RAMPS_13_SF       38    // RAMPS 1.3 (Power outputs: Spindle, Controller Fan)
+#define BOARD_RAMPS_14_EFB      43    // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)
+#define BOARD_RAMPS_14_EEB      44    // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Bed)
+#define BOARD_RAMPS_14_EFF      45    // RAMPS 1.4 (Power outputs: Hotend, Fan0, Fan1)
+#define BOARD_RAMPS_14_EEF      46    // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Fan)
+#define BOARD_RAMPS_14_SF       48    // RAMPS 1.4 (Power outputs: Spindle, Controller Fan)
+
+//
+// RAMPS Derivatives - ATmega1280, ATmega2560
+//
+
+#define BOARD_3DRAG             77    // 3Drag Controller
+#define BOARD_K8200             78    // Velleman K8200 Controller (derived from 3Drag Controller)
+#define BOARD_K8400             79    // Velleman K8400 Controller (derived from 3Drag Controller)
+#define BOARD_BAM_DICE          401   // 2PrintBeta BAM&DICE with STK drivers
+#define BOARD_BAM_DICE_DUE      402   // 2PrintBeta BAM&DICE Due with STK drivers
+#define BOARD_MKS_BASE          40    // MKS BASE 1.0
+#define BOARD_MKS_13            47    // MKS v1.3 or 1.4 (maybe higher)
+#define BOARD_ZRIB_V20          504   // zrib V2.0 control board (Chinese knock off RAMPS replica)
+#define BOARD_FELIX2            37    // Felix 2.0+ Electronics Board (RAMPS like)
+#define BOARD_RIGIDBOARD        42    // Invent-A-Part RigidBoard
+#define BOARD_RIGIDBOARD_V2     52    // Invent-A-Part RigidBoard V2
+#define BOARD_SAINSMART_2IN1    49    // Sainsmart 2-in-1 board
+#define BOARD_ULTIMAKER         7     // Ultimaker
+#define BOARD_ULTIMAKER_OLD     71    // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
+#define BOARD_AZTEEG_X3         67    // Azteeg X3
+#define BOARD_AZTEEG_X3_PRO     68    // Azteeg X3 Pro
+#define BOARD_ULTIMAIN_2        72    // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
+#define BOARD_RUMBA             80    // Rumba
+#define BOARD_BQ_ZUM_MEGA_3D    503   // bq ZUM Mega 3D
+#define BOARD_MAKEBOARD_MINI    431   // MakeBoard Mini v2.1.2 is a control board sold by MicroMake
+
+//
+// Other ATmega1280, ATmega2560
+//
+
+#define BOARD_CNCONTROLS_11     111   // Cartesio CN Controls V11
+#define BOARD_CNCONTROLS_12     112   // Cartesio CN Controls V12
+#define BOARD_CHEAPTRONIC       2     // Cheaptronic v1.0
+#define BOARD_CHEAPTRONIC_V2    21    // Cheaptronic v2.0
+#define BOARD_MIGHTYBOARD_REVE  200   // Makerbot Mightyboard Revision E
+#define BOARD_MEGATRONICS       70    // Megatronics
+#define BOARD_MEGATRONICS_2     701   // Megatronics v2.0
+#define BOARD_MEGATRONICS_3     703   // Megatronics v3.0
+#define BOARD_MEGATRONICS_31    704   // Megatronics v3.1
+#define BOARD_RAMBO             301   // Rambo
+#define BOARD_MINIRAMBO         302   // Mini-Rambo
+#define BOARD_ELEFU_3           21    // Elefu Ra Board (v3)
+#define BOARD_LEAPFROG          999   // Leapfrog
+#define BOARD_MEGACONTROLLER    310   // Mega controller
+#define BOARD_SCOOVO_X9H        303   // abee Scoovo X9H
+#define BOARD_GT2560_REV_A      74    // Geeetech GT2560 Rev. A
+#define BOARD_GT2560_REV_A_PLUS 75    // Geeetech GT2560 Rev. A+ (with auto level probe)
+
+//
+// ATmega1281, ATmega2561
+//
+
+#define BOARD_MINITRONICS       702   // Minitronics v1.0/1.1
+#define BOARD_SILVER_GATE       25    // Silvergate v1.0
+
+//
+// Sanguinololu and Derivatives - ATmega644P, ATmega1284P
+//
+
+#define BOARD_SANGUINOLOLU_11   6     // Sanguinololu < 1.2
+#define BOARD_SANGUINOLOLU_12   62    // Sanguinololu 1.2 and above
+#define BOARD_MELZI             63    // Melzi
+#define BOARD_MELZI_MAKR3D      66    // Melzi with ATmega1284 (MaKr3d version)
+#define BOARD_MELZI_CREALITY    89    // Melzi Creality3D board (for CR-10 etc)
+#define BOARD_STB_11            64    // STB V1.1
+#define BOARD_AZTEEG_X1         65    // Azteeg X1
+
+//
+// Other ATmega644P, ATmega644, ATmega1284P
+//
+
+#define BOARD_GEN3_MONOLITHIC   22    // Gen3 Monolithic Electronics
+#define BOARD_GEN3_PLUS         9     // Gen3+
+#define BOARD_GEN6              5     // Gen6
+#define BOARD_GEN6_DELUXE       51    // Gen6 deluxe
+#define BOARD_GEN7_CUSTOM       10    // Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
+#define BOARD_GEN7_12           11    // Gen7 v1.1, v1.2
+#define BOARD_GEN7_13           12    // Gen7 v1.3
+#define BOARD_GEN7_14           13    // Gen7 v1.4
+#define BOARD_OMCA_A            90    // Alpha OMCA board
+#define BOARD_OMCA              91    // Final OMCA board
+#define BOARD_SETHI             20    // Sethi 3D_1
+#define BOARD_ANET_10           69    // Anet 1.0 (Melzi clone)
+
+//
+// Teensyduino - AT90USB1286, AT90USB1286P
+//
+
+#define BOARD_TEENSYLU          8     // Teensylu
+#define BOARD_PRINTRBOARD       81    // Printrboard (AT90USB1286)
+#define BOARD_PRINTRBOARD_REVF  811   // Printrboard Revision F (AT90USB1286)
+#define BOARD_BRAINWAVE         82    // Brainwave (AT90USB646)
+#define BOARD_BRAINWAVE_PRO     85    // Brainwave Pro (AT90USB1286)
+#define BOARD_SAV_MKI           83    // SAV Mk-I (AT90USB1286)
+#define BOARD_TEENSY2           84    // Teensy++2.0 (AT90USB1286) - CLI compile: HARDWARE_MOTHERBOARD=84  make
+#define BOARD_5DPRINT           88    // 5DPrint D8 Driver Board
 
 #define MB(board) (MOTHERBOARD==BOARD_##board)