diff --git a/Marlin/boards.h b/Marlin/boards.h
index c6997fe87b..c63651950f 100644
--- a/Marlin/boards.h
+++ b/Marlin/boards.h
@@ -50,10 +50,12 @@
 #define BOARD_LEAPFROG          999  // Leapfrog
 #define BOARD_WITBOX            41   // bq WITBOX
 #define BOARD_HEPHESTOS         42   // bq Prusa i3 Hephestos
+#define BOARD_BAM_DICE          401   // 2PrintBeta BAM&DICE with STK drivers
+#define BOARD_BAM_DICE_DUE      402   // 2PrintBeta BAM&DICE Due with STK drivers and Arduino Mega
 
 #define BOARD_99                99   // This is in pins.h but...?
 
 #define MB(board) (MOTHERBOARD==BOARD_##board)
-#define IS_RAMPS (MB(RAMPS_OLD) || MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF))
+#define IS_RAMPS (MB(RAMPS_OLD) || MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) || MB(BAM_DICE) )
 
 #endif //__BOARDS_H
diff --git a/Marlin/pins.h b/Marlin/pins.h
index ea8f96c48b..ecee6c0acd 100644
--- a/Marlin/pins.h
+++ b/Marlin/pins.h
@@ -110,6 +110,8 @@
   #include "pins_WITBOX.h"
 #elif MB(HEPHESTOS)
   #include "pins_HEPHESTOS.h"
+#elif MB(BAM_DICE_DUE)
+  #include "pins_BAM_DICE_DUE.h"
 #elif MB(99)
   #include "pins_99.h"
 #else
diff --git a/Marlin/pins_BAM_DICE_DUE.h b/Marlin/pins_BAM_DICE_DUE.h
new file mode 100644
index 0000000000..f9ca27ef74
--- /dev/null
+++ b/Marlin/pins_BAM_DICE_DUE.h
@@ -0,0 +1,183 @@
+/**
+ * Arduino Mega with BAM&DICE DUE pin assignments
+ *
+ * Applies to the following boards:
+ *
+ *  BAM&DICE Due with Arduino Mega
+ */
+
+#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
+  #error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
+#endif
+
+#define LARGE_FLASH true
+
+#define X_STEP_PIN         54
+#define X_DIR_PIN          55
+#define X_ENABLE_PIN       38
+#define X_MIN_PIN           3
+#define X_MAX_PIN           2
+
+#define Y_STEP_PIN         60
+#define Y_DIR_PIN          61
+#define Y_ENABLE_PIN       56
+#define Y_MIN_PIN          14
+#define Y_MAX_PIN          15
+
+#define Z_STEP_PIN         46
+#define Z_DIR_PIN          48
+#define Z_ENABLE_PIN       62
+#define Z_MIN_PIN          18
+#define Z_MAX_PIN          19
+
+#define Y2_STEP_PIN        36
+#define Y2_DIR_PIN         34
+#define Y2_ENABLE_PIN      30
+
+#define Z2_STEP_PIN        36
+#define Z2_DIR_PIN         34
+#define Z2_ENABLE_PIN      30
+
+#define E0_STEP_PIN        26
+#define E0_DIR_PIN         28
+#define E0_ENABLE_PIN      24
+
+#define E1_STEP_PIN        36
+#define E1_DIR_PIN         34
+#define E1_ENABLE_PIN      30
+
+#define SDPOWER            -1
+#define SDSS               53
+#define LED_PIN            13
+
+#define FAN_PIN            9 // (Sprinter config)
+ 
+#define PS_ON_PIN          12
+
+#if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
+  #define KILL_PIN           41
+#else
+  #define KILL_PIN           -1
+#endif
+
+#define HEATER_0_PIN       10
+
+#define HEATER_1_PIN       -1
+
+#define HEATER_2_PIN       -1
+
+#define TEMP_0_PIN         9   // ANALOG NUMBERING
+#define TEMP_1_PIN         11   // ANALOG NUMBERING
+#define TEMP_2_PIN         -1   // ANALOG NUMBERING
+
+#define HEATER_BED_PIN     8    // BED
+
+#define TEMP_BED_PIN       14   // ANALOG NUMBERING
+
+#ifdef NUM_SERVOS
+  #define SERVO0_PIN         11
+
+  #if NUM_SERVOS > 1
+    #define SERVO1_PIN         6
+  #endif
+
+  #if NUM_SERVOS > 2
+    #define SERVO2_PIN         5
+  #endif
+
+  #if NUM_SERVOS > 3
+    #define SERVO3_PIN         4
+  #endif
+#endif
+
+
+#ifdef ULTRA_LCD
+
+  #ifdef NEWPANEL
+    #define LCD_PINS_RS 16
+    #define LCD_PINS_ENABLE 17
+    #define LCD_PINS_D4 23
+    #define LCD_PINS_D5 25
+    #define LCD_PINS_D6 27
+    #define LCD_PINS_D7 29
+
+    #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER
+      #define BEEPER 37
+
+      #define BTN_EN1 31
+      #define BTN_EN2 33
+      #define BTN_ENC 35
+
+      #define SDCARDDETECT 49
+    #elif defined(LCD_I2C_PANELOLU2)
+      #define BTN_EN1 47  // reverse if the encoder turns the wrong way.
+      #define BTN_EN2 43
+      #define BTN_ENC 32
+      #define LCD_SDSS 53
+      #define SDCARDDETECT -1
+      #define KILL_PIN 41
+    #elif defined(LCD_I2C_VIKI)
+      #define BTN_EN1 22  // reverse if the encoder turns the wrong way.
+      #define BTN_EN2 7
+      #define BTN_ENC -1
+      #define LCD_SDSS 53
+      #define SDCARDDETECT 49
+    #else
+      // arduino pin which triggers an piezzo beeper
+      #define BEEPER 33  // Beeper on AUX-4
+
+      // buttons are directly attached using AUX-2
+      #ifdef REPRAPWORLD_KEYPAD
+        #define BTN_EN1 64 // encoder
+        #define BTN_EN2 59 // encoder
+        #define BTN_ENC 63 // enter button
+        #define SHIFT_OUT 40 // shift register
+        #define SHIFT_CLK 44 // shift register
+        #define SHIFT_LD 42 // shift register
+      #else
+        #define BTN_EN1 37
+        #define BTN_EN2 35
+        #define BTN_ENC 31  // the click
+      #endif
+
+      #ifdef G3D_PANEL
+        #define SDCARDDETECT 49
+      #else
+        #define SDCARDDETECT -1  // Ramps does not use this port
+      #endif
+
+    #endif
+
+  #else // Old-style panel with shift register
+    // Arduino pin witch triggers an piezzo beeper
+    #define BEEPER 33   // No Beeper added
+
+    // Buttons are attached to a shift register
+    // Not wired yet
+    // #define SHIFT_CLK 38
+    // #define SHIFT_LD 42
+    // #define SHIFT_OUT 40
+    // #define SHIFT_EN 17
+
+    #define LCD_PINS_RS 16
+    #define LCD_PINS_ENABLE 17
+    #define LCD_PINS_D4 23
+    #define LCD_PINS_D5 25
+    #define LCD_PINS_D6 27
+    #define LCD_PINS_D7 29
+  #endif
+#endif // ULTRA_LCD
+
+// SPI for Max6675 Thermocouple
+#ifndef SDSUPPORT
+  #define MAX6675_SS       66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
+#else
+  #define MAX6675_SS       66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
+#endif
+
+#ifndef SDSUPPORT
+  // these pins are defined in the SD library if building with SD support
+  #define SCK_PIN          52
+  #define MISO_PIN         50
+  #define MOSI_PIN         51
+#endif