aboutsummaryrefslogtreecommitdiff
path: root/Marlin/src/pins/ramps
diff options
context:
space:
mode:
Diffstat (limited to 'Marlin/src/pins/ramps')
-rw-r--r--Marlin/src/pins/ramps/pins_3DRAG.h164
-rw-r--r--Marlin/src/pins/ramps/pins_AZTEEG_X3.h96
-rw-r--r--Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h177
-rw-r--r--Marlin/src/pins/ramps/pins_BAM_DICE_DUE.h49
-rw-r--r--Marlin/src/pins/ramps/pins_BIQU_KFB_2.h40
-rw-r--r--Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h126
-rw-r--r--Marlin/src/pins/ramps/pins_COPYMASTER_3D.h34
-rw-r--r--Marlin/src/pins/ramps/pins_DAGOMA_F5.h68
-rw-r--r--Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h184
-rw-r--r--Marlin/src/pins/ramps/pins_FELIX2.h63
-rw-r--r--Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h197
-rw-r--r--Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h68
-rw-r--r--Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h210
-rw-r--r--Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h175
-rw-r--r--Marlin/src/pins/ramps/pins_FYSETC_F6_13.h301
-rw-r--r--Marlin/src/pins/ramps/pins_FYSETC_F6_14.h50
-rw-r--r--Marlin/src/pins/ramps/pins_K8200.h33
-rw-r--r--Marlin/src/pins/ramps/pins_K8400.h73
-rw-r--r--Marlin/src/pins/ramps/pins_K8600.h127
-rw-r--r--Marlin/src/pins/ramps/pins_K8800.h122
-rw-r--r--Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h118
-rw-r--r--Marlin/src/pins/ramps/pins_MAKEBOARD_MINI.h33
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_BASE_10.h37
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_BASE_14.h170
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_BASE_15.h35
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_BASE_16.h59
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_BASE_HEROIC.h36
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_BASE_common.h75
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_GEN_13.h147
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_GEN_L.h53
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_GEN_L_V2.h89
-rw-r--r--Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h85
-rw-r--r--Marlin/src/pins/ramps/pins_ORTUR_4.h116
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS.h781
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS_13.h42
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h68
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS_ENDER_4.h41
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS_OLD.h119
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS_PLUS.h85
-rw-r--r--Marlin/src/pins/ramps/pins_RAMPS_S_12.h280
-rw-r--r--Marlin/src/pins/ramps/pins_RIGIDBOARD.h135
-rw-r--r--Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h52
-rw-r--r--Marlin/src/pins/ramps/pins_RL200.h52
-rw-r--r--Marlin/src/pins/ramps/pins_RUMBA.h234
-rw-r--r--Marlin/src/pins/ramps/pins_RUMBA_RAISE3D.h31
-rw-r--r--Marlin/src/pins/ramps/pins_SAINSMART_2IN1.h42
-rw-r--r--Marlin/src/pins/ramps/pins_TANGO.h53
-rw-r--r--Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h185
-rw-r--r--Marlin/src/pins/ramps/pins_TRIGORILLA_13.h43
-rw-r--r--Marlin/src/pins/ramps/pins_TRIGORILLA_14.h157
-rw-r--r--Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h279
-rw-r--r--Marlin/src/pins/ramps/pins_TT_OSCAR.h519
-rw-r--r--Marlin/src/pins/ramps/pins_ULTIMAIN_2.h142
-rw-r--r--Marlin/src/pins/ramps/pins_ULTIMAKER.h168
-rw-r--r--Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h274
-rw-r--r--Marlin/src/pins/ramps/pins_VORON.h55
-rw-r--r--Marlin/src/pins/ramps/pins_ZRIB_V20.h87
-rw-r--r--Marlin/src/pins/ramps/pins_ZRIB_V52.h159
-rw-r--r--Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h306
59 files changed, 7799 insertions, 0 deletions
diff --git a/Marlin/src/pins/ramps/pins_3DRAG.h b/Marlin/src/pins/ramps/pins_3DRAG.h
new file mode 100644
index 0000000..6c7f7f4
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_3DRAG.h
@@ -0,0 +1,164 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * 3DRAG (and K8200 / K8400) Arduino Mega with RAMPS v1.4 pin assignments
+ */
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "3Drag"
+#endif
+
+#ifndef DEFAULT_MACHINE_NAME
+ #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+#endif
+
+#ifndef DEFAULT_SOURCE_CODE_URL
+ #define DEFAULT_SOURCE_CODE_URL "3dprint.elettronicain.it"
+#endif
+
+//
+// Heaters / Fans
+//
+#define RAMPS_D8_PIN 9
+#define RAMPS_D9_PIN 8
+#define MOSFET_D_PIN 12
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN -1 // Hardware PWM but one is not available on expansion header
+#endif
+
+#include "pins_RAMPS.h"
+
+//
+// Limit Switches
+//
+#undef Z_MAX_PIN
+
+//
+// Steppers
+//
+#undef Z_ENABLE_PIN
+#define Z_ENABLE_PIN 63
+
+//
+// Heaters / Fans
+//
+#define HEATER_2_PIN 6
+
+//
+// Misc. Functions
+//
+#undef SDSS
+#define SDSS 25
+
+#undef SD_DETECT_PIN
+#define SD_DETECT_PIN 53
+
+//
+// LCD / Controller
+//
+#if IS_ULTRA_LCD && IS_NEWPANEL
+ #undef BEEPER_PIN
+
+ #undef LCD_PINS_RS
+ #undef LCD_PINS_ENABLE
+ #undef LCD_PINS_D4
+ #undef LCD_PINS_D5
+ #undef LCD_PINS_D6
+ #undef LCD_PINS_D7
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 37
+ #define LCD_PINS_D5 35
+ #define LCD_PINS_D6 33
+ #define LCD_PINS_D7 31
+
+ // Buttons
+ #undef BTN_EN1
+ #undef BTN_EN2
+ #undef BTN_ENC
+ #define BTN_EN1 16
+ #define BTN_EN2 17
+ #define BTN_ENC 23
+
+#else
+
+ #define BEEPER_PIN 33
+
+#endif // IS_ULTRA_LCD && IS_NEWPANEL
+
+/**
+ * M3/M4/M5 - Spindle/Laser Control
+ *
+ * If you want to control the speed of your spindle then you'll have
+ * have to sacrifce the Extruder and pull some signals off the Z stepper
+ * driver socket.
+ *
+ * The following assumes:
+ * - the Z stepper driver socket is empty
+ * - the extruder driver socket has a driver board plugged into it
+ * - the Z stepper wires are attached the the extruder connector
+ *
+ * If you want to keep the extruder AND don't have a LCD display then
+ * you can still control the power on/off and spindle direction.
+ *
+ * Where to get spindle signals
+ *
+ * stepper signal socket name socket name
+ * -------
+ * SPINDLE_LASER_ENA_PIN /ENABLE O| |O VMOT
+ * MS1 O| |O GND
+ * MS2 O| |O 2B
+ * MS3 O| |O 2A
+ * /RESET O| |O 1A
+ * /SLEEP O| |O 1B
+ * SPINDLE_LASER_PWM_PIN STEP O| |O VDD
+ * SPINDLE_DIR_PIN DIR O| |O GND
+ * -------
+ *
+ * Note: Socket names vary from vendor to vendor
+ */
+#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not good with 3DRAG
+#undef SPINDLE_LASER_ENA_PIN
+#undef SPINDLE_DIR_PIN
+
+#if HAS_CUTTER
+ #if !EXTRUDERS
+ #undef E0_DIR_PIN
+ #undef E0_ENABLE_PIN
+ #undef E0_STEP_PIN
+ #undef Z_DIR_PIN
+ #undef Z_ENABLE_PIN
+ #undef Z_STEP_PIN
+ #define Z_DIR_PIN 28
+ #define Z_ENABLE_PIN 24
+ #define Z_STEP_PIN 26
+ #define SPINDLE_LASER_PWM_PIN 46 // Hardware PWM
+ #define SPINDLE_LASER_ENA_PIN 62 // Pullup!
+ #define SPINDLE_DIR_PIN 48
+ #elif !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // Use expansion header if no LCD in use
+ #define SPINDLE_LASER_ENA_PIN 16 // Pullup or pulldown!
+ #define SPINDLE_DIR_PIN 17
+ #endif
+#endif
diff --git a/Marlin/src/pins/ramps/pins_AZTEEG_X3.h b/Marlin/src/pins/ramps/pins_AZTEEG_X3.h
new file mode 100644
index 0000000..6ddd2a5
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_AZTEEG_X3.h
@@ -0,0 +1,96 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 2 || E_STEPPERS > 2
+ #error "Azteeg X3 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
+ #define CASE_LIGHT_PIN 6 // Define before RAMPS pins include
+#endif
+#define BOARD_INFO_NAME "Azteeg X3"
+
+//
+// Servos
+//
+#define SERVO0_PIN 44 // SERVO1 port
+#define SERVO1_PIN 55 // SERVO2 port
+
+#include "pins_RAMPS_13.h"
+
+//
+// LCD / Controller
+//
+#undef STAT_LED_RED_PIN
+#undef STAT_LED_BLUE_PIN
+
+#if ANY(VIKI2, miniVIKI)
+
+ #undef DOGLCD_A0
+ #undef DOGLCD_CS
+ #undef BTN_ENC
+ #define DOGLCD_A0 31
+ #define DOGLCD_CS 32
+ #define BTN_ENC 12
+
+ #define STAT_LED_RED_PIN 64
+ #define STAT_LED_BLUE_PIN 63
+
+#else
+
+ #define STAT_LED_RED_PIN 6
+ #define STAT_LED_BLUE_PIN 11
+
+#endif
+
+//
+// Misc
+//
+#if ENABLED(CASE_LIGHT_ENABLE) && PINS_EXIST(CASE_LIGHT, STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN
+ #undef STAT_LED_RED_PIN
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3 board
+#undef SPINDLE_LASER_ENA_PIN
+#undef SPINDLE_DIR_PIN
+
+#if HAS_CUTTER
+ #undef SDA // use EXP3 header
+ #undef SCL
+ #if SERVO0_PIN == 7
+ #undef SERVO0_PIN
+ #define SERVO0_PIN 11
+ #endif
+ #define SPINDLE_LASER_PWM_PIN 7 // Hardware PWM
+ #define SPINDLE_LASER_ENA_PIN 20 // Pullup!
+ #define SPINDLE_DIR_PIN 21
+#endif
diff --git a/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h b/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h
new file mode 100644
index 0000000..9ba6a0c
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h
@@ -0,0 +1,177 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * AZTEEG_X3_PRO (Arduino Mega) pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 5 || E_STEPPERS > 5
+ #error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Azteeg X3 Pro"
+
+//
+// RAMPS pins overrides
+//
+
+//
+// Servos
+//
+// Tested this pin with bed leveling on a Delta with 1 servo.
+// Physical wire attachment on EXT1: GND, 5V, D47.
+//
+#define SERVO0_PIN 47
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 3
+#define Y_STOP_PIN 14
+#define Z_STOP_PIN 18
+
+#ifndef FAN_PIN
+ #define FAN_PIN 6
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
+ #define CASE_LIGHT_PIN 44
+#endif
+
+//
+// Import RAMPS 1.4 pins
+//
+#include "pins_RAMPS.h"
+
+// DIGIPOT slave addresses
+#ifndef DIGIPOT_I2C_ADDRESS_A
+ #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1)
+#endif
+#ifndef DIGIPOT_I2C_ADDRESS_B
+ #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1)
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 18
+#endif
+
+//
+// Steppers
+//
+#define E2_STEP_PIN 23
+#define E2_DIR_PIN 25
+#define E2_ENABLE_PIN 40
+
+#define E3_STEP_PIN 27
+#define E3_DIR_PIN 29
+#define E3_ENABLE_PIN 41
+
+#define E4_STEP_PIN 43
+#define E4_DIR_PIN 37
+#define E4_ENABLE_PIN 42
+
+//
+// Temperature Sensors
+//
+#define TEMP_2_PIN 12 // Analog Input
+#define TEMP_3_PIN 11 // Analog Input
+#define TEMP_4_PIN 10 // Analog Input
+#define TC1 4 // Analog Input (Thermo couple on Azteeg X3Pro)
+#define TC2 5 // Analog Input (Thermo couple on Azteeg X3Pro)
+
+//
+// Heaters / Fans
+//
+#define HEATER_2_PIN 16
+#define HEATER_3_PIN 17
+#define HEATER_4_PIN 4
+#define HEATER_5_PIN 5
+#define HEATER_6_PIN 6
+#define HEATER_7_PIN 11
+
+#ifndef CONTROLLER_FAN_PIN
+ #define CONTROLLER_FAN_PIN 4 // Pin used for the fan to cool motherboard (-1 to disable)
+#endif
+
+//
+// Auto fans
+//
+#define AUTO_FAN_PIN 5
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN AUTO_FAN_PIN
+#endif
+#ifndef E1_AUTO_FAN_PIN
+ #define E1_AUTO_FAN_PIN AUTO_FAN_PIN
+#endif
+#ifndef E2_AUTO_FAN_PIN
+ #define E2_AUTO_FAN_PIN AUTO_FAN_PIN
+#endif
+#ifndef E3_AUTO_FAN_PIN
+ #define E3_AUTO_FAN_PIN AUTO_FAN_PIN
+#endif
+
+//
+// LCD / Controller
+//
+#undef BEEPER_PIN
+#define BEEPER_PIN 33
+
+#if ANY(VIKI2, miniVIKI)
+ #undef SD_DETECT_PIN
+ #define SD_DETECT_PIN 49 // For easy adapter board
+ #undef BEEPER_PIN
+ #define BEEPER_PIN 12 // 33 isn't physically available to the LCD display
+#else
+ #define STAT_LED_RED_PIN 32
+ #define STAT_LED_BLUE_PIN 35
+#endif
+
+//
+// Misc. Functions
+//
+#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN
+ #undef DOGLCD_A0 // Steal pin 44 for the case light; if you have a Viki2 and have connected it
+ #define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments
+ // as the wiring diagram uses pin 44 for DOGLCD_A0
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3pro board
+#undef SPINDLE_LASER_ENA_PIN
+#undef SPINDLE_DIR_PIN
+
+#if HAS_CUTTER // EXP2 header
+ #if ANY(VIKI2, miniVIKI)
+ #define BTN_EN2 31 // Pin 7 needed for Spindle PWM
+ #endif
+ #define SPINDLE_LASER_PWM_PIN 7 // Hardware PWM
+ #define SPINDLE_LASER_ENA_PIN 20 // Pullup!
+ #define SPINDLE_DIR_PIN 21
+#endif
diff --git a/Marlin/src/pins/ramps/pins_BAM_DICE_DUE.h b/Marlin/src/pins/ramps/pins_BAM_DICE_DUE.h
new file mode 100644
index 0000000..97ef1b4
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_BAM_DICE_DUE.h
@@ -0,0 +1,49 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * BAM&DICE Due (Arduino Mega) pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "2PrintBeta Due supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "2PrintBeta Due"
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 66 // Pullup or pulldown!
+#define SPINDLE_DIR_PIN 67
+#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+
+#include "pins_RAMPS.h"
+
+//
+// Temperature Sensors
+//
+#undef TEMP_0_PIN
+#undef TEMP_1_PIN
+#define TEMP_0_PIN 9 // Analog Input
+#define TEMP_1_PIN 11 // Analog Input
diff --git a/Marlin/src/pins/ramps/pins_BIQU_KFB_2.h b/Marlin/src/pins/ramps/pins_BIQU_KFB_2.h
new file mode 100644
index 0000000..b31df11
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_BIQU_KFB_2.h
@@ -0,0 +1,40 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * KFB 2.0 – Arduino Mega2560 with RAMPS v1.4 pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "KFB 2.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "KFB 2.0"
+
+//
+// Heaters / Fans
+//
+// Power outputs BEEF or BEFF
+#define MOSFET_D_PIN 7
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h b/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h
new file mode 100644
index 0000000..f120e9c
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h
@@ -0,0 +1,126 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * bq ZUM Mega 3D board definition
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "ZUM Mega 3D"
+
+//
+// Heaters / Fans
+//
+#define RAMPS_D8_PIN 10
+#define RAMPS_D9_PIN 12
+#define RAMPS_D10_PIN 9
+#define MOSFET_D_PIN 7
+
+//
+// Auto fans
+//
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN 11
+#endif
+#ifndef E1_AUTO_FAN_PIN
+ #define E1_AUTO_FAN_PIN 6
+#endif
+#ifndef E2_AUTO_FAN_PIN
+ #define E2_AUTO_FAN_PIN 6
+#endif
+#ifndef E3_AUTO_FAN_PIN
+ #define E3_AUTO_FAN_PIN 6
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!
+#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+#define SPINDLE_DIR_PIN 42
+
+//
+// Limit Switches
+//
+#define X_MAX_PIN 79 // 2
+
+//
+// Import RAMPS 1.3 pins
+//
+#include "pins_RAMPS_13.h"
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#undef Z_MIN_PROBE_PIN
+#define Z_MIN_PROBE_PIN 19 // IND_S_5V
+
+#undef Z_ENABLE_PIN
+#define Z_ENABLE_PIN 77 // 62
+
+//
+// Steppers
+//
+#define DIGIPOTSS_PIN 22
+#define DIGIPOT_CHANNELS { 4, 5, 3, 0, 1 }
+
+//
+// Temperature Sensors
+//
+#undef TEMP_1_PIN
+#define TEMP_1_PIN 14 // Analog Input (15)
+
+#undef TEMP_BED_PIN
+#define TEMP_BED_PIN 15 // Analog Input (14)
+
+//
+// Misc. Functions
+//
+#undef PS_ON_PIN // 12
+#define PS_ON_PIN 81 // External Power Supply
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+#endif
+
+// This board has headers for Z-min, Z-max and IND_S_5V *but* as the bq team
+// decided to ship the printer only with the probe and no additional Z-min
+// endstop and the instruction manual advises the user to connect the probe to
+// IND_S_5V the option Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN will not work.
+#ifdef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
+ #undef Z_MIN_PIN
+ #undef Z_MAX_PIN
+ #define Z_MIN_PIN 19 // IND_S_5V
+ #define Z_MAX_PIN 18 // Z-MIN Label
+#endif
+
+//
+// Used by the Hephestos 2 heated bed upgrade kit
+//
+#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
+ #undef HEATER_BED_PIN
+ #define HEATER_BED_PIN 8
+#endif
diff --git a/Marlin/src/pins/ramps/pins_COPYMASTER_3D.h b/Marlin/src/pins/ramps/pins_COPYMASTER_3D.h
new file mode 100644
index 0000000..b9eee6b
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_COPYMASTER_3D.h
@@ -0,0 +1,34 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#define BOARD_INFO_NAME "Copymaster 3D RAMPS"
+
+#define Z_STEP_PIN 47
+#define Y_MAX_PIN 14
+#define FIL_RUNOUT_PIN 15
+#define SD_DETECT_PIN 66
+
+//
+// Import RAMPS 1.4 pins
+//
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_DAGOMA_F5.h b/Marlin/src/pins/ramps/pins_DAGOMA_F5.h
new file mode 100644
index 0000000..07e46ac
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_DAGOMA_F5.h
@@ -0,0 +1,68 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "Dagoma3D F5 supports only 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Dagoma3D F5"
+
+//
+// Endstops
+//
+#define X_STOP_PIN 2
+#define Y_STOP_PIN 3
+#define Z_STOP_PIN 15
+
+#define FIL_RUNOUT_PIN 39
+#if EXTRUDERS > 1
+ #define FIL_RUNOUT2_PIN 14
+#endif
+
+//
+// LCD delays
+//
+#if HAS_MARLINUI_U8GLIB
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(250)
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(250)
+#endif
+
+//
+// DAC steppers
+//
+#define HAS_MOTOR_CURRENT_DAC
+
+#define DAC_STEPPER_ORDER { 0, 1, 2, 3 }
+
+#define DAC_STEPPER_SENSE 0.11
+#define DAC_STEPPER_ADDRESS 0
+#define DAC_STEPPER_MAX 4096
+#define DAC_STEPPER_VREF 1
+#define DAC_STEPPER_GAIN 0
+#define DAC_OR_ADDRESS 0x00
+
+//
+// Import default RAMPS 1.4 pins
+//
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h
new file mode 100644
index 0000000..93ec3d6
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h
@@ -0,0 +1,184 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Wanhao Duplicator i3 Plus pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "Duplicator i3 Plus"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 54 // PF0 / A0
+#define Y_STOP_PIN 24 // PA2 / AD2
+#define Z_MIN_PIN 23 // PA1 / AD1
+#define Z_MAX_PIN 25 // PA3 / AD3
+#define SERVO0_PIN 40 // PG1 / !RD
+
+//
+// Steppers
+//
+#define X_STEP_PIN 61 // PF7 / A7
+#define X_DIR_PIN 62 // PK0 / A8
+#define X_ENABLE_PIN 60 // PF6 / A6
+
+#define Y_STEP_PIN 64 // PK2 / A10
+#define Y_DIR_PIN 65 // PK3 / A11
+#define Y_ENABLE_PIN 63 // PK1 / A9
+
+#define Z_STEP_PIN 67 // PK5 / A13
+#define Z_DIR_PIN 69 // PK7 / A15
+#define Z_ENABLE_PIN 66 // PK4 / A12
+#define Z_MIN_PROBE_PIN 25 // PA3 / AD3
+
+#define E0_STEP_PIN 58 // PF4 / A4
+#define E0_DIR_PIN 59 // PF5 / A5
+#define E0_ENABLE_PIN 57 // PF3 / A3
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 1 // PF1 / A1 Analog
+#define TEMP_BED_PIN 14 // PK6 / A14 Analog
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 4 // PG5 / PWM4
+#define HEATER_BED_PIN 3 // PE5 / PWM3
+
+#define FAN_PIN 5 // PE3 / PWM5
+
+//
+// Misc. Functions
+//
+#define SDSS 53 // PB0 / SS
+#define LED_PIN 13 // PB7 / PWM13
+
+#define SD_MISO_PIN 50 // PB3
+#define SD_MOSI_PIN 51 // PB2
+#define SD_SCK_PIN 52 // PB1
+
+//
+// LCDs and Controllers
+//
+#if HAS_WIRED_LCD
+ #if ENABLED(ZONESTAR_LCD)
+ #define LCD_PINS_RS 2
+ #define LCD_PINS_ENABLE 36
+ #define LCD_PINS_D4 37
+ #define LCD_PINS_D5 34
+ #define LCD_PINS_D6 35
+ #define LCD_PINS_D7 32
+ #define ADC_KEYPAD_PIN 12 // Analog
+ #endif
+#endif
+
+/**
+ * == EXT connector ==
+ *
+ * 2 4 6 8 10
+ * #---------------#
+ * #2 | ° ° ° ° ° |
+ * #1 | ° ° ° ° ° |
+ * #---------------#
+ * 1 3 5 7 9
+ *
+ * ##################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ##################################
+ * # 1 | 52 / PG1 (!RD) | 40 #
+ * # 2 | 95 / PF2 (A2) | 56 #
+ * # 3 | 54 / PC1 (A9) | 36 #
+ * # 4 | 53 / PC0 (A8) | 37 #
+ * # 5 | 56 / PC3 (A11) | 34 #
+ * # 6 | 55 / PC2 (A10) | 35 #
+ * # 7 | 58 / PC5 (A13) | 32 #
+ * # 8 | 57 / PC4 (A12) | 33 #
+ * # 9 | GND | - #
+ * # 10 | VCC | + #
+ * ##################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * == Z-probe connector ==
+ *
+ * 1 2 3
+ * #---------#
+ * | ° ° ° |
+ * #---------#
+ *
+ * ##################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ##################################
+ * # 1 | 24V or 5V | + #
+ * # 2 | 75 / PA3 (AD3) | 25 #
+ * # 3 | GND | - #
+ * ##################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * == Y-endstop == == Z-endstop == == Bed temperature ==
+ *
+ * 1 2 1 2 1 2
+ * #------# #------# #------#
+ * | ° ° | | ° ° | | ° ° |
+ * #------# #------# #------#
+ *
+ * ############### Y ################ ############### Z ################ ############## BED ###############
+ * # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino #
+ * ################################## ################################## ##################################
+ * # 1 | GND | - # # 1 | GND | - # # 1 | GND | - #
+ * # 2 | 76 / PA2 (AD2) | 24 # # 2 | 77 / PA1 (AD1) | 23 # # 2 |83 / PK6 (ADC14)| 14 #
+ * ################################## ################################## ##################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * == SPI connector ==
+ *
+ * 5 3 1
+ * #---------#
+ * | ° ° ° |
+ * | ° ° ° |
+ * #---------#
+ * 6 4 2
+ *
+ * ##################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ##################################
+ * # 1 | 22 / PB3 (MISO)| 50 #
+ * # 2 | VCC | + #
+ * # 3 | 20 / PB1 (SCK) | 52 #
+ * # 4 | 21 / PB2 (MOSI)| 51 #
+ * # 5 | 30 / !RESET | RESET #
+ * # 6 | GND | - #
+ * ##################################
+ *
+ * Pictogram by Ludy https://github.com/Ludy87
+ * See: https://sebastien.andrivet.com/en/posts/wanhao-duplicator-i3-plus-3d-printer/
+ */
diff --git a/Marlin/src/pins/ramps/pins_FELIX2.h b/Marlin/src/pins/ramps/pins_FELIX2.h
new file mode 100644
index 0000000..e572d3f
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FELIX2.h
@@ -0,0 +1,63 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * FELIXprinters v2.0/3.0 (RAMPS v1.4) pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "Felix 2.0+ supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Felix 2.0+"
+
+//
+// Heaters / Fans
+//
+// Power outputs EFBF or EFBE
+#define MOSFET_D_PIN 7
+
+#include "pins_RAMPS.h"
+
+//
+// Misc. Functions
+//
+#define SDPOWER_PIN 1
+
+#define PS_ON_PIN 12
+
+//
+// LCD / Controller
+//
+#if IS_ULTRA_LCD && IS_NEWPANEL
+
+ #define SD_DETECT_PIN 6
+
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not valid with this board
+#undef SPINDLE_LASER_ENA_PIN
+#undef SPINDLE_DIR_PIN
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
new file mode 100644
index 0000000..5b72478
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
@@ -0,0 +1,197 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Formbot Raptor pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 3 || E_STEPPERS > 3
+ #error "Formbot supports up to 3 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Formbot Raptor"
+#endif
+#ifndef DEFAULT_MACHINE_NAME
+ #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+#endif
+
+//
+// Servos
+//
+#define SERVO0_PIN 11
+#define SERVO1_PIN 6
+#define SERVO2_PIN 5
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#ifndef X_MAX_PIN
+ #define X_MAX_PIN 2
+#endif
+#define Y_MIN_PIN 14
+#define Y_MAX_PIN 15
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN 53
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 49
+#endif
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 40
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 42
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 44
+#endif
+
+#define E2_STEP_PIN 42
+#define E2_DIR_PIN 43
+#define E2_ENABLE_PIN 44
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13 // Analog Input
+#define TEMP_1_PIN 15 // Analog Input
+#define TEMP_BED_PIN 14 // Analog Input
+
+// SPI for Max6675 or Max31855 Thermocouple
+#if DISABLED(SDSUPPORT)
+ #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
+#else
+ #define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Augmentation for auto-assigning RAMPS plugs
+//
+#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
+ #if HAS_MULTI_HOTEND
+ #if TEMP_SENSOR_BED
+ #define IS_RAMPS_EEB
+ #else
+ #define IS_RAMPS_EEF
+ #endif
+ #elif TEMP_SENSOR_BED
+ #define IS_RAMPS_EFB
+ #else
+ #define IS_RAMPS_EFF
+ #endif
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define HEATER_1_PIN 7
+#define HEATER_BED_PIN 8
+
+#ifndef FAN_PIN
+ #define FAN_PIN 9
+#endif
+
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 57
+#endif
+
+#if !HAS_FILAMENT_SENSOR
+ #define FAN1_PIN 4
+#endif
+
+//
+// Misc. Functions
+//
+#ifndef SDSS
+ #define SDSS 53
+#endif
+#define LED_PIN 13
+#define LED4_PIN 5
+
+// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
+#define FILWIDTH_PIN 5 // Analog Input
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12
+#endif
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 5
+#endif
+
+//
+// LCD / Controller
+//
+// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
+//
+#if IS_RRD_SC
+ #define BEEPER_PIN 37
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #define BTN_ENC 35
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 41
+ #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
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h
new file mode 100644
index 0000000..843eadb
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR2.h
@@ -0,0 +1,68 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Formbot Raptor 2 pin assignments
+ */
+
+#define BOARD_INFO_NAME "Formbot Raptor2"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+#define FAN_PIN 6
+
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 22
+#endif
+
+#include "pins_FORMBOT_RAPTOR.h"
+
+#define GREEDY_PANEL ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
+ #if !NUM_SERVOS // Try to use servo connector first
+ #define SPINDLE_LASER_ENA_PIN 6 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM
+ #define SPINDLE_DIR_PIN 5
+ #elif !GREEDY_PANEL // Try to use AUX2
+ #define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+ #define SPINDLE_DIR_PIN 65
+ #endif
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
+ #if NUM_SERVOS <= 1 // Try to use servo connector first
+ #define CASE_LIGHT_PIN 6 // Hardware PWM
+ #elif !GREEDY_PANEL // Try to use AUX2
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+ #endif
+#endif
+
+#undef GREEDY_PANEL
+
+#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && (CASE_LIGHT_PIN == SPINDLE_LASER_ENA_PIN || CASE_LIGHT_PIN == SPINDLE_LASER_PWM_PIN)
+ #error "CASE_LIGHT_PIN conflicts with a Spindle / Laser pin."
+#endif
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
new file mode 100644
index 0000000..81b6ea1
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
@@ -0,0 +1,210 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Formbot pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 2 || E_STEPPERS > 2
+ #error "Formbot supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Formbot"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+//
+// Servos
+//
+#define SERVO0_PIN 11
+#define SERVO1_PIN -1 // was 6
+#define SERVO2_PIN -1 // was 5
+#define SERVO3_PIN -1
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#ifndef X_MAX_PIN
+ #define X_MAX_PIN 2
+#endif
+#define Y_MIN_PIN 14
+#define Y_MAX_PIN 15
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN 53
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 49
+#endif
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 40
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 42
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 44
+#endif
+
+#define E2_STEP_PIN 42
+#define E2_DIR_PIN 43
+#define E2_ENABLE_PIN 44
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13 // Analog Input
+#define TEMP_1_PIN 15 // Analog Input
+#define TEMP_BED_PIN 3 // Analog Input
+
+// SPI for Max6675 or Max31855 Thermocouple
+#if DISABLED(SDSUPPORT)
+ #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
+#else
+ #define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Augmentation for auto-assigning RAMPS plugs
+//
+#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
+ #if HAS_MULTI_HOTEND
+ #if TEMP_SENSOR_BED
+ #define IS_RAMPS_EEB
+ #else
+ #define IS_RAMPS_EEF
+ #endif
+ #elif TEMP_SENSOR_BED
+ #define IS_RAMPS_EFB
+ #else
+ #define IS_RAMPS_EFF
+ #endif
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define HEATER_1_PIN 7
+#define HEATER_BED_PIN 58
+
+#define FAN_PIN 9
+
+#if HAS_FILAMENT_SENSOR
+ #define FIL_RUNOUT_PIN 4
+ //#define FIL_RUNOUT2_PIN -1
+#else
+ // Though defined as a fan pin, it is utilized as a dedicated laser pin by Formbot.
+ #define FAN1_PIN 4
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#ifndef LED_PIN
+ #define LED_PIN 13 // The Formbot v 1 board has almost no unassigned pins on it. The Board's LED
+#endif // is a good place to get a signal to control the Max7219 LED Matrix.
+
+// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
+#define FILWIDTH_PIN 5 // Analog Input
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12
+#endif
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 8
+#endif
+
+//
+// LCD / Controller
+//
+// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
+//
+#if IS_RRD_SC
+ #ifndef BEEPER_PIN
+ #define BEEPER_PIN 37
+ #endif
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #define BTN_ENC 35
+ #define SD_DETECT_PIN 49
+
+ // Allow MAX7219 to steal the KILL pin
+ #if !defined(KILL_PIN) && MAX7219_CLK_PIN != 41 && MAX7219_DIN_PIN != 41 && MAX7219_LOAD_PIN != 41
+ #define KILL_PIN 41
+ #endif
+
+ #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
+
+#if HAS_MARLINUI_U8GLIB
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(200)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(200)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(200)
+ #endif
+#endif
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
new file mode 100644
index 0000000..a97b0d2
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
@@ -0,0 +1,175 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Formbot pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 2 || E_STEPPERS > 2
+ #error "Formbot supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Formbot"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+//
+// Servos
+//
+#define SERVO0_PIN 11
+#define SERVO1_PIN -1 // was 6
+#define SERVO2_PIN -1
+#define SERVO3_PIN -1
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#ifndef X_MAX_PIN
+ #define X_MAX_PIN 2
+#endif
+#define Y_MIN_PIN 14
+#define Y_MAX_PIN 15
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN 53
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 49
+#endif
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 40
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 42
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 44
+#endif
+
+#define E2_STEP_PIN 42
+#define E2_DIR_PIN 43
+#define E2_ENABLE_PIN 44
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13 // Analog Input
+#define TEMP_1_PIN 15 // Analog Input
+#define TEMP_BED_PIN 14 // Analog Input
+
+// SPI for Max6675 or Max31855 Thermocouple
+#if DISABLED(SDSUPPORT)
+ #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
+#else
+ #define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define HEATER_1_PIN 7
+#define HEATER_BED_PIN 8
+
+#define FAN_PIN 9
+#define FAN1_PIN 12
+
+#define NUM_RUNOUT_SENSORS 2
+#define FIL_RUNOUT_PIN 22
+#define FIL_RUNOUT2_PIN 21
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+
+#ifndef LED_PIN
+ #define LED_PIN 13
+#endif
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 5
+#endif
+
+#define SPINDLE_LASER_PWM_PIN -1 // Hardware PWM
+#define SPINDLE_LASER_ENA_PIN 4 // Pullup!
+
+// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
+#define FILWIDTH_PIN 5 // Analog Input
+
+//
+// LCD / Controller
+//
+// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
+//
+#if IS_RRD_SC
+ #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
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #define BTN_ENC 35
+ #define SD_DETECT_PIN 49
+ #ifndef KILL_PIN
+ #define KILL_PIN 41
+ #endif
+ #ifndef BEEPER_PIN
+ #define BEEPER_PIN 37
+ #endif
+#endif
diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
new file mode 100644
index 0000000..6133a64
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
@@ -0,0 +1,301 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// FYSETC F6 1.3 (and 1.4) pin assignments
+//
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'FYSETC F6' in 'Tools > Board.'"
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "FYSETC F6 1.3"
+#endif
+
+#define RESET_PIN 30
+#define SPI_FLASH_CS 83
+
+//
+// Servos
+//
+#define SERVO0_PIN 13
+#define SERVO1_PIN 11 // (PS_ON_PIN)
+#define SERVO2_PIN 10 // (FIL_RUNOUT_PIN)
+#define SERVO3_PIN 4 // (RGB_LED_G_PIN)
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 63
+#define X_MAX_PIN 64
+#define Y_MIN_PIN 14
+#define Y_MAX_PIN 15
+#define Z_MIN_PIN 12
+#ifndef Z_MAX_PIN
+ #define Z_MAX_PIN 9
+#endif
+
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN SERVO2_PIN
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 9 // Servos pin
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN 70
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 39
+#endif
+
+#define Z_STEP_PIN 43
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 58
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 74
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 47
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 32
+#endif
+
+#define E2_STEP_PIN 59
+#define E2_DIR_PIN 57
+#define E2_ENABLE_PIN 40
+#ifndef E2_CS_PIN
+ #define E2_CS_PIN 42
+#endif
+
+//
+// Sensorless homing DIAG pin is not directly connected to the MCU. Close
+// the jumper next to the limit switch socket when using sensorless homing.
+//
+
+#if HAS_TMC_UART
+ /**
+ * TMC2208/TMC2209 stepper drivers
+ *
+ * Software serial communication pins.
+ * At the moment, F6 rx pins are not pc interrupt pins
+ */
+ #ifndef X_SERIAL_RX_PIN
+ #define X_SERIAL_RX_PIN -1 // 71
+ #endif
+ #ifndef X_SERIAL_TX_PIN
+ #define X_SERIAL_TX_PIN 72
+ #endif
+ #ifndef Y_SERIAL_RX_PIN
+ #define Y_SERIAL_RX_PIN -1 // 73
+ #endif
+ #ifndef Y_SERIAL_TX_PIN
+ #define Y_SERIAL_TX_PIN 75
+ #endif
+ #ifndef Z_SERIAL_RX_PIN
+ #define Z_SERIAL_RX_PIN -1 // 78
+ #endif
+ #ifndef Z_SERIAL_TX_PIN
+ #define Z_SERIAL_TX_PIN 79
+ #endif
+ #ifndef E0_SERIAL_RX_PIN
+ #define E0_SERIAL_RX_PIN -1 // 76
+ #endif
+ #ifndef E0_SERIAL_TX_PIN
+ #define E0_SERIAL_TX_PIN 77
+ #endif
+ #ifndef E1_SERIAL_RX_PIN
+ #define E1_SERIAL_RX_PIN -1 // 80
+ #endif
+ #ifndef E1_SERIAL_TX_PIN
+ #define E1_SERIAL_TX_PIN 81
+ #endif
+ #ifndef E2_SERIAL_RX_PIN
+ #define E2_SERIAL_RX_PIN -1 // 22
+ #endif
+ #ifndef E2_SERIAL_TX_PIN
+ #define E2_SERIAL_TX_PIN 82
+ #endif
+#endif
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 12 // Analog Input
+#define TEMP_1_PIN 13 // Analog Input
+#define TEMP_2_PIN 14 // Analog Input
+#define TEMP_BED_PIN 15 // Analog Input
+
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN 9 // Analog Input on X+ endstop
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 5
+#define HEATER_1_PIN 6
+#define HEATER_2_PIN 7
+#define HEATER_BED_PIN 8
+
+#define FAN_PIN 44
+#define FAN1_PIN 45
+#define FAN2_PIN 46
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+#define KILL_PIN 41
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN SERVO1_PIN
+#endif
+
+/**
+ * ----- -----
+ * 5V/D41 | · · | GND 5V | · · | GND
+ * RESET | · · | D49 (SD_DETECT) (LCD_D7) D29 | · · | D27 (LCD_D6)
+ * (MOSI) D51 | · · D33 (BTN_EN2) (LCD_D5) D25 | · · D23 (LCD_D4)
+ * (SD_SS) D53 | · · | D31 (BTN_EN1) (LCD_RS) D16 | · · | D17 (LCD_EN)
+ * (SCK) D52 | · · | D50 (MISO) (BTN_ENC) D35 | · · | D37 (BEEPER)
+ * ----- -----
+ * EXP2 EXP1
+ */
+
+//
+// LCDs and Controllers
+//
+#define SD_DETECT_PIN 49
+
+#if ENABLED(FYSETC_242_OLED_12864)
+ #define BTN_EN1 37
+ #define BTN_EN2 29
+ #define BTN_ENC 35
+ #define BEEPER_PIN 31
+
+ #define LCD_PINS_DC 25
+ #define LCD_PINS_RS 33
+ #define DOGLCD_CS 16
+ #define DOGLCD_MOSI 23
+ #define DOGLCD_SCK 17
+ #define DOGLCD_A0 LCD_PINS_DC
+
+ #undef KILL_PIN
+ #define NEOPIXEL_PIN 27
+
+#else
+ #define BEEPER_PIN 37
+
+ #if ENABLED(FYSETC_MINI_12864)
+ //
+ // See https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
+ //
+ #define DOGLCD_A0 16
+ #define DOGLCD_CS 17
+
+ #if ENABLED(FYSETC_GENERIC_12864_1_1)
+ #define LCD_BACKLIGHT_PIN 27
+ #endif
+
+ #define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
+ // Seems to work best if left open.
+
+ #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
+ #ifndef RGB_LED_R_PIN
+ #define RGB_LED_R_PIN 25
+ #endif
+ #ifndef RGB_LED_G_PIN
+ #define RGB_LED_G_PIN 27
+ #endif
+ #ifndef RGB_LED_B_PIN
+ #define RGB_LED_B_PIN 29
+ #endif
+ #elif ENABLED(FYSETC_MINI_12864_2_1)
+ #define NEOPIXEL_PIN 25
+ #endif
+
+ #elif HAS_MARLINUI_U8GLIB || HAS_MARLINUI_HD44780
+
+ #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
+
+ #if ENABLED(MKS_MINI_12864)
+ #define DOGLCD_CS 25
+ #define DOGLCD_A0 27
+ #endif
+
+ #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+ #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
+ #endif
+
+ #endif
+
+ #if IS_NEWPANEL
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #define BTN_ENC 35
+ #endif
+#endif
+
+#ifndef RGB_LED_R_PIN
+ #define RGB_LED_R_PIN 3
+#endif
+#ifndef RGB_LED_G_PIN
+ #define RGB_LED_G_PIN 4
+#endif
+#ifndef RGB_LED_B_PIN
+ #define RGB_LED_B_PIN 9
+#endif
+#ifndef RGB_LED_W_PIN
+ #define RGB_LED_W_PIN -1
+#endif
diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h
new file mode 100644
index 0000000..4280204
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h
@@ -0,0 +1,50 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// FYSETC F6 v1.4 pin assignments
+//
+
+#define BOARD_INFO_NAME "FYSETC F6 1.4"
+
+#define Z_MAX_PIN 2
+
+#if HAS_TMC_UART
+ /**
+ * TMC2208/TMC2209 stepper drivers
+ */
+ #define X_SERIAL_RX_PIN 72
+ #define X_SERIAL_TX_PIN 71
+ #define Y_SERIAL_RX_PIN 73
+ #define Y_SERIAL_TX_PIN 78
+ #define Z_SERIAL_RX_PIN 75
+ #define Z_SERIAL_TX_PIN 79
+ #define E0_SERIAL_RX_PIN 77
+ #define E0_SERIAL_TX_PIN 81
+ #define E1_SERIAL_RX_PIN 76
+ #define E1_SERIAL_TX_PIN 80
+ #define E2_SERIAL_RX_PIN 62
+ #define E2_SERIAL_TX_PIN 82
+#endif
+
+#include "pins_FYSETC_F6_13.h"
diff --git a/Marlin/src/pins/ramps/pins_K8200.h b/Marlin/src/pins/ramps/pins_K8200.h
new file mode 100644
index 0000000..df685e0
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_K8200.h
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * K8200 Arduino Mega with RAMPS v1.3 pin assignments
+ * Identical to 3DRAG
+ */
+
+#define BOARD_INFO_NAME "Velleman K8200"
+#define DEFAULT_MACHINE_NAME "K8200"
+#define DEFAULT_SOURCE_CODE_URL "github.com/CONSULitAS/Marlin-K8200"
+
+#include "pins_3DRAG.h"
diff --git a/Marlin/src/pins/ramps/pins_K8400.h b/Marlin/src/pins/ramps/pins_K8400.h
new file mode 100644
index 0000000..af68792
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_K8400.h
@@ -0,0 +1,73 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Velleman K8400 (Vertex)
+ * 3DRAG clone
+ *
+ * K8400 has some minor differences over a normal 3Drag:
+ * - No X/Y max endstops
+ * - Second extruder step pin has moved
+ * - No power supply control
+ * - Second heater has moved pin
+ */
+
+#define BOARD_INFO_NAME "K8400"
+#define DEFAULT_MACHINE_NAME "Vertex"
+
+#include "pins_3DRAG.h"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 3
+#define Y_STOP_PIN 14
+
+#undef X_MIN_PIN
+#undef X_MAX_PIN
+#undef Y_MIN_PIN
+#undef Y_MAX_PIN
+
+//
+// Steppers
+//
+#undef E1_STEP_PIN
+#define E1_STEP_PIN 32
+
+//
+// Heaters / Fans
+//
+#undef HEATER_1_PIN
+#define HEATER_1_PIN 11
+
+//
+// Misc. Functions
+//
+#undef PS_ON_PIN
+#undef KILL_PIN
+#undef SD_DETECT_PIN
+
+#if Z_STEP_PIN == 26
+ #undef Z_STEP_PIN
+ #define Z_STEP_PIN 32
+#endif
diff --git a/Marlin/src/pins/ramps/pins_K8600.h b/Marlin/src/pins/ramps/pins_K8600.h
new file mode 100644
index 0000000..1a396b2
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_K8600.h
@@ -0,0 +1,127 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+/**
+ * VERTEX NANO Arduino Mega with RAMPS EFB v1.4 pin assignments.
+ */
+
+#if HOTENDS > 1
+ #error "Only 1 hotend is supported for Vertex Nano."
+#endif
+
+#define BOARD_INFO_NAME "K8600"
+#define DEFAULT_MACHINE_NAME "Vertex Nano"
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#define Y_MAX_PIN 14
+#define Z_MAX_PIN 18
+#define Z_MIN_PIN -1
+
+//
+// Heaters / Fans
+//
+#define FAN_PIN 8
+
+//
+// Misc. Functions
+//
+#define CASE_LIGHT_PIN 7
+
+//
+// Other RAMPS pins
+//
+#define IS_RAMPS_EFB // Override autodetection. Bed will be undefined.
+#include "pins_RAMPS.h"
+
+//
+// Steppers
+//
+#undef X_STEP_PIN
+#undef X_DIR_PIN
+#undef X_ENABLE_PIN
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+
+#undef Y_STEP_PIN
+#undef Y_DIR_PIN
+#undef Y_ENABLE_PIN
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+
+#undef Z_ENABLE_PIN
+#define Z_ENABLE_PIN 63
+
+#undef E0_STEP_PIN
+#undef E0_DIR_PIN
+#undef E0_ENABLE_PIN
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+
+//
+// Heaters / Fans
+//
+#undef HEATER_BED_PIN
+
+//
+// Misc. Functions
+//
+#undef SDSS
+#define SDSS 25 // 53
+
+//
+// LCD / Controller
+//
+#if IS_ULTRA_LCD && IS_NEWPANEL
+ #undef BEEPER_PIN
+
+ #undef LCD_PINS_RS
+ #undef LCD_PINS_ENABLE
+ #undef LCD_PINS_D4
+ #undef LCD_PINS_D5
+ #undef LCD_PINS_D6
+ #undef LCD_PINS_D7
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 37
+ #define LCD_PINS_D5 35
+ #define LCD_PINS_D6 33
+ #define LCD_PINS_D7 31
+
+ // Buttons
+ #undef BTN_EN1
+ #undef BTN_EN2
+ #undef BTN_ENC
+ #define BTN_EN1 17
+ #define BTN_EN2 16
+ #define BTN_ENC 23
+
+#else
+
+ #define BEEPER_PIN 33
+
+#endif
diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h
new file mode 100644
index 0000000..5388c96
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_K8800.h
@@ -0,0 +1,122 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Velleman K8800 (Vertex)
+ */
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "K8800"
+#define DEFAULT_MACHINE_NAME "Vertex Delta"
+
+//#define LCD_SCREEN_ROT_180
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 3
+#define Y_STOP_PIN 14
+#define Z_STOP_PIN 66
+
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 68
+#endif
+
+#define FIL_RUNOUT_PIN 69 // PK7
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 63
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define FAN_PIN 8
+#define CONTROLLER_FAN_PIN 9
+
+//
+// Misc. Functions
+//
+#define KILL_PIN 20 // PD1
+#define CASE_LIGHT_PIN 7
+
+//
+// SD Card
+//
+#define SDSS 25
+#define SD_DETECT_PIN 21 // PD0
+
+//
+// LCD / Controller
+//
+#define BEEPER_PIN 6
+
+#if HAS_WIRED_LCD
+
+ #define LCD_SDSS 53
+
+ #define DOGLCD_CS 29
+ #define DOGLCD_A0 27
+
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 37
+ #define LCD_PINS_D5 35
+ #define LCD_PINS_D6 33
+ #define LCD_PINS_D7 31
+
+ #define LCD_CONTRAST_MIN 0
+ #define LCD_CONTRAST_MAX 100
+ #define DEFAULT_LCD_CONTRAST 30
+
+ #if IS_NEWPANEL
+ #define BTN_EN1 17
+ #define BTN_EN2 16
+ #define BTN_ENC 23
+ #endif
+
+#endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h b/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h
new file mode 100644
index 0000000..6fcb7b9
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_LONGER3D_LKx_PRO.h
@@ -0,0 +1,118 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Longer3D LK1/LK4/LK5 Pro board pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 1 || E_STEPPERS > 1
+ #error "Longer3D LGT KIT V1.0 board only supports one hotend / E-stepper. Comment out this line to continue."
+#endif
+
+#if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1
+ #warning "Serial 1 is originally reserved to DGUS LCD."
+#endif
+#if SERIAL_PORT == 2 || SERIAL_PORT_2 == 2
+ #warning "Serial 2 has no connector. Hardware changes may be required to use it."
+#endif
+#if SERIAL_PORT == 3 || SERIAL_PORT_2 == 3
+ #define CHANGE_Y_LIMIT_PINS
+ #warning "Serial 3 is originally reserved to Y limit switches. Hardware changes are required to use it."
+#endif
+
+// Custom flags and defines for the build
+//#define BOARD_CUSTOM_BUILD_FLAGS -D__FOO__
+
+#define BOARD_INFO_NAME "LGT KIT V1.0"
+
+//
+// Servos
+//
+#if !MB(LONGER3D_LK1_PRO)
+ #define SERVO0_PIN 7
+#endif
+#define SERVO1_PIN -1
+#define SERVO2_PIN -1
+#define SERVO3_PIN -1
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 3
+
+#ifdef CHANGE_Y_LIMIT_PINS
+ #define Y_STOP_PIN 37
+#else
+ #define Y_MIN_PIN 14
+ #define Y_MAX_PIN 15
+#endif
+
+#if !MB(LONGER3D_LK1_PRO)
+ #ifdef CHANGE_Y_LIMIT_PINS
+ #define Z_STOP_PIN 35
+ #else
+ #define Z_MIN_PIN 35
+ #define Z_MAX_PIN 37
+ #endif
+#else
+ #define Z_MIN_PIN 11
+ #define Z_MAX_PIN 37
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#define Z_MIN_PROBE_PIN -1
+
+//
+// Misc. Functions
+//
+#define SD_DETECT_PIN 49
+#define FIL_RUNOUT_PIN 2
+
+//
+// Other RAMPS 1.3 pins
+//
+#define IS_RAMPS_EFB // Override autodetection. Bed will be undefined.
+#include "pins_RAMPS_13.h"
+
+//
+// Steppers
+//
+#undef E1_STEP_PIN
+#undef E1_DIR_PIN
+#undef E1_ENABLE_PIN
+#undef E1_CS_PIN
+
+//
+// Temperature Sensors
+//
+#undef TEMP_1_PIN
+
+//
+// Průša i3 MK2 Multiplexer Support
+//
+#undef E_MUX2_PIN
+#undef CHANGE_Y_LIMIT_PINS
diff --git a/Marlin/src/pins/ramps/pins_MAKEBOARD_MINI.h b/Marlin/src/pins/ramps/pins_MAKEBOARD_MINI.h
new file mode 100644
index 0000000..a42dba8
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MAKEBOARD_MINI.h
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#define BOARD_INFO_NAME "MAKEboard Mini"
+
+//
+// Only 3 Limit Switch plugs on Micromake C1
+//
+#define X_STOP_PIN 2
+#define Y_STOP_PIN 15
+#define Z_STOP_PIN 19
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_BASE_10.h b/Marlin/src/pins/ramps/pins_MKS_BASE_10.h
new file mode 100644
index 0000000..0be5865
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_BASE_10.h
@@ -0,0 +1,37 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS BASE 1.0 – Arduino Mega2560 with RAMPS v1.4 pin assignments
+ *
+ * Rev B - Override pin definitions for CASE_LIGHT and M3/M4/M5 spindle control
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS BASE 1.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS BASE 1.0"
+#define MKS_BASE_VERSION 10
+
+#include "pins_MKS_BASE_common.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_BASE_14.h b/Marlin/src/pins/ramps/pins_MKS_BASE_14.h
new file mode 100644
index 0000000..3612f9b
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_BASE_14.h
@@ -0,0 +1,170 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS BASE v1.4 with A4982 stepper drivers and digital micro-stepping
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS BASE 1.4 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS BASE 1.4"
+#define MKS_BASE_VERSION 14
+
+//
+// Heaters / Fans
+//
+#define FAN_PIN 9 // PH6 ** Pin18 ** PWM9
+
+// Other Mods
+
+#define SERVO3_PIN 12 // PB6 ** Pin25 ** D12
+#define PS_ON_PIN 2 // X+ // PE4 ** Pin6 ** PWM2 **MUST BE HARDWARE PWM
+#define FILWIDTH_PIN 15 // Y+ // PJ0 ** Pin63 ** USART3_RX **Pin should have a pullup!
+#define FIL_RUNOUT_PIN 19 // Z+ // PD2 ** Pin45 ** USART1_RX
+
+#ifndef RGB_LED_R_PIN
+ #define RGB_LED_R_PIN 50
+#endif
+#ifndef RGB_LED_R_PIN
+ #define RGB_LED_G_PIN 51
+#endif
+#ifndef RGB_LED_R_PIN
+ #define RGB_LED_B_PIN 52
+#endif
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 11 // PB5 ** Pin24 ** PWM11
+#endif
+
+#include "pins_MKS_BASE_common.h"
+
+/*
+ Available connectors on MKS BASE v1.4
+
+ =======
+ | GND |
+ |-----| E0
+ | 10 | (10) PB4 ** Pin23 ** PWM10
+ |-----|
+ | GND |
+ |-----| E1
+ | 7 | ( 7) PH4 ** Pin16 ** PWM7
+ |-----|
+ | GND |
+ |-----| FAN
+ | 9 | ( 9) PH6 ** Pin18 ** PWM9
+ =======
+
+ =======
+ | GND |
+ |-----| Heated Bed
+ | 8 | ( 8) PH5 ** Pin17 ** PWM8
+ =======
+
+ ==========
+ | 12-24V |
+ |--------| Power
+ | GND |
+ ==========
+
+ XS3 Connector
+ =================
+ | 65 | GND | 5V | (65) PK3 ** Pin86 ** A11
+ |----|-----|----|
+ | 66 | GND | 5V | (66) PK4 ** Pin85 ** A12
+ =================
+
+ Servos Connector
+ =================
+ | 11 | GND | 5V | (11) PB5 ** Pin24 ** PWM11
+ |----|-----|----|
+ | 12 | GND | 5V | (12) PB6 ** Pin25 ** PWM12
+ =================
+
+ ICSP
+ =================
+ | 5V | 51 | GND | (51) PB2 ** Pin21 ** SPI_MOSI
+ |----|----|-----|
+ | 50 | 52 | RST | (50) PB3 ** Pin22 ** SPI_MISO
+ ================= (52) PB1 ** Pin20 ** SPI_SCK
+
+ XS6/AUX-1 Connector
+ ======================
+ | 5V | GND | NC | 20 | (20) PD1 ** Pin44 ** I2C_SDA
+ |----|-----|----|----|
+ | 50 | 51 | 52 | 21 | (50) PB3 ** Pin22 ** SPI_MISO
+ ====================== (51) PB2 ** Pin21 ** SPI_MOSI
+ (52) PB1 ** Pin20 ** SPI_SCK
+ (21) PD0 ** Pin43 ** I2C_SCL
+
+ Temperature
+ ==================================
+ | GND | 69 | GND | 68 | GND | 67 |
+ ==================================
+ (69) PK7 ** Pin82 ** A15
+ (68) PK6 ** Pin83 ** A14
+ (67) PK5 ** Pin84 ** A13
+
+ Limit Switches
+ ============
+ | 2 | GND | X+ ( 2) PE4 ** Pin6 ** PWM2
+ |----|-----|
+ | 3 | GND | X- ( 3) PE5 ** Pin7 ** PWM3
+ |----|-----|
+ | 15 | GND | Y+ (15) PJ0 ** Pin63 ** USART3_RX
+ |----|-----|
+ | 14 | GND | Y- (14) PJ1 ** Pin64 ** USART3_TX
+ |----|-----|
+ | 19 | GND | Z+ (19) PD2 ** Pin45 ** USART1_RX
+ |----|-----|
+ | 18 | GND | Z- (18) PD3 ** Pin46 ** USART1_TX
+ ============
+
+ EXP1
+ ============
+ | 37 | 35 | (37) PC0 ** Pin53 ** D37
+ |-----|----| (35) PC2 ** Pin55 ** D35
+ | 17 | 16 | (17) PH0 ** Pin12 ** USART2_RX
+ |-----|----| (16) PH1 ** Pin13 ** USART2_TX
+ | 23 | 25 | (23) PA1 ** Pin77 ** D23
+ |-----|----| (25) PA3 ** Pin75 ** D25
+ | 27 | 29 | (27) PA5 ** Pin73 ** D27
+ |-----|----| (29) PA7 ** Pin71 ** D29
+ | GND | 5V |
+ ============
+
+ EXP2
+ ============
+ | 50 | 52 | (50) PB3 ** Pin22 ** SPI_MISO
+ |-----|----| (52) PB1 ** Pin20 ** SPI_SCK
+ | 31 | 53 | (31) PC6 ** Pin59 ** D31
+ |-----|----| (53) PB0 ** Pin19 ** SPI_SS
+ | 33 | 51 | (33) PC4 ** Pin57 ** D33
+ |-----|----| (51) PB2 ** Pin21 ** SPI_MOSI
+ | 49 | 41 | (49) PL0 ** Pin35 ** D49
+ |-----|----| (41) PG0 ** Pin51 ** D41
+ | GND | NC |
+ ============
+*/
diff --git a/Marlin/src/pins/ramps/pins_MKS_BASE_15.h b/Marlin/src/pins/ramps/pins_MKS_BASE_15.h
new file mode 100644
index 0000000..9e670d1
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_BASE_15.h
@@ -0,0 +1,35 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS BASE v1.5 with A4982 stepper drivers and digital micro-stepping
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS BASE 1.5 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS BASE 1.5"
+#define MKS_BASE_VERSION 15
+
+#include "pins_MKS_BASE_common.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_BASE_16.h b/Marlin/src/pins/ramps/pins_MKS_BASE_16.h
new file mode 100644
index 0000000..a4dfca2
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_BASE_16.h
@@ -0,0 +1,59 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS BASE v1.6 with A4982 stepper drivers and digital micro-stepping
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS BASE 1.6 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS BASE 1.6"
+#define MKS_BASE_VERSION 16
+
+//
+// Servos
+//
+#define SERVO1_PIN 12 // Digital 12 / Pin 25
+
+//
+// Omitted RAMPS pins
+//
+#ifndef SERVO2_PIN
+ #define SERVO2_PIN -1
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN -1
+#endif
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN -1
+#endif
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN -1
+#endif
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN -1
+#endif
+
+#include "pins_MKS_BASE_common.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_BASE_HEROIC.h b/Marlin/src/pins/ramps/pins_MKS_BASE_HEROIC.h
new file mode 100644
index 0000000..3ce138b
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_BASE_HEROIC.h
@@ -0,0 +1,36 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS BASE with Heroic HR4982 stepper drivers
+ */
+
+#include "pins_MKS_BASE_15.h"
+
+/**
+ * Some new boards use HR4982 (Heroic) instead of the A4982 (Allegro) stepper drivers.
+ * Most the functionality is similar, the HR variant obviously doesn't work with diode
+ * smoothers (no fast decay). And the Heroic has a 128 µStepping mode where the A4982
+ * is doing quarter steps (MS1=0, MS2=1).
+ */
+#define HEROIC_STEPPER_DRIVERS
diff --git a/Marlin/src/pins/ramps/pins_MKS_BASE_common.h b/Marlin/src/pins/ramps/pins_MKS_BASE_common.h
new file mode 100644
index 0000000..9047a4b
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_BASE_common.h
@@ -0,0 +1,75 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS BASE – Arduino Mega2560 with RAMPS pin assignments
+ */
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "MKS BASE"
+#endif
+
+#if MKS_BASE_VERSION >= 14
+ //
+ // Heaters / Fans
+ //
+ // Power outputs EFBF or EFBE
+ #define MOSFET_D_PIN 7
+
+ //
+ // M3/M4/M5 - Spindle/Laser Control
+ //
+ #if HAS_CUTTER
+ #define SPINDLE_LASER_PWM_PIN 2 // Hardware PWM
+ #define SPINDLE_LASER_ENA_PIN 15 // Pullup!
+ #define SPINDLE_DIR_PIN 19
+ #endif
+
+ #ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 2
+ #endif
+
+#endif
+
+//
+// Microstepping pins
+//
+#if MKS_BASE_VERSION >= 14 // |===== 1.4 =====|===== 1.5+ =====|
+ #define X_MS1_PIN 5 // PE3 | Pin 5 | PWM5 | | D3 | SERVO2_PIN
+ #define X_MS2_PIN 6 // PH3 | Pin 15 | PWM6 | Pin 14 | D6 | SERVO1_PIN
+ #define Y_MS1_PIN 59 // PF5 | Pin 92 | A5 | | |
+ #define Y_MS2_PIN 58 // PF4 | Pin 93 | A4 | | |
+ #define Z_MS1_PIN 22 // PA0 | Pin 78 | D22 | | |
+ #define Z_MS2_PIN 39 // PG2 | Pin 70 | D39 | | |
+ #if MKS_BASE_VERSION == 14
+ #define E0_MS1_PIN 64 // PK2 | Pin 87 | A10 | | |
+ #define E0_MS2_PIN 63 // PK1 | Pin 88 | A9 | | |
+ #else
+ #define E0_MS1_PIN 63 // PK1 | | | Pin 86 | A9 |
+ #define E0_MS2_PIN 64 // PK2 | | | Pin 87 | A10 |
+ #endif
+ #define E1_MS1_PIN 57 // PF3 | Pin 94 | A3 | Pin 93 | A3 |
+ #define E1_MS2_PIN 4 // PG5 | Pin 1 | PWM4 | | D4 | SERVO3_PIN
+#endif
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_GEN_13.h b/Marlin/src/pins/ramps/pins_MKS_GEN_13.h
new file mode 100644
index 0000000..08dd0f4
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_GEN_13.h
@@ -0,0 +1,147 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.4 adjusted pin assignments
+ *
+ * MKS GEN v1.3 (Extruder, Fan, Bed)
+ * MKS GEN v1.3 (Extruder, Extruder, Fan, Bed)
+ * MKS GEN v1.4 (Extruder, Fan, Bed)
+ * MKS GEN v1.4 (Extruder, Extruder, Fan, Bed)
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS GEN 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS GEN >= v1.3"
+
+//
+// Heaters / Fans
+//
+// Power outputs EFBF or EFBE
+#define MOSFET_D_PIN 7
+
+//
+// PSU / SERVO
+//
+// If PSU_CONTROL is specified, always hijack Servo 3
+//
+#if ENABLED(PSU_CONTROL)
+ #define SERVO3_PIN -1
+ #define PS_ON_PIN 4
+#endif
+
+#include "pins_RAMPS.h"
+
+//
+// LCD / Controller
+//
+#if ANY(VIKI2, miniVIKI)
+ /**
+ * VIKI2 Has two groups of wires with...
+ *
+ * +Vin + Input supply, requires 120ma for LCD and mSD card
+ * GND Ground Pin
+ * MOSI Data input for LCD and SD
+ * MISO Data output for SD
+ * SCK Clock for LCD and SD
+ * AO Reg. Sel for LCD
+ * LCS Chip Select for LCD
+ * SDCS Chip Select for SD
+ * SDCD Card Detect pin for SD
+ * ENCA Encoder output A
+ * ENCB Encoder output B
+ * ENCBTN Encoder button switch
+ *
+ * BTN Panel mounted button switch
+ * BUZZER Piezo buzzer
+ * BLUE-LED Blue LED ring pin (3 to 5v, mosfet buffered)
+ * RED-LED Red LED ring pin (3 to 5v, mosfet buffered)
+ *
+ * This configuration uses the following arrangement:
+ *
+ * EXP1 D37 = EN2 D35 = EN1 EXP2 D50 = MISO D52 = SCK
+ * D17 = BLUE D16 = RED D31 = ENC D53 = SDCS
+ * D23 = KILL D25 = BUZZ D33 = --- D51 = MOSI
+ * D27 = A0 D29 = LCS D49 = SDCD RST = ---
+ * GND = GND 5V = 5V GND = --- D41 = ---
+ */
+
+ #undef BTN_EN1
+ #undef BTN_EN2
+ #undef BTN_ENC
+ #undef DOGLCD_A0
+ #undef DOGLCD_CS
+ #undef SD_DETECT_PIN
+ #undef BEEPER_PIN
+ #undef KILL_PIN
+ #undef STAT_LED_RED_PIN
+ #undef STAT_LED_BLUE_PIN
+
+ //
+ // VIKI2 12-wire lead
+ //
+
+ // orange/white SDCD
+ #define SD_DETECT_PIN 49
+
+ // white ENCA
+ #define BTN_EN1 35
+
+ // green ENCB
+ #define BTN_EN2 37
+
+ // purple ENCBTN
+ #define BTN_ENC 31
+
+ // brown A0
+ #define DOGLCD_A0 27
+
+ // green/white LCS
+ #define DOGLCD_CS 29
+
+ // 50 gray MISO
+ // 51 yellow MOSI
+ // 52 orange SCK
+
+ // blue SDCS
+ //#define SDSS 53
+
+ //
+ // VIKI2 4-wire lead
+ //
+
+ // blue BTN
+ #define KILL_PIN 23
+
+ // green BUZZER
+ #define BEEPER_PIN 25
+
+ // yellow RED-LED
+ #define STAT_LED_RED_PIN 16
+
+ // white BLUE-LED
+ #define STAT_LED_BLUE_PIN 17
+
+#endif
diff --git a/Marlin/src/pins/ramps/pins_MKS_GEN_L.h b/Marlin/src/pins/ramps/pins_MKS_GEN_L.h
new file mode 100644
index 0000000..522a34c
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_GEN_L.h
@@ -0,0 +1,53 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS GEN L – Arduino Mega2560 with RAMPS v1.4 pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS GEN L supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS GEN L"
+
+//
+// Heaters / Fans
+//
+// Power outputs EFBF or EFBE
+#define MOSFET_D_PIN 7
+
+//
+// CS Pins wired to avoid conflict with the LCD
+// See https://www.thingiverse.com/asset:66604
+//
+
+#ifndef X_CS_PIN
+ #define X_CS_PIN 59
+#endif
+
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 63
+#endif
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_GEN_L_V2.h b/Marlin/src/pins/ramps/pins_MKS_GEN_L_V2.h
new file mode 100644
index 0000000..20f3dec
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_GEN_L_V2.h
@@ -0,0 +1,89 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS GEN L V2 – Arduino Mega2560 with RAMPS v1.4 pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS GEN L V2 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS GEN L V2"
+
+//
+// Heaters / Fans
+//
+// Power outputs EFBF or EFBE
+#define MOSFET_D_PIN 7
+
+//
+// CS Pins wired to avoid conflict with the LCD
+// See https://www.thingiverse.com/asset:66604
+//
+
+#ifndef X_CS_PIN
+ #define X_CS_PIN 63
+#endif
+
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 64
+#endif
+
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 65
+#endif
+
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 66
+#endif
+
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 21
+#endif
+
+// TMC2130 Diag Pins (currently just for reference)
+#define X_DIAG_PIN 3
+#define Y_DIAG_PIN 14
+#define Z_DIAG_PIN 18
+#define E0_DIAG_PIN 2
+#define E1_DIAG_PIN 15
+
+#ifndef SERVO1_PIN
+ #define SERVO1_PIN 12
+#endif
+#ifndef SERVO2_PIN
+ #define SERVO2_PIN 39
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN 32
+#endif
+
+#ifndef E1_SERIAL_TX_PIN
+ #define E1_SERIAL_TX_PIN 20
+#endif
+#ifndef E1_SERIAL_RX_PIN
+ #define E1_SERIAL_RX_PIN 21
+#endif
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h b/Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h
new file mode 100644
index 0000000..24e04a3
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h
@@ -0,0 +1,85 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * MKS GEN L V2 – Arduino Mega2560 with RAMPS v1.4 pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS GEN L V2.1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "MKS GEN L V2.1"
+
+//
+// Heaters / Fans
+//
+// Power outputs EFBF or EFBE
+#define MOSFET_D_PIN 7
+
+//
+// CS Pins wired to avoid conflict with the LCD
+// See https://www.thingiverse.com/asset:66604
+//
+
+#ifndef X_CS_PIN
+ #define X_CS_PIN 63
+#endif
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 64
+#endif
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 65
+#endif
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 66
+#endif
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 12
+#endif
+
+// TMC2130 Diag Pins (currently just for reference)
+#define X_DIAG_PIN 3
+#define Y_DIAG_PIN 14
+#define Z_DIAG_PIN 18
+#define E0_DIAG_PIN 2
+#define E1_DIAG_PIN 15
+
+#ifndef SERVO1_PIN
+ #define SERVO1_PIN 21
+#endif
+#ifndef SERVO2_PIN
+ #define SERVO2_PIN 39
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN 32
+#endif
+
+#ifndef E1_SERIAL_TX_PIN
+ #define E1_SERIAL_TX_PIN 20
+#endif
+#ifndef E1_SERIAL_RX_PIN
+ #define E1_SERIAL_RX_PIN 12
+#endif
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_ORTUR_4.h b/Marlin/src/pins/ramps/pins_ORTUR_4.h
new file mode 100644
index 0000000..e79973e
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_ORTUR_4.h
@@ -0,0 +1,116 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Ortur 4 Arduino Mega based on RAMPS v1.4 pin assignments
+ */
+
+#define BOARD_INFO_NAME "Ortur 4.3"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+//
+// Servos
+//
+#define SERVO0_PIN 29
+
+//
+// Limit Switches
+//
+#define X_MAX_PIN 18
+#define Z_MIN_PIN 63
+
+#define Z_MIN_PROBE_PIN 2
+#define FIL_RUNOUT_PIN 59
+
+//
+// Steppers
+//
+#define E0_CS_PIN 44
+#define E1_CS_PIN 42
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 15 // Analog Input
+#define TEMP_1_PIN 13 // Analog Input
+
+//
+// Software serial
+//
+#define X_SERIAL_TX_PIN 59
+#define X_SERIAL_RX_PIN 63
+
+#define Y_SERIAL_TX_PIN 64
+#define Y_SERIAL_RX_PIN 40
+
+#define Z_SERIAL_TX_PIN 44
+#define Z_SERIAL_RX_PIN 42
+
+#define E0_SERIAL_TX_PIN 66
+#define E0_SERIAL_RX_PIN 65
+
+#include "pins_RAMPS.h"
+
+//
+// Steppers
+//
+#undef E0_STEP_PIN
+#undef E0_DIR_PIN
+#undef E0_ENABLE_PIN
+#define E0_STEP_PIN 36
+#define E0_DIR_PIN 34
+#define E0_ENABLE_PIN 30
+
+#undef E1_STEP_PIN
+#undef E1_DIR_PIN
+#undef E1_ENABLE_PIN
+#define E1_STEP_PIN 26
+#define E1_DIR_PIN 28
+#define E1_ENABLE_PIN 24
+
+//
+// LCD / Controller
+//
+#if IS_RRD_FG_SC
+ #undef BEEPER_PIN
+ #define BEEPER_PIN 35
+
+ #undef LCD_PINS_RS
+ #undef LCD_PINS_ENABLE
+ #undef LCD_PINS_D4
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 23
+ #define LCD_PINS_D4 37
+
+ #undef LCD_SDSS
+ #undef SD_DETECT_PIN
+ #define LCD_SDSS 53
+ #define SD_DETECT_PIN 49
+
+ #undef BTN_EN1
+ #undef BTN_EN2
+ #undef BTN_ENC
+ #define BTN_EN1 29
+ #define BTN_EN2 25
+ #define BTN_ENC 16
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h
new file mode 100644
index 0000000..5bcd877
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS.h
@@ -0,0 +1,781 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.4 (or v1.3) pin assignments
+ *
+ * Applies to the following boards:
+ *
+ * RAMPS_14_EFB (Hotend, Fan, Bed)
+ * RAMPS_14_EEB (Hotend0, Hotend1, Bed)
+ * RAMPS_14_EFF (Hotend, Fan0, Fan1)
+ * RAMPS_14_EEF (Hotend0, Hotend1, Fan)
+ * RAMPS_14_SF (Spindle, Controller Fan)
+ *
+ * RAMPS_13_EFB (Hotend, Fan, Bed)
+ * RAMPS_13_EEB (Hotend0, Hotend1, Bed)
+ * RAMPS_13_EFF (Hotend, Fan0, Fan1)
+ * RAMPS_13_EEF (Hotend0, Hotend1, Fan)
+ * RAMPS_13_SF (Spindle, Controller Fan)
+ *
+ * Other pins_MYBOARD.h files may override these defaults
+ *
+ * Differences between
+ * RAMPS_13 | RAMPS_14
+ * 7 | 11
+ */
+
+#ifdef TARGET_LPC1768
+ #error "Oops! Set MOTHERBOARD to an LPC1768-based board when building for LPC1768."
+#elif defined(__STM32F1__)
+ #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
+#endif
+
+#if NOT_TARGET(IS_RAMPS_SMART, IS_RAMPS_DUO, IS_RAMPS4DUE, TARGET_LPC1768, __AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' (or other appropriate target) in 'Tools > Board.'"
+#endif
+
+// Custom flags and defines for the build
+//#define BOARD_CUSTOM_BUILD_FLAGS -D__FOO__
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "RAMPS 1.4"
+#endif
+
+//
+// Servos
+//
+#ifndef SERVO0_PIN
+ #ifdef IS_RAMPS_13
+ #define SERVO0_PIN 7
+ #else
+ #define SERVO0_PIN 11
+ #endif
+#endif
+#ifndef SERVO1_PIN
+ #define SERVO1_PIN 6
+#endif
+#ifndef SERVO2_PIN
+ #define SERVO2_PIN 5
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN 4
+#endif
+
+//
+// Limit Switches
+//
+#ifndef X_STOP_PIN
+ #ifndef X_MIN_PIN
+ #define X_MIN_PIN 3
+ #endif
+ #ifndef X_MAX_PIN
+ #define X_MAX_PIN 2
+ #endif
+#endif
+#ifndef Y_STOP_PIN
+ #ifndef Y_MIN_PIN
+ #define Y_MIN_PIN 14
+ #endif
+ #ifndef Y_MAX_PIN
+ #define Y_MAX_PIN 15
+ #endif
+#endif
+#ifndef Z_STOP_PIN
+ #ifndef Z_MIN_PIN
+ #define Z_MIN_PIN 18
+ #endif
+ #ifndef Z_MAX_PIN
+ #define Z_MAX_PIN 19
+ #endif
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN 53
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 49
+#endif
+
+#ifndef Z_STEP_PIN
+ #define Z_STEP_PIN 46
+#endif
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 40
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 42
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 44
+#endif
+
+//
+// Temperature Sensors
+//
+#ifndef TEMP_0_PIN
+ #define TEMP_0_PIN 13 // Analog Input
+#endif
+#ifndef TEMP_1_PIN
+ #define TEMP_1_PIN 15 // Analog Input
+#endif
+#ifndef TEMP_BED_PIN
+ #define TEMP_BED_PIN 14 // Analog Input
+#endif
+
+//
+// SPI for Max6675 or Max31855 Thermocouple
+//
+#ifndef MAX6675_SS_PIN
+ #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card (SDSS) or 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Augmentation for auto-assigning RAMPS plugs
+//
+#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
+ #if HAS_MULTI_HOTEND
+ #if TEMP_SENSOR_BED
+ #define IS_RAMPS_EEB
+ #else
+ #define IS_RAMPS_EEF
+ #endif
+ #elif TEMP_SENSOR_BED
+ #define IS_RAMPS_EFB
+ #else
+ #define IS_RAMPS_EFF
+ #endif
+#endif
+
+//
+// Heaters / Fans
+//
+#ifndef MOSFET_D_PIN
+ #define MOSFET_D_PIN -1
+#endif
+#ifndef RAMPS_D8_PIN
+ #define RAMPS_D8_PIN 8
+#endif
+#ifndef RAMPS_D9_PIN
+ #define RAMPS_D9_PIN 9
+#endif
+#ifndef RAMPS_D10_PIN
+ #define RAMPS_D10_PIN 10
+#endif
+
+#define HEATER_0_PIN RAMPS_D10_PIN
+
+#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
+ #define HEATER_BED_PIN RAMPS_D8_PIN
+#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
+ #define HEATER_1_PIN RAMPS_D9_PIN
+#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
+ #define HEATER_1_PIN RAMPS_D9_PIN
+ #define HEATER_BED_PIN RAMPS_D8_PIN
+#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan
+ #define FAN1_PIN RAMPS_D8_PIN
+#elif DISABLED(IS_RAMPS_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE")
+ #define HEATER_BED_PIN RAMPS_D8_PIN
+ #if HOTENDS == 1
+ #define FAN1_PIN MOSFET_D_PIN
+ #else
+ #define HEATER_1_PIN MOSFET_D_PIN
+ #endif
+#endif
+
+#ifndef FAN_PIN
+ #if EITHER(IS_RAMPS_EFB, IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan
+ #define FAN_PIN RAMPS_D9_PIN
+ #elif EITHER(IS_RAMPS_EEF, IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan
+ #define FAN_PIN RAMPS_D8_PIN
+ #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
+ #define FAN_PIN 4 // IO pin. Buffer needed
+ #else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
+ #define FAN_PIN RAMPS_D9_PIN
+ #endif
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN 5 // Analog Input on AUX2
+#endif
+
+// RAMPS 1.4 DIO 4 on the servos connector
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 4
+#endif
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
+ #if NUM_SERVOS <= 1 // Prefer the servo connector
+ #define CASE_LIGHT_PIN 6 // Hardware PWM
+ #elif HAS_FREE_AUX2_PINS
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+ #endif
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN)
+ #if !NUM_SERVOS // Use servo connector if possible
+ #define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
+ #define SPINDLE_DIR_PIN 5
+ #elif HAS_FREE_AUX2_PINS
+ #define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+ #define SPINDLE_DIR_PIN 65
+ #else
+ #error "No auto-assignable Spindle/Laser pins available."
+ #endif
+#endif
+
+//
+// TMC software SPI
+//
+#if ENABLED(TMC_USE_SW_SPI)
+ #ifndef TMC_SW_MOSI
+ #define TMC_SW_MOSI 66
+ #endif
+ #ifndef TMC_SW_MISO
+ #define TMC_SW_MISO 44
+ #endif
+ #ifndef TMC_SW_SCK
+ #define TMC_SW_SCK 64
+ #endif
+#endif
+
+#if HAS_TMC_UART
+ /**
+ * TMC2208/TMC2209 stepper drivers
+ *
+ * Hardware serial communication ports.
+ * If undefined software serial is used according to the pins below
+ */
+ //#define X_HARDWARE_SERIAL Serial1
+ //#define X2_HARDWARE_SERIAL Serial1
+ //#define Y_HARDWARE_SERIAL Serial1
+ //#define Y2_HARDWARE_SERIAL Serial1
+ //#define Z_HARDWARE_SERIAL Serial1
+ //#define Z2_HARDWARE_SERIAL Serial1
+ //#define E0_HARDWARE_SERIAL Serial1
+ //#define E1_HARDWARE_SERIAL Serial1
+ //#define E2_HARDWARE_SERIAL Serial1
+ //#define E3_HARDWARE_SERIAL Serial1
+ //#define E4_HARDWARE_SERIAL Serial1
+
+ //
+ // Software serial
+ //
+
+ #ifndef X_SERIAL_TX_PIN
+ #define X_SERIAL_TX_PIN 40
+ #endif
+ #ifndef X_SERIAL_RX_PIN
+ #define X_SERIAL_RX_PIN 63
+ #endif
+ #ifndef X2_SERIAL_TX_PIN
+ #define X2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef X2_SERIAL_RX_PIN
+ #define X2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef Y_SERIAL_TX_PIN
+ #define Y_SERIAL_TX_PIN 59
+ #endif
+ #ifndef Y_SERIAL_RX_PIN
+ #define Y_SERIAL_RX_PIN 64
+ #endif
+ #ifndef Y2_SERIAL_TX_PIN
+ #define Y2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef Y2_SERIAL_RX_PIN
+ #define Y2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef Z_SERIAL_TX_PIN
+ #define Z_SERIAL_TX_PIN 42
+ #endif
+ #ifndef Z_SERIAL_RX_PIN
+ #define Z_SERIAL_RX_PIN 65
+ #endif
+ #ifndef Z2_SERIAL_TX_PIN
+ #define Z2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef Z2_SERIAL_RX_PIN
+ #define Z2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef E0_SERIAL_TX_PIN
+ #define E0_SERIAL_TX_PIN 44
+ #endif
+ #ifndef E0_SERIAL_RX_PIN
+ #define E0_SERIAL_RX_PIN 66
+ #endif
+ #ifndef E1_SERIAL_TX_PIN
+ #define E1_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E1_SERIAL_RX_PIN
+ #define E1_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E2_SERIAL_TX_PIN
+ #define E2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E2_SERIAL_RX_PIN
+ #define E2_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E3_SERIAL_TX_PIN
+ #define E3_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E3_SERIAL_RX_PIN
+ #define E3_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E4_SERIAL_TX_PIN
+ #define E4_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E4_SERIAL_RX_PIN
+ #define E4_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E5_SERIAL_TX_PIN
+ #define E5_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E5_SERIAL_RX_PIN
+ #define E5_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E6_SERIAL_TX_PIN
+ #define E6_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E6_SERIAL_RX_PIN
+ #define E6_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E7_SERIAL_TX_PIN
+ #define E7_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E7_SERIAL_RX_PIN
+ #define E7_SERIAL_RX_PIN -1
+ #endif
+#endif
+
+//
+// Průša i3 MK2 Multiplexer Support
+//
+#ifndef E_MUX0_PIN
+ #define E_MUX0_PIN 40 // Z_CS_PIN
+#endif
+#ifndef E_MUX1_PIN
+ #define E_MUX1_PIN 42 // E0_CS_PIN
+#endif
+#ifndef E_MUX2_PIN
+ #define E_MUX2_PIN 44 // E1_CS_PIN
+#endif
+
+//////////////////////////
+// LCDs and Controllers //
+//////////////////////////
+
+#if HAS_WIRED_LCD
+
+ //
+ // LCD Display output pins
+ //
+ #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
+
+ #define LCD_PINS_RS 49 // CS chip select /SS chip slave select
+ #define LCD_PINS_ENABLE 51 // SID (MOSI)
+ #define LCD_PINS_D4 52 // SCK (CLK) clock
+
+ #elif BOTH(IS_NEWPANEL, PANEL_ONE)
+
+ #define LCD_PINS_RS 40
+ #define LCD_PINS_ENABLE 42
+ #define LCD_PINS_D4 65
+ #define LCD_PINS_D5 66
+ #define LCD_PINS_D6 44
+ #define LCD_PINS_D7 64
+
+ #elif ENABLED(TFTGLCD_PANEL_SPI)
+
+ #define TFTGLCD_CS 33
+
+ #else
+
+ #if ENABLED(CR10_STOCKDISPLAY)
+
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 25
+
+ #if !IS_NEWPANEL
+ #define BEEPER_PIN 37
+ #endif
+
+ #elif ENABLED(ZONESTAR_LCD)
+
+ #error "CAUTION! ZONESTAR_LCD on RAMPS requires wiring modifications. It plugs into AUX2 but GND and 5V need to be swapped. Comment out this line to continue."
+ #define LCD_PINS_RS 64
+ #define LCD_PINS_ENABLE 44
+ #define LCD_PINS_D4 63
+ #define LCD_PINS_D5 40
+ #define LCD_PINS_D6 42
+ #define LCD_PINS_D7 65
+
+ #else
+
+ #if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
+ #define LCD_PINS_DC 25 // Set as output on init
+ #define LCD_PINS_RS 27 // Pull low for 1s to init
+ // DOGM SPI LCD Support
+ #define DOGLCD_A0 LCD_PINS_DC
+ #define DOGLCD_CS 16
+ #define DOGLCD_MOSI 17
+ #define DOGLCD_SCK 23
+ #else
+ #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
+ #endif
+
+ #define LCD_PINS_D7 29
+
+ #if !IS_NEWPANEL
+ #define BEEPER_PIN 33
+ #endif
+
+ #endif
+
+ #if !IS_NEWPANEL
+ // Buttons attached to a shift register
+ // Not wired yet
+ //#define SHIFT_CLK_PIN 38
+ //#define SHIFT_LD_PIN 42
+ //#define SHIFT_OUT_PIN 40
+ //#define SHIFT_EN_PIN 17
+ #endif
+
+ #endif
+
+ #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+ #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
+ #endif
+
+ //
+ // LCD Display input pins
+ //
+ #if IS_NEWPANEL
+
+ #if IS_RRD_SC
+
+ #define BEEPER_PIN 37
+
+ #if ENABLED(CR10_STOCKDISPLAY)
+ #define BTN_EN1 17
+ #define BTN_EN2 23
+ #else
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #endif
+
+ #define BTN_ENC 35
+ #ifndef SD_DETECT_PIN
+ #define SD_DETECT_PIN 49
+ #endif
+ #ifndef KILL_PIN
+ #define KILL_PIN 41
+ #endif
+
+ #if ENABLED(BQ_LCD_SMART_CONTROLLER)
+ #define LCD_BACKLIGHT_PIN 39
+ #endif
+
+ #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
+
+ #define BTN_EN1 64
+ #define BTN_EN2 59
+ #define BTN_ENC 63
+ #define SD_DETECT_PIN 42
+
+ #elif ENABLED(LCD_I2C_PANELOLU2)
+
+ #define BTN_EN1 47
+ #define BTN_EN2 43
+ #define BTN_ENC 32
+ #define LCD_SDSS SDSS
+ #define KILL_PIN 41
+
+ #elif ENABLED(LCD_I2C_VIKI)
+
+ #define BTN_EN1 40 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42.
+ #define BTN_EN2 42
+ #define BTN_ENC -1
+
+ #define LCD_SDSS SDSS
+ #define SD_DETECT_PIN 49
+
+ #elif ANY(VIKI2, miniVIKI)
+
+ #define DOGLCD_CS 45
+ #define DOGLCD_A0 44
+ #define LCD_SCREEN_ROT_180
+
+ #define BEEPER_PIN 33
+ #define STAT_LED_RED_PIN 32
+ #define STAT_LED_BLUE_PIN 35
+
+ #define BTN_EN1 22
+ #define BTN_EN2 7
+ #define BTN_ENC 39
+
+ #define SD_DETECT_PIN -1 // Pin 49 for display SD interface, 72 for easy adapter board
+ #define KILL_PIN 31
+
+ #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
+
+ #define DOGLCD_CS 29
+ #define DOGLCD_A0 27
+
+ #define BEEPER_PIN 23
+ #define LCD_BACKLIGHT_PIN 33
+
+ #define BTN_EN1 35
+ #define BTN_EN2 37
+ #define BTN_ENC 31
+
+ #define LCD_SDSS SDSS
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 41
+
+ #elif EITHER(MKS_MINI_12864, FYSETC_MINI_12864)
+
+ #define BEEPER_PIN 37
+ #define BTN_ENC 35
+ #define SD_DETECT_PIN 49
+
+ #ifndef KILL_PIN
+ #define KILL_PIN 41
+ #endif
+
+ #if ENABLED(MKS_MINI_12864)
+
+ #define DOGLCD_A0 27
+ #define DOGLCD_CS 25
+
+ // GLCD features
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ // not connected to a pin
+ #define LCD_BACKLIGHT_PIN -1 // 65 (MKS mini12864 can't adjust backlight by software!)
+
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+
+ #elif ENABLED(FYSETC_MINI_12864)
+
+ // From https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
+
+ #define DOGLCD_A0 16
+ #define DOGLCD_CS 17
+
+ #define BTN_EN1 33
+ #define BTN_EN2 31
+
+ //#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
+ // results in LCD soft SPI mode 3, SD soft SPI mode 0
+
+ #define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
+
+ #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
+ #ifndef RGB_LED_R_PIN
+ #define RGB_LED_R_PIN 25
+ #endif
+ #ifndef RGB_LED_G_PIN
+ #define RGB_LED_G_PIN 27
+ #endif
+ #ifndef RGB_LED_B_PIN
+ #define RGB_LED_B_PIN 29
+ #endif
+ #elif ENABLED(FYSETC_MINI_12864_2_1)
+ #define NEOPIXEL_PIN 25
+ #endif
+
+ #endif
+
+ #elif ENABLED(MINIPANEL)
+
+ #define BEEPER_PIN 42
+ // not connected to a pin
+ #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
+
+ #define DOGLCD_A0 44
+ #define DOGLCD_CS 66
+
+ // GLCD features
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ #define BTN_EN1 40
+ #define BTN_EN2 63
+ #define BTN_ENC 59
+
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 64
+
+ #elif ENABLED(ZONESTAR_LCD)
+
+ #define ADC_KEYPAD_PIN 12
+
+ #elif ENABLED(AZSMZ_12864)
+
+ // Pins only defined for RAMPS_SMART currently
+ #error "No pins defined for RAMPS with AZSMZ_12864."
+
+ #elif IS_TFTGLCD_PANEL
+
+ #define SD_DETECT_PIN 49
+
+ #else
+
+ // Beeper on AUX-4
+ #define BEEPER_PIN 33
+
+ // Buttons are directly attached to AUX-2
+ #if ENABLED(PANEL_ONE)
+ #define BTN_EN1 59 // AUX2 PIN 3
+ #define BTN_EN2 63 // AUX2 PIN 4
+ #define BTN_ENC 49 // AUX3 PIN 7
+ #else
+ #define BTN_EN1 37
+ #define BTN_EN2 35
+ #define BTN_ENC 31
+ #endif
+
+ #if ENABLED(G3D_PANEL)
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 41
+ #endif
+
+ #endif
+ #endif // IS_NEWPANEL
+
+#endif // HAS_WIRED_LCD
+
+#if IS_RRW_KEYPAD && !HAS_ADC_BUTTONS
+ #define SHIFT_OUT_PIN 40
+ #define SHIFT_CLK_PIN 44
+ #define SHIFT_LD_PIN 42
+ #ifndef BTN_EN1
+ #define BTN_EN1 64
+ #endif
+ #ifndef BTN_EN2
+ #define BTN_EN2 59
+ #endif
+ #ifndef BTN_ENC
+ #define BTN_ENC 63
+ #endif
+#endif
+
+#if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050)
+
+ #error "CAUTION! LCD_FYSETC_TFT81050 requires wiring modifications. See 'pins_RAMPS.h' for details. Comment out this line to continue."
+
+ /** FYSETC TFT TFT81050 display pinout
+ *
+ * Board Display
+ * _____ _____
+ * (SCK) D52 | 1 2 | D50 (MISO) MISO | 1 2 | SCK
+ * (SD_CS) D53 | 3 4 | D33 (BNT_EN2) (BNT_EN2) MOD_RESET | 3 4 | SD_CS
+ * (MOSI) D51 | 5 6 D31 (BNT_EN1) (BNT_EN1) LCD_CS | 5 6 MOSI
+ * RESET | 7 8 | D49 (SD_DET) SD_DET | 7 8 | RESET
+ * NC | 9 10| GND GND | 9 10| 5V
+ * ----- -----
+ * EXP2 EXP1
+ *
+ * Needs custom cable:
+ *
+ * Board Adapter Display
+ * _________
+ * EXP2-1 ----------- EXP1-10
+ * EXP2-2 ----------- EXP1-9
+ * EXP2-4 ----------- EXP1-8
+ * EXP2-4 ----------- EXP1-7
+ * EXP2-3 ----------- EXP1-6
+ * EXP2-6 ----------- EXP1-5
+ * EXP2-7 ----------- EXP1-4
+ * EXP2-8 ----------- EXP1-3
+ * EXP2-1 ----------- EXP1-2
+ * EXP1-10 ----------- EXP1-1
+ *
+ * NOTE: The MISO pin should not get a 5V signal.
+ * To fix, insert a 1N4148 diode in the MISO line.
+ */
+
+ #define BEEPER_PIN 37
+
+ #define SD_DETECT_PIN 49
+
+ #define CLCD_MOD_RESET 31
+ #define CLCD_SPI_CS 33
+#endif // TOUCH_UI_FTDI_EVE && LCD_FYSETC_TFT81050
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_13.h b/Marlin/src/pins/ramps/pins_RAMPS_13.h
new file mode 100644
index 0000000..6e7c8cb
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_13.h
@@ -0,0 +1,42 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.3 pin assignments
+ *
+ * Applies to the following boards:
+ *
+ * RAMPS_13_EFB (Extruder, Fan, Bed)
+ * RAMPS_13_EEB (Extruder, Extruder, Bed)
+ * RAMPS_13_EFF (Extruder, Fan, Fan)
+ * RAMPS_13_EEF (Extruder, Extruder, Fan)
+ * RAMPS_13_SF (Spindle, Controller Fan)
+ */
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "RAMPS 1.3"
+#endif
+
+#define IS_RAMPS_13
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h b/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h
new file mode 100644
index 0000000..1dc898e
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h
@@ -0,0 +1,68 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "Creality3D RAMPS supports only 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Creality3D RAMPS"
+
+//
+// Heaters / Fans
+//
+
+// Power outputs EFBF or EFBE
+#define MOSFET_D_PIN 7
+
+#define FIL_RUNOUT_PIN 2
+#if NUM_RUNOUT_SENSORS > 1
+ #define FIL_RUNOUT2_PIN 15 // Creality CR-X can use dual runout sensors
+#endif
+
+#ifndef SD_DETECT_PIN
+ #define SD_DETECT_PIN 49 // Always define onboard SD detect
+#endif
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 40 // Used by CR2020 Industrial series
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN)
+ #define CASE_LIGHT_PIN 65
+#endif
+
+#include "pins_RAMPS.h"
+
+#ifndef BEEPER_PIN
+ #define BEEPER_PIN 37 // Always define beeper pin so Play Tone works with ExtUI
+#endif
+
+#define EXP1_PIN 65 // A11 - Used by CR2020 Industrial series for case
+#define EXP2_PIN 66 // A12
+#define EXP3_PIN 11 // SERVO0_PIN
+#define EXP4_PIN 12 // PS_ON_PIN
+
+#define SUICIDE_PIN 12 // Used by CR2020 Industrial series
+#ifndef SUICIDE_PIN_INVERTING
+ #define SUICIDE_PIN_INVERTING true
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_ENDER_4.h b/Marlin/src/pins/ramps/pins_RAMPS_ENDER_4.h
new file mode 100644
index 0000000..d996424
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_ENDER_4.h
@@ -0,0 +1,41 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#if HOTENDS > 1 || E_STEPPERS > 1
+ #error "Ender-4 only supports one hotend / E-stepper. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Ender-4"
+
+#include "pins_RAMPS.h"
+
+// The board only has one PWM fan connector. The others are 12V always-on.
+// The default config uses this pin to control the brightness of the LED
+// band (case light). Thus the hotend and controller fans are always-on.
+
+#if ENABLED(CASE_LIGHT_ENABLE)
+ #undef FAN_PIN
+ #ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN RAMPS_D9_PIN
+ #endif
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_OLD.h b/Marlin/src/pins/ramps/pins_RAMPS_OLD.h
new file mode 100644
index 0000000..6d2dad2
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_OLD.h
@@ -0,0 +1,119 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "RAMPS <1.2"
+
+// Uncomment the following line for RAMPS v1.0
+//#define RAMPS_V_1_0
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#define X_MAX_PIN 2
+#define Y_MIN_PIN 16
+#define Y_MAX_PIN 17
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 19
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 26
+#define X_DIR_PIN 28
+#define X_ENABLE_PIN 24
+
+#define Y_STEP_PIN 38
+#define Y_DIR_PIN 40
+#define Y_ENABLE_PIN 36
+
+#define Z_STEP_PIN 44
+#define Z_DIR_PIN 46
+#define Z_ENABLE_PIN 42
+
+#define E0_STEP_PIN 32
+#define E0_DIR_PIN 34
+#define E0_ENABLE_PIN 30
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 2 // Analog Input
+#define TEMP_BED_PIN 1 // Analog Input
+
+// SPI for Max6675 or Max31855 Thermocouple
+#if DISABLED(SDSUPPORT)
+ #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
+#else
+ #define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Heaters / Fans
+//
+#if ENABLED(RAMPS_V_1_0)
+ #define HEATER_0_PIN 12
+ #define HEATER_BED_PIN -1
+ #ifndef FAN_PIN
+ #define FAN_PIN 11
+ #endif
+#else // RAMPS_V_1_1 or RAMPS_V_1_2
+ #define HEATER_0_PIN 10
+ #define HEATER_BED_PIN 8
+ #ifndef FAN_PIN
+ #define FAN_PIN 9
+ #endif
+#endif
+
+//
+// Misc. Functions
+//
+#define SDPOWER_PIN 48
+#define SDSS 53
+#define LED_PIN 13
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 45 // Hardware PWM
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 41 // Pullup or pulldown!
+#define SPINDLE_LASER_PWM_PIN 45 // Hardware PWM
+#define SPINDLE_DIR_PIN 43
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h
new file mode 100644
index 0000000..23b1dfa
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h
@@ -0,0 +1,85 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.4Plus, also known as 3DYMY version, pin assignments
+ * The differences to the RAMPS v1.4 are:
+ * - Swap heater E0 with E1
+ * - Swap pins 8 and 10. Bed/Fan/Hotend as labeled on the board are on pins 8/9/10.
+ * - Change pins 16->42, 17->44 and 29->53 used for display.
+ *
+ * Applies to the following boards:
+ *
+ * RAMPS_PLUS_EFB (Extruder, Fan, Bed)
+ * RAMPS_PLUS_EEB (Extruder, Extruder, Bed)
+ * RAMPS_PLUS_EFF (Extruder, Fan, Fan)
+ * RAMPS_PLUS_EEF (Extruder, Extruder, Fan)
+ * RAMPS_PLUS_SF (Spindle, Controller Fan)
+ */
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "RAMPS 1.4 Plus"
+
+#define RAMPS_D8_PIN 10
+#define RAMPS_D10_PIN 8
+
+#include "pins_RAMPS.h"
+
+//
+// Steppers - Swap E0 / E1 on 3DYMY
+//
+#undef E0_STEP_PIN
+#undef E0_DIR_PIN
+#undef E0_ENABLE_PIN
+
+#undef E1_STEP_PIN
+#undef E1_DIR_PIN
+#undef E1_ENABLE_PIN
+
+#define E0_STEP_PIN 36
+#define E0_DIR_PIN 34
+#define E0_ENABLE_PIN 30
+
+#define E1_STEP_PIN 26
+#define E1_DIR_PIN 28
+#define E1_ENABLE_PIN 24
+
+#undef X_CS_PIN
+#undef Y_CS_PIN
+#undef Z_CS_PIN
+#undef E0_CS_PIN
+#undef E1_CS_PIN
+
+#if IS_ULTRA_LCD && NONE(REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(IS_NEWPANEL, PANEL_ONE)
+ #if DISABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
+ #undef LCD_PINS_RS
+ #define LCD_PINS_RS 42 // 3DYMY boards pin 16 -> 42
+ #undef LCD_PINS_ENABLE
+ #define LCD_PINS_ENABLE 44 // 3DYMY boards pin 17 -> 44
+ #endif
+ #undef LCD_PINS_D7
+ #define LCD_PINS_D7 53 // 3DYMY boards pin 29 -> 53
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_S_12.h b/Marlin/src/pins/ramps/pins_RAMPS_S_12.h
new file mode 100644
index 0000000..1bcf310
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_S_12.h
@@ -0,0 +1,280 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS-S v1.2 by Sakul.cz pin assignments
+ * Written by Michal Rábek <rabek33@gmail.com>
+ *
+ * Applies to the following boards:
+ *
+ * BOARD_RAMPS_S_12_EEFB Ramps S 1.2 (Hotend0, Hotend1, Fan, Bed)
+ * BOARD_RAMPS_S_12_EEEB Ramps S 1.2 (Hotend0, Hotend1, Hotend2, Bed)
+ * BOARD_RAMPS_S_12_EFFB Ramps S 1.2 (Hotend, Fan0, Fan1, Bed)
+ *
+ * Other pins_MYBOARD.h files may override these defaults
+ */
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+// Custom flags and defines for the build
+//#define BOARD_CUSTOM_BUILD_FLAGS -D__FOO__
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "RAMPS S 1.2"
+#endif
+
+//
+// Servos
+//
+#ifndef SERVO0_PIN
+ #define SERVO0_PIN 10
+#endif
+#ifndef SERVO1_PIN
+ #define SERVO1_PIN 11
+#endif
+#ifndef SERVO2_PIN
+ #define SERVO2_PIN 12
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN 44
+#endif
+
+//
+// Limit Switches
+//
+#ifndef X_STOP_PIN
+ #ifndef X_MIN_PIN
+ #define X_MIN_PIN 37
+ #endif
+ #ifndef X_MAX_PIN
+ #define X_MAX_PIN 36
+ #endif
+#endif
+#ifndef Y_STOP_PIN
+ #ifndef Y_MIN_PIN
+ #define Y_MIN_PIN 35
+ #endif
+ #ifndef Y_MAX_PIN
+ #define Y_MAX_PIN 34
+ #endif
+#endif
+#ifndef Z_STOP_PIN
+ #ifndef Z_MIN_PIN
+ #define Z_MIN_PIN 33
+ #endif
+ #ifndef Z_MAX_PIN
+ #define Z_MAX_PIN 32
+ #endif
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 5
+#endif
+
+//
+// Filament Runout Sensor
+//
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 44 // RAMPS_S S3 on the servos connector
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 17
+#define X_DIR_PIN 16
+#define X_ENABLE_PIN 48
+
+#define Y_STEP_PIN 54
+#define Y_DIR_PIN 47
+#define Y_ENABLE_PIN 55
+
+#ifndef Z_STEP_PIN
+ #define Z_STEP_PIN 57
+#endif
+#define Z_DIR_PIN 56
+#define Z_ENABLE_PIN 62
+
+#define E0_STEP_PIN 23
+#define E0_DIR_PIN 22
+#define E0_ENABLE_PIN 24
+
+#define E1_STEP_PIN 26
+#define E1_DIR_PIN 25
+#define E1_ENABLE_PIN 27
+
+#define E2_STEP_PIN 29
+#define E2_DIR_PIN 28
+#define E2_ENABLE_PIN 39
+
+//
+// Temperature Sensors
+//
+#ifndef TEMP_0_PIN
+ #define TEMP_0_PIN 15 // Analog Input
+#endif
+#ifndef TEMP_1_PIN
+ #define TEMP_1_PIN 14 // Analog Input
+#endif
+#ifndef TEMP_2_PIN
+ #define TEMP_2_PIN 13 // Analog Input
+#endif
+#ifndef TEMP_3_PIN
+ #define TEMP_3_PIN 12 // Analog Input
+#endif
+#ifndef TEMP_BED_PIN
+ #define TEMP_BED_PIN 11 // Analog Input
+#endif
+
+//
+// Heaters / Fans
+//
+#ifndef MOSFET_D_PIN
+ #define MOSFET_D_PIN -1
+#endif
+#ifndef RAMPS_S_HE_0
+ #define RAMPS_S_HE_0 2
+#endif
+#ifndef RAMPS_S_HE_1
+ #define RAMPS_S_HE_1 3
+#endif
+#ifndef RAMPS_S_HE_2
+ #define RAMPS_S_HE_2 6
+#endif
+
+#define HEATER_BED_PIN 9
+
+#define HEATER_0_PIN RAMPS_S_HE_0
+
+#if MB(RAMPS_S_12_EEFB) // Hotend0, Hotend1, Fan, Bed
+ #define HEATER_1_PIN RAMPS_S_HE_1
+ #define FAN_PIN RAMPS_S_HE_2
+#elif MB(RAMPS_S_12_EEEB) // Hotend0, Hotend1, Hotend2, Bed
+ #define HEATER_1_PIN RAMPS_S_HE_1
+ #define HEATER_2_PIN RAMPS_S_HE_2
+#elif MB(RAMPS_S_12_EFFB) // Hotend, Fan0, Fan1, Bed
+ #define FAN_PIN RAMPS_S_HE_1
+ #define FAN1_PIN RAMPS_S_HE_2
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+
+#ifndef KILL_PIN
+ #define KILL_PIN 46
+#endif
+
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN 60 // Analog Input on EXTEND
+#endif
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12 // RAMPS_S S2 on the servos connector
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
+ #if NUM_SERVOS <= 1 // Prefer the servo connector
+ #define CASE_LIGHT_PIN 12 // Hardware PWM (RAMPS_S S1 on the servos connector)
+ #elif HAS_FREE_AUX2_PINS
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+ #endif
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN)
+ #define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
+ #define SPINDLE_DIR_PIN 5
+#endif
+
+//
+// TMC software SPI
+//
+#if ENABLED(TMC_USE_SW_SPI)
+ #ifndef TMC_SW_MOSI
+ #define TMC_SW_MOSI 51
+ #endif
+ #ifndef TMC_SW_MISO
+ #define TMC_SW_MISO 50
+ #endif
+ #ifndef TMC_SW_SCK
+ #define TMC_SW_SCK 53
+ #endif
+#endif
+
+//
+// Průša i3 MK2 Multiplexer Support
+//
+#ifndef E_MUX0_PIN
+ #define E_MUX0_PIN 29 // E2_STEP_PIN
+#endif
+#ifndef E_MUX1_PIN
+ #define E_MUX1_PIN 28 // E2_DIR_PIN
+#endif
+#ifndef E_MUX2_PIN
+ #define E_MUX2_PIN 39 // E2_ENABLE_PIN
+#endif
+
+//////////////////////////
+// LCDs and Controllers //
+//////////////////////////
+
+//
+// LCD Display output pins
+//
+#if HAS_WIRED_LCD
+ #define BEEPER_PIN 45
+ #define LCD_PINS_RS 19
+ #define LCD_PINS_ENABLE 49
+ #define LCD_PINS_D4 18
+ #define LCD_PINS_D5 30
+ #define LCD_PINS_D6 41
+ #define LCD_PINS_D7 31
+ #ifndef SD_DETECT_PIN
+ #define SD_DETECT_PIN 38
+ #endif
+
+ #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+ #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
+ #endif
+
+#endif
+
+//
+// LCD Display input pins
+//
+#if IS_NEWPANEL
+ #define BTN_EN1 40
+ #define BTN_EN2 42
+ #define BTN_ENC 43
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RIGIDBOARD.h b/Marlin/src/pins/ramps/pins_RIGIDBOARD.h
new file mode 100644
index 0000000..345c51d
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RIGIDBOARD.h
@@ -0,0 +1,135 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * RIGIDBOARD Arduino Mega with RAMPS v1.4 pin assignments
+ */
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "RigidBoard"
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 19 // Z-MAX pin J14 End Stops
+#endif
+
+//
+// MOSFET changes
+//
+#define RAMPS_D9_PIN 8 // FAN (by default)
+#define RAMPS_D10_PIN 9 // EXTRUDER 1
+#define MOSFET_D_PIN 12 // EXTRUDER 2 or FAN
+
+#include "pins_RAMPS.h"
+
+//
+// Steppers
+//
+// RigidBot swaps E0 / E1 plugs vs RAMPS 1.3
+#undef E0_STEP_PIN
+#undef E0_DIR_PIN
+#undef E0_ENABLE_PIN
+#define E0_STEP_PIN 36
+#define E0_DIR_PIN 34
+#define E0_ENABLE_PIN 30
+
+#undef E1_STEP_PIN
+#undef E1_DIR_PIN
+#undef E1_ENABLE_PIN
+#define E1_STEP_PIN 26
+#define E1_DIR_PIN 28
+#define E1_ENABLE_PIN 24
+
+#define STEPPER_RESET_PIN 41 // Stepper drivers have a reset on RigidBot
+
+//
+// Temperature Sensors
+//
+#undef TEMP_0_PIN
+#undef TEMP_1_PIN
+#undef TEMP_BED_PIN
+#define TEMP_0_PIN 14 // Analog Input
+#define TEMP_1_PIN 13 // Analog Input
+#define TEMP_BED_PIN 15 // Analog Input
+
+// SPI for Max6675 or Max31855 Thermocouple
+#undef MAX6675_SS_PIN
+#if DISABLED(SDSUPPORT)
+ #define MAX6675_SS_PIN 53 // Don't use pin 53 if there is even the remote possibility of using Display/SD card
+#else
+ #define MAX6675_SS_PIN 49 // Don't 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
+
+//
+// Heaters / Fans
+//
+#undef HEATER_BED_PIN
+#define HEATER_BED_PIN 10
+
+#ifndef FAN_PIN
+ #define FAN_PIN 8 // Same as RAMPS_13_EEF
+#endif
+
+//
+// Misc. Functions
+//
+#undef PS_ON_PIN
+
+//
+// LCD / Controller
+//
+// LCD Panel options for the RigidBoard
+#if ENABLED(RIGIDBOT_PANEL)
+
+ #undef BEEPER_PIN
+ #define BEEPER_PIN -1
+
+ // Direction buttons
+ #define BTN_UP 37
+ #define BTN_DWN 35
+ #define BTN_LFT 33
+ #define BTN_RT 32
+
+ // 'R' button
+ #undef BTN_ENC
+ #define BTN_ENC 31
+
+ // Disable encoder
+ #undef BTN_EN1
+ #undef BTN_EN2
+
+ #undef SD_DETECT_PIN
+ #define SD_DETECT_PIN 22
+
+#elif IS_RRD_SC
+
+ #undef SD_DETECT_PIN
+ #define SD_DETECT_PIN 22
+
+ #undef KILL_PIN
+ #define KILL_PIN 32
+
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h b/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h
new file mode 100644
index 0000000..1428de3
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h
@@ -0,0 +1,52 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * RIGIDBOARD V2 Arduino Mega with RAMPS v1.4 pin assignments
+ */
+
+#define BOARD_INFO_NAME "RigidBoard V2"
+
+#include "pins_RIGIDBOARD.h"
+
+//
+// Steppers
+//
+
+// I2C based DAC like on the Printrboard REVF
+#define HAS_MOTOR_CURRENT_DAC
+
+// Channels available for DAC, For Rigidboard there are 4
+#define DAC_STEPPER_ORDER { 0, 1, 2, 3 }
+
+#define DAC_STEPPER_SENSE 0.05 // sense resistors on rigidboard stepper chips are .05 value
+#define DAC_STEPPER_ADDRESS 0
+#define DAC_STEPPER_MAX 4096 // was 5000 but max allowable value is actually 4096
+#define DAC_STEPPER_VREF 1 // internal Vref, gain 2x = 4.096V
+#define DAC_STEPPER_GAIN 1 // value of 1 here sets gain of 2
+#define DAC_DISABLE_PIN 42 // set low to enable DAC
+#define DAC_OR_ADDRESS 0x01
+
+#ifndef DAC_MOTOR_CURRENT_DEFAULT
+ #define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RL200.h b/Marlin/src/pins/ramps/pins_RL200.h
new file mode 100644
index 0000000..047ad16
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RL200.h
@@ -0,0 +1,52 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Rapide Lite 200 v1 (RUMBA clone) pin assignments. Has slightly different assignment for
+ * extruder motors due to dual Z motors. Pinout therefore based on pins_RUMBA.h.
+ */
+
+#define BOARD_INFO_NAME "RL200"
+#define DEFAULT_MACHINE_NAME "Rapide Lite 200"
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "RL200v1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#elif NUM_Z_STEPPER_DRIVERS != 2
+ #error "RL200 uses dual Z stepper motors. Set NUM_Z_STEPPER_DRIVERS to 2 or comment out this line to continue."
+#elif !(AXIS_DRIVER_TYPE_X(DRV8825) && AXIS_DRIVER_TYPE_Y(DRV8825) && AXIS_DRIVER_TYPE_Z(DRV8825) && AXIS_DRIVER_TYPE_Z2(DRV8825) && AXIS_DRIVER_TYPE_E0(DRV8825))
+ #error "You must set ([XYZ]|Z2|E0)_DRIVER_TYPE to DRV8825 in Configuration.h for RL200."
+#endif
+
+#define E0_STEP_PIN 26 // (RUMBA E1 pins)
+#define E0_DIR_PIN 25
+#define E0_ENABLE_PIN 27
+
+#define E1_STEP_PIN 29 // (RUMBA E2 pins)
+#define E1_DIR_PIN 28
+#define E1_ENABLE_PIN 39
+
+#define Z2_STEP_PIN 23 // (RUMBA E0 pins)
+#define Z2_DIR_PIN 22
+#define Z2_ENABLE_PIN 24
+
+#include "pins_RUMBA.h"
diff --git a/Marlin/src/pins/ramps/pins_RUMBA.h b/Marlin/src/pins/ramps/pins_RUMBA.h
new file mode 100644
index 0000000..4af49d9
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RUMBA.h
@@ -0,0 +1,234 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * RUMBA pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 3 || E_STEPPERS > 3
+ #error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Rumba"
+#endif
+#ifndef DEFAULT_MACHINE_NAME
+ #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+#endif
+
+//
+// Servos
+//
+#define SERVO0_PIN 5
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 37
+#define X_MAX_PIN 36
+#define Y_MIN_PIN 35
+#define Y_MAX_PIN 34
+#define Z_MIN_PIN 33
+#define Z_MAX_PIN 32
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 17
+#define X_DIR_PIN 16
+#define X_ENABLE_PIN 48
+
+#define Y_STEP_PIN 54
+#define Y_DIR_PIN 47
+#define Y_ENABLE_PIN 55
+
+#define Z_STEP_PIN 57
+#define Z_DIR_PIN 56
+#define Z_ENABLE_PIN 62
+
+#ifndef E0_STEP_PIN
+ #define E0_STEP_PIN 23
+ #define E0_DIR_PIN 22
+ #define E0_ENABLE_PIN 24
+#endif
+
+#ifndef E1_STEP_PIN
+ #define E1_STEP_PIN 26
+ #define E1_DIR_PIN 25
+ #define E1_ENABLE_PIN 27
+#endif
+
+#if E1_STEP_PIN != 29
+ #define E2_STEP_PIN 29
+ #define E2_DIR_PIN 28
+ #define E2_ENABLE_PIN 39
+#endif
+
+//
+// Temperature Sensors
+//
+#ifndef TEMP_0_PIN
+ #if TEMP_SENSOR_0 == -1
+ #define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
+ #else
+ #define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
+ #endif
+#endif
+
+#ifndef TEMP_1_PIN
+ #if TEMP_SENSOR_1 == -1
+ #define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
+ #else
+ #define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
+ #endif
+#endif
+
+#if TEMP_SENSOR_2 == -1
+ #define TEMP_2_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_BED is defined as thermocouple)
+#else
+ #define TEMP_2_PIN 13 // Analog Input (default connector for thermistor *T2* on rumba board is used)
+#endif
+
+// Optional for extruder 4 or chamber:
+//#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
+
+#ifndef TEMP_CHAMBER_PIN
+ //#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
+#endif
+
+#if TEMP_SENSOR_BED == -1
+ #define TEMP_BED_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple)
+#else
+ #define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 2
+#define HEATER_1_PIN 3
+#define HEATER_2_PIN 6
+#define HEATER_3_PIN 8
+#define HEATER_BED_PIN 9
+
+#ifndef FAN_PIN
+ #define FAN_PIN 7
+#endif
+#ifndef FAN1_PIN
+ #define FAN1_PIN 8
+#endif
+
+//
+// Misc. Functions
+//
+#define LED_PIN 13
+#define PS_ON_PIN 45
+#define KILL_PIN 46
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 45
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#ifndef SPINDLE_LASER_PWM_PIN
+ #define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM. Pin 4 interrupts OC0* and OC1* always in use?
+#endif
+#ifndef SPINDLE_LASER_ENA_PIN
+ #define SPINDLE_LASER_ENA_PIN 14 // Pullup!
+#endif
+#ifndef SPINDLE_DIR_PIN
+ #define SPINDLE_DIR_PIN 15
+#endif
+
+//
+// LCD / Controller
+//
+#if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
+ #define LCD_PINS_DC 38 // Set as output on init
+ #define LCD_PINS_RS 41 // Pull low for 1s to init
+ // DOGM SPI LCD Support
+ #define DOGLCD_CS 19
+ #define DOGLCD_MOSI 42
+ #define DOGLCD_SCK 18
+ #define DOGLCD_A0 LCD_PINS_DC
+#elif ENABLED(FYSETC_MINI_12864)
+ #define DOGLCD_CS 42
+ #define DOGLCD_A0 19
+ #define DOGLCD_MOSI 51
+ #define DOGLCD_SCK 52
+
+ //#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
+ // results in LCD soft SPI mode 3, SD soft SPI mode 0
+
+ #define LCD_RESET_PIN 18 // Must be high or open for LCD to operate normally.
+
+ #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
+ #ifndef RGB_LED_R_PIN
+ #define RGB_LED_R_PIN 41
+ #endif
+ #ifndef RGB_LED_G_PIN
+ #define RGB_LED_G_PIN 38
+ #endif
+ #ifndef RGB_LED_B_PIN
+ #define RGB_LED_B_PIN 40
+ #endif
+ #elif ENABLED(FYSETC_MINI_12864_2_1)
+ #define NEOPIXEL_PIN 25
+ #endif
+
+#else
+ #define LCD_PINS_RS 19
+ #define LCD_PINS_ENABLE 42
+ #define LCD_PINS_D4 18
+ #define LCD_PINS_D5 38
+ #define LCD_PINS_D6 41
+#endif
+
+#define LCD_PINS_D7 40
+
+//
+// Beeper, SD Card, Encoder
+//
+#define BEEPER_PIN 44
+
+#if ENABLED(SDSUPPORT)
+ #define SDSS 53
+ #define SD_DETECT_PIN 49
+#endif
+
+#if IS_NEWPANEL
+ #define BTN_EN1 11
+ #define BTN_EN2 12
+ #define BTN_ENC 43
+#endif
diff --git a/Marlin/src/pins/ramps/pins_RUMBA_RAISE3D.h b/Marlin/src/pins/ramps/pins_RUMBA_RAISE3D.h
new file mode 100644
index 0000000..3994261
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RUMBA_RAISE3D.h
@@ -0,0 +1,31 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#define BOARD_INFO_NAME "Raise3D Rumba"
+#define DEFAULT_MACHINE_NAME "Raise3D N Series"
+
+// Raise3D uses thermocouples on the standard input pins
+#define TEMP_0_PIN 15 // Analog Input
+#define TEMP_1_PIN 14 // Analog Input
+
+#include "pins_RUMBA.h"
diff --git a/Marlin/src/pins/ramps/pins_SAINSMART_2IN1.h b/Marlin/src/pins/ramps/pins_SAINSMART_2IN1.h
new file mode 100644
index 0000000..e15fc94
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_SAINSMART_2IN1.h
@@ -0,0 +1,42 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Sainsmart 2-in-1 pin assignments
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "Sainsmart 2-in-1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Sainsmart"
+
+//
+// Heaters / Fans
+//
+#define RAMPS_D10_PIN 9 // E
+#define RAMPS_D9_PIN 7 // F PART FAN in front of board next to Extruder heat
+ // RAMPS_D8_PIN 8 // B
+#define MOSFET_D_PIN 10 // F / E
+
+#include "pins_RAMPS.h"
diff --git a/Marlin/src/pins/ramps/pins_TANGO.h b/Marlin/src/pins/ramps/pins_TANGO.h
new file mode 100644
index 0000000..451d2f8
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TANGO.h
@@ -0,0 +1,53 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * BIQU Tango pin assignments
+ */
+
+#define BOARD_INFO_NAME "Tango"
+
+#define FAN_PIN 8
+#define FAN1_PIN -1
+
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN 7
+#endif
+
+#ifndef TEMP_0_PIN
+ #if TEMP_SENSOR_0 == -1
+ #define TEMP_0_PIN 10 // Analog Input (connector *K1* on Tango thermocouple ADD ON is used)
+ #else
+ #define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
+ #endif
+#endif
+
+#ifndef TEMP_1_PIN
+ #if TEMP_SENSOR_1 == -1
+ #define TEMP_1_PIN 9 // Analog Input (connector *K2* on Tango thermocouple ADD ON is used)
+ #else
+ #define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
+ #endif
+#endif
+
+#include "pins_RUMBA.h"
diff --git a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
new file mode 100644
index 0000000..84e7e31
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
@@ -0,0 +1,185 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Tenlog pin assignments
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 2 || E_STEPPERS > 2
+ #error "Tenlog supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "Tenlog D3 Hero"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+//
+// Servos
+//
+#define SERVO0_PIN 11
+#define SERVO1_PIN 6
+#define SERVO2_PIN -1 // Original pin 5 used for hotend fans
+#define SERVO3_PIN 4
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#define X_MAX_PIN 2
+#define Y_MIN_PIN 14
+//#define Y_MAX_PIN 15 // Connected to "DJ" plug on extruder heads
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 15 // Ramps is normally 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+//#ifndef X_CS_PIN
+ //#define X_CS_PIN 53
+//#endif
+
+#define X2_STEP_PIN 36
+#define X2_DIR_PIN 34
+#define X2_ENABLE_PIN 30
+//#ifndef X2_CS_PIN
+ //#define X2_CS_PIN 53
+//#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+//#ifndef Y_CS_PIN
+ //#define Y_CS_PIN 49
+//#endif
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+//#ifndef Z_CS_PIN
+ //#define Z_CS_PIN 40
+//#endif
+
+#define Z2_STEP_PIN 65
+#define Z2_DIR_PIN 66
+#define Z2_ENABLE_PIN 64
+//#ifndef Z2_CS_PIN
+ //#define Z2_CS_PIN 40
+//#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+//#ifndef E0_CS_PIN
+ //define E0_CS_PIN 42
+//#endif
+
+#define E1_STEP_PIN 57
+#define E1_DIR_PIN 58
+#define E1_ENABLE_PIN 59
+//#ifndef E1_CS_PIN
+ //define E1_CS_PIN 44
+//#endif
+
+//#define E2_STEP_PIN 42
+//#define E2_DIR_PIN 43
+//#define E2_ENABLE_PIN 44
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13 // Analog Input
+#define TEMP_1_PIN 15 // Analog Input
+#define TEMP_BED_PIN 14 // Analog Input
+
+// SPI for Max6675 or Max31855 Thermocouple
+#if DISABLED(SDSUPPORT)
+ #define MAX6675_SS_PIN -1 // Don't use 53 if using Display/SD card
+#else
+ #define MAX6675_SS_PIN -1 // Don't use 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define HEATER_1_PIN 11
+#define HEATER_BED_PIN 8
+
+#define FAN_PIN 9
+#define FAN1_PIN 5 // Normall this would be a servo pin
+
+// XXX Runout support unknown?
+//#define NUM_RUNOUT_SENSORS 0
+//#define FIL_RUNOUT_PIN 22
+//#define FIL_RUNOUT2_PIN 21
+
+//
+// Misc. Functions
+//
+//#define CASE_LIGHT_PIN 5
+#define SDSS 53
+//#ifndef LED_PIN
+ //#define LED_PIN 13
+//#endif
+
+//#define SPINDLE_LASER_PWM_PIN -1 // Hardware PWM
+//#define SPINDLE_LASER_ENA_PIN 4 // Pullup!
+
+// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
+//#define FILWIDTH_PIN 5 // Analog Input
+
+//
+// LCD / Controller
+//
+
+//#if IS_RRD_SC
+
+#define LCD_PINS_RS -1
+#define LCD_PINS_ENABLE -1
+#define LCD_PINS_D4 -1
+#define LCD_PINS_D5 -1
+#define LCD_PINS_D6 -1
+#define LCD_PINS_D7 -1
+//#define BTN_EN1 31
+//#define BTN_EN2 33
+//#define BTN_ENC 35
+#define SD_DETECT_PIN 49
+//#ifndef KILL_PIN
+ //#define KILL_PIN 41
+//#endif
+//#ifndef BEEPER_PIN
+#define BEEPER_PIN -1
+//#endif
+
+//#endif // IS_RRD_SC
diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_13.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_13.h
new file mode 100644
index 0000000..9508be0
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_13.h
@@ -0,0 +1,43 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.3 for Anycubic
+ */
+
+#define BOARD_INFO_NAME "Anycubic RAMPS 1.3"
+
+#define IS_RAMPS_EFB
+#define RAMPS_D9_PIN 44
+#define FAN2_PIN 9
+
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN 9
+#endif
+
+#include "pins_RAMPS_13.h"
+
+#undef E1_STEP_PIN
+#undef E1_DIR_PIN
+#undef E1_ENABLE_PIN
+#undef E1_CS_PIN
diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h
new file mode 100644
index 0000000..54d91ce
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h
@@ -0,0 +1,157 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.4 for Anycubic
+ */
+
+#define BOARD_INFO_NAME "Anycubic RAMPS 1.4"
+
+// Board labeled pins:
+
+#define TG_HEATER_BED_PIN 8
+#define TG_HEATER_0_PIN 10
+#define TG_HEATER_1_PIN 45 // Anycubic Kossel: Unused
+
+#define TG_FAN0_PIN 9 // Anycubic Kossel: Usually the part cooling fan
+#define TG_FAN1_PIN 7 // Anycubic Kossel: Unused
+#define TG_FAN2_PIN 44 // Anycubic Kossel: Hotend fan
+
+//
+// Servos
+//
+#if MB(TRIGORILLA_14_11)
+ #define SERVO0_PIN 5
+ #define SERVO1_PIN 4
+ #define SERVO2_PIN 11
+ #define SERVO3_PIN 6
+#endif
+
+// Remap MOSFET pins to common usages:
+
+#define RAMPS_D10_PIN TG_HEATER_0_PIN // HEATER_0_PIN is always RAMPS_D10_PIN in pins_RAMPS.h
+
+#if HAS_MULTI_HOTEND // EEF and EEB
+ #define RAMPS_D9_PIN TG_HEATER_1_PIN
+ #if !TEMP_SENSOR_BED
+ // EEF
+ #define RAMPS_D8_PIN TG_FAN0_PIN
+ #else
+ // EEB
+ #define RAMPS_D8_PIN TG_HEATER_BED_PIN
+ #define FAN_PIN TG_FAN0_PIN // Override pin 4 in pins_RAMPS.h
+ #endif
+#elif TEMP_SENSOR_BED
+ // EFB (Anycubic Kossel default)
+ #define RAMPS_D9_PIN TG_FAN0_PIN
+ #if ENABLED(ANYCUBIC_LCD_CHIRON)
+ #define RAMPS_D8_PIN TG_HEATER_1_PIN // Heated bed is connected to HEATER1 output
+ #else
+ #define RAMPS_D8_PIN TG_HEATER_BED_PIN
+ #endif
+#else
+ // EFF
+ #define RAMPS_D9_PIN TG_FAN1_PIN
+ #define RAMPS_D8_PIN TG_FAN0_PIN
+#endif
+
+#if HAS_MULTI_HOTEND || TEMP_SENSOR_BED // EEF, EEB, EFB
+ #define FAN1_PIN TG_FAN1_PIN
+#endif
+#define FAN2_PIN TG_FAN2_PIN
+
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN TG_FAN2_PIN // Used in Anycubic Kossel example config
+#endif
+
+#if ENABLED(ANYCUBIC_LCD_I3MEGA)
+ #define CONTROLLER_FAN_PIN TG_FAN1_PIN
+#endif
+
+//
+// AnyCubic standard pin mappings
+//
+// On most printers, endstops are NOT all wired to the appropriate pins on the Trigorilla board.
+// For instance, on a Chiron, Y axis goes to an aux connector.
+// There are also other things that have been wired in creative ways.
+// To enable PIN definitions for a specific printer model, #define the appropriate symbol after
+// MOTHERBOARD in Configuration.h
+
+//
+// Limit Switches
+//
+//#define ANYCUBIC_4_MAX_PRO_ENDSTOPS
+
+#if ENABLED(ANYCUBIC_4_MAX_PRO_ENDSTOPS)
+ #define X_MAX_PIN 43
+ #define Y_STOP_PIN 19
+#elif EITHER(ANYCUBIC_LCD_CHIRON, ANYCUBIC_LCD_I3MEGA)
+ #define Y_STOP_PIN 42
+ #define Z2_MIN_PIN 43
+ #ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 2
+ #endif
+ #ifndef FIL_RUNOUT_PIN
+ #if ENABLED(ANYCUBIC_LCD_CHIRON)
+ #define FIL_RUNOUT_PIN 33
+ #else
+ #define FIL_RUNOUT_PIN 19
+ #endif
+ #endif
+ #define BEEPER_PIN 31
+ #define SD_DETECT_PIN 49
+#endif
+
+#include "pins_RAMPS.h"
+
+//
+// AnyCubic made the following changes to 1.1.0-RC8
+// If these are appropriate for your LCD let us know.
+//
+#if 0 && HAS_WIRED_LCD
+
+ // LCD Display output pins
+ #if BOTH(IS_NEWPANEL, PANEL_ONE)
+ #undef LCD_PINS_D6
+ #define LCD_PINS_D6 57
+ #endif
+
+ // LCD Display input pins
+ #if IS_NEWPANEL
+ #if ANY(VIKI2, miniVIKI)
+ #undef DOGLCD_A0
+ #define DOGLCD_A0 23
+ #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
+ #undef BEEPER_PIN
+ #define BEEPER_PIN 33
+ #undef LCD_BACKLIGHT_PIN
+ #define LCD_BACKLIGHT_PIN 67
+ #endif
+ #elif ENABLED(MINIPANEL)
+ #undef BEEPER_PIN
+ #define BEEPER_PIN 33
+ #undef DOGLCD_A0
+ #define DOGLCD_A0 42
+ #endif
+
+#endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h b/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h
new file mode 100644
index 0000000..f342eff
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h
@@ -0,0 +1,279 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega for Tronxy X5S-2E, etc.
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 2 || E_STEPPERS > 2
+ #error "TRONXY-V3-1.0 supports only 2 hotends/E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "TRONXY-V3-1.0"
+
+//
+// Servos
+//
+#define SERVO1_PIN 12 // 2560 PIN 25/PB6
+
+//
+// Import RAMPS 1.4 pins
+//
+#include "pins_RAMPS.h"
+
+/**
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== AUX-1 connector =====
+ *
+ * 2 4 6 8
+ * #----------------#
+ * #2 | ° ° ° ° |
+ * #1 | ° ° ° ° |
+ * NOTCH #------ ------#
+ * 1 3 5 7
+ *
+ * ###################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ###################################
+ * # 1 | VCC | + #
+ * # 2 | VCC | + #
+ * # 3 | GND | - #
+ * # 4 | GND | - #
+ * # 5 | N/C | #
+ * # 6 | 3 / PE1 (TXD0) | D1 #
+ * # 7 | N/C | #
+ * # 8 | 2 / PE0 (RXD0) | D0 #
+ * ###################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== Limit Switch connectors =====
+ *
+ * ############## X+ #################
+ * X+ # Pin | ATMEGA2560 Pin | Arduino #
+ * 1 2 3 ###################################
+ * #- --- -# # 1 | 6 / PE4 (INT4) | D2 #
+ * | ° ° ° | # 2 | GND | - #
+ * #-------# # 3 | VCC | + #
+ * ###################################
+ *
+ * ############## X- #################
+ * X- # Pin | ATMEGA2560 Pin | Arduino #
+ * 1 2 3 ###################################
+ * #- --- -# # 1 | 7 / PE5 (INT5) | D3 #
+ * | ° ° ° | # 2 | GND | - #
+ * #-------# # 3 | VCC | + #
+ * ###################################
+ *
+ * ############## Y+ #################
+ * Y+ # Pin | ATMEGA2560 Pin | Arduino #
+ * 1 2 3 ###################################
+ * #- --- -# # 1 | 63/PJ0 (PCINT9) | D15 #
+ * | ° ° ° | # 2 | GND | - #
+ * #-------# # 3 | VCC | + #
+ * ###################################
+ *
+ * ############## Y- #################
+ * Y- # Pin | ATMEGA2560 Pin | Arduino #
+ * 1 2 3 ###################################
+ * #- --- -# # 1 | 64/PJ1 (PCINT10)| D14 #
+ * | ° ° ° | # 2 | GND | - #
+ * #-------# # 3 | VCC | + #
+ * ###################################
+ *
+ * ############## Z+ #################
+ * Z+ # Pin | ATMEGA2560 Pin | Arduino #
+ * 1 2 3 ###################################
+ * #- --- -# # 1 | 45 / PD2 (INT2) | D19 #
+ * | ° ° ° | # 2 | GND | - #
+ * #-------# # 3 | VCC | + #
+ * ###################################
+ *
+ * ############## Z- #################
+ * Z- # Pin | ATMEGA2560 Pin | Arduino #
+ * 1 2 3 ###################################
+ * #- --- -# # 1 | 46 / PD3 (INT3) | D18 #
+ * | ° ° ° | # 2 | GND | - #
+ * #-------# # 3 | VCC | + #
+ * ###################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== EXP1/EXP2 connectors =====
+ *
+ * (NOTE ORDER) EXP2 EXP1
+ * 2 4 6 8 10 2 4 6 8 10
+ * #-------------------# #-------------------#
+ * #2 | ° ° ° ° ° | #2 | ° ° ° ° ° |
+ * #1 | ° ° ° ° ° | #1 | ° ° ° ° ° |
+ * NOTCH #-------- -------# NOTCH #-------- -------#
+ * 1 3 5 7 9 1 3 5 7 9
+ *
+ * ############# EXP1 ################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ###################################
+ * # 1 | 53 / PC0 | D37 #
+ * # 2 | 55 / PC2 | D35 #
+ * # 3 | 12 / PH0 (RXD2) | D17 #
+ * # 4 | 13 / PH1 (TXD2) | D16 #
+ * # 5 | 77 / PA1 | D23 #
+ * # 6 | 75 / PA3 | D25 #
+ * # 7 | 73 / PA5 | D27 #
+ * # 8 | 71 / PA7 | D29 #
+ * # 9 | GND | - #
+ * # 10 | VCC | + #
+ * ###################################
+ *
+ * ############# EXP2 ################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ###################################
+ * # 1 | 22 / PB3 (MISO) | D50 #
+ * # 2 | 20 / PB1 (SCK) | D52 #
+ * # 3 | 59 / PC6 | D31 #
+ * # 4 | N/C | #
+ * # 5 | 57 / PC4 | D33 #
+ * # 6 | 21 / PB2 (MOSI) | D51 #
+ * # 7 | N/C | #
+ * # 8 | 30 / !RESET | RESET #
+ * # 9 | GND | - #
+ * # 10 | 51 / PG0 | D41 #
+ * ###################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== ICSP connector =====
+ *
+ * 2 4 6
+ * #---------#
+ * | ° ° ° |
+ * | ° ° ° |
+ * #---------#
+ * 1 3 5
+ *
+ * ##################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ##################################
+ * # 1 | 22 / PB3 (MISO)| 50 #
+ * # 2 | VCC | + #
+ * # 3 | 20 / PB1 (SCK) | 52 #
+ * # 4 | 21 / PB2 (MOSI)| 51 #
+ * # 5 | 30 / !RESET | RESET #
+ * # 6 | GND | - #
+ * ##################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== SERVOS connector =====
+ *
+ * 2 4 6
+ * #---------#
+ * | ° ° ° |
+ * | ° ° ° |
+ * #---------#
+ * 1 3 5
+ *
+ * ##################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ##################################
+ * # 1 | 25 / PB6 (OC1B)| D12 #
+ * # 2 | 24 / PB5 (OC1A)| D11 #
+ * # 3 | GND | - #
+ * # 4 | GND | - #
+ * # 5 | VCC | + #
+ * # 6 | VCC | + #
+ * ##################################
+ *
+ * NOTE: Pins 1 and 2 are the ones closest to the "L" and "PWR" LEDs.
+ *
+ * NOTE: Check servo wiring before connecting, for example:
+ * + Airtronics (non-Z) use: Red = +; Black = -; Black & White, White or Orange = signal.
+ * + Airtronics-Z use: Red = +; Black = -; Blue = signal.
+ * + Futaba use: Red = +; Black = -; White = signal.
+ * + Hitec use: Red = +; Black = -; Yellow = signal.
+ * + JR use: Red = +; Brown = -; Orange = signal.
+ *
+ * NOTE: Test your servo limits:
+ * Due to effects of component tolerances and/or age, the usable range of S-values for individual servos may be less than the settable 0-255 range. For example:
+ * 1. One servo may have a fully usable range of M280 P0 S0 through M280 P0 S255.
+ * 2. A different servo (of the same brand and model) may have a usable range of only M280 P0 S0 through M280 P0 S165 after which you experience binding.
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== Thermistor connectors =====
+ *
+ * (NOTE ORDER) TH2 TH1 TB
+ * 1 2 1 2 1 2
+ * #- -# #- -# #- -#
+ * | ° ° | | ° ° | | ° ° |
+ * #-----# #-----# #-----#
+ *
+ * ############## TB #################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ###################################
+ * # 1 | GND | - #
+ * # 2 | 83 / PK6 (ADC14)| A14 #
+ * ###################################
+ *
+ * ############## TH1 ################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ###################################
+ * # 1 | GND | - #
+ * # 2 | 84 / PK5 (ADC13)| A13 #
+ * ###################################
+ *
+ * ############## TH2 ################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ###################################
+ * # 1 | GND | - #
+ * # 2 | 82 / PK7 (ADC15)| A15 #
+ * ###################################
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ *
+ * ===== XS3 connector =====
+ *
+ * 2 4 6
+ * #---------#
+ * | ° ° ° |
+ * | ° ° ° |
+ * #---------#
+ * 1 3 5
+ *
+ * ##################################
+ * # Pin | ATMEGA2560 Pin | Arduino #
+ * ##################################
+ * # 1 | 85 / ADC12 | A12 #
+ * # 2 | 86 / ADC11 | A11 #
+ * # 3 | GND | - #
+ * # 4 | GND | - #
+ * # 5 | VCC | + #
+ * # 6 | VCC | + #
+ * ##################################
+ *
+ * NOTE: Pins 1 and 2 are the ones closest to the "L" and "PWR" LEDs.
+ *
+ * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ */
diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
new file mode 100644
index 0000000..ca40255
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
@@ -0,0 +1,519 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#if HOTENDS > 5 || E_STEPPERS > 5
+ #error "TTOSCAR supports up to 5 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "TT OSCAR"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+//
+// Servos
+//
+#define SERVO0_PIN 11
+#define SERVO1_PIN 12
+#define SERVO2_PIN 5
+#define SERVO3_PIN 4
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#define X_MAX_PIN 2
+#define Y_MIN_PIN 14
+#define Y_MAX_PIN 15
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN SERVO3_PIN
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#define X_CS_PIN 57
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#define Y_CS_PIN 58
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#define Z_CS_PIN 53
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#define E0_CS_PIN 49
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#define E1_CS_PIN E0_CS_PIN
+
+#define E2_STEP_PIN 63
+#define E2_DIR_PIN 22
+#define E2_ENABLE_PIN 59
+#define E2_CS_PIN E0_CS_PIN
+
+#define E3_STEP_PIN 32
+#define E3_DIR_PIN 40
+#define E3_ENABLE_PIN 39
+#define E3_CS_PIN E0_CS_PIN
+
+#define E4_STEP_PIN 43
+#define E4_DIR_PIN 42
+#define E4_ENABLE_PIN 47
+#define E4_CS_PIN E0_CS_PIN
+
+#if HAS_TMC_UART
+ /**
+ * TMC2208/TMC2209 stepper drivers
+ *
+ * Hardware serial communication ports.
+ * If undefined software serial is used according to the pins below
+ */
+ //#define X_HARDWARE_SERIAL Serial1
+ //#define X2_HARDWARE_SERIAL Serial1
+ //#define Y_HARDWARE_SERIAL Serial1
+ //#define Y2_HARDWARE_SERIAL Serial1
+ //#define Z_HARDWARE_SERIAL Serial1
+ //#define Z2_HARDWARE_SERIAL Serial1
+ //#define E0_HARDWARE_SERIAL Serial1
+ //#define E1_HARDWARE_SERIAL Serial1
+ //#define E2_HARDWARE_SERIAL Serial1
+ //#define E3_HARDWARE_SERIAL Serial1
+ //#define E3_HARDWARE_SERIAL Serial1
+
+ //
+ // Software serial
+ //
+
+ #define X_SERIAL_TX_PIN -1 // 59
+ #define X_SERIAL_RX_PIN -1 // 63
+ #define X2_SERIAL_TX_PIN -1
+ #define X2_SERIAL_RX_PIN -1
+
+ #define Y_SERIAL_TX_PIN -1 // 64
+ #define Y_SERIAL_RX_PIN -1 // 40
+ #define Y2_SERIAL_TX_PIN -1
+ #define Y2_SERIAL_RX_PIN -1
+
+ #define Z_SERIAL_TX_PIN -1 // 44
+ #define Z_SERIAL_RX_PIN -1 // 42
+ #define Z2_SERIAL_TX_PIN -1
+ #define Z2_SERIAL_RX_PIN -1
+
+ #define E0_SERIAL_TX_PIN -1 // 66
+ #define E0_SERIAL_RX_PIN -1 // 65
+ #define E1_SERIAL_TX_PIN -1
+ #define E1_SERIAL_RX_PIN -1
+ #define E2_SERIAL_TX_PIN -1
+ #define E2_SERIAL_RX_PIN -1
+ #define E3_SERIAL_TX_PIN -1
+ #define E3_SERIAL_RX_PIN -1
+ #define E4_SERIAL_TX_PIN -1
+ #define E4_SERIAL_RX_PIN -1
+ #define E5_SERIAL_RX_PIN -1
+ #define E6_SERIAL_RX_PIN -1
+ #define E7_SERIAL_RX_PIN -1
+#endif
+
+//
+// Default pins for TMC software SPI
+//
+//#if ENABLED(TMC_USE_SW_SPI)
+// #ifndef TMC_SW_MOSI
+// #define TMC_SW_MOSI 66
+// #endif
+// #ifndef TMC_SW_MISO
+// #define TMC_SW_MISO 44
+// #endif
+// #ifndef TMC_SW_SCK
+// #define TMC_SW_SCK 64
+// #endif
+//#endif
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13
+#define TEMP_1_PIN 15
+#define TEMP_2_PIN 10
+#define TEMP_3_PIN 11
+#define TEMP_BED_PIN 14
+
+#if TEMP_SENSOR_CHAMBER > 0
+ #define TEMP_CHAMBER_PIN 12
+#else
+ #define TEMP_4_PIN 12
+#endif
+
+// SPI for Max6675 or Max31855 Thermocouple
+//#if DISABLED(SDSUPPORT)
+// #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
+//#else
+// #define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
+//#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define HEATER_1_PIN 7
+#define HEATER_2_PIN 44
+#define HEATER_BED_PIN 8
+
+#define FAN_PIN 9
+
+#if EXTRUDERS >= 5
+ #define HEATER_4_PIN 6
+#else
+ #define FAN1_PIN 6
+#endif
+
+#if EXTRUDERS >= 4
+ #define HEATER_3_PIN 45
+#else
+ #define FAN2_PIN 45
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+
+//#ifndef FILWIDTH_PIN
+// #define FILWIDTH_PIN 5 // Analog Input
+//#endif
+
+// DIO 4 (Servos plug) for the runout sensor.
+//#define FIL_RUNOUT_PIN SERVO3_PIN
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12
+#endif
+
+//
+// Case Light
+//
+#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) && !defined(SPINDLE_LASER_ENABLE_PIN)
+ #if !NUM_SERVOS // Prefer the servo connector
+ #define CASE_LIGHT_PIN 6 // Hardware PWM
+ #elif HAS_FREE_AUX2_PINS // Try to use AUX 2
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+ #endif
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENABLE)
+ #if !NUM_SERVOS // Prefer the servo connector
+ #define SPINDLE_LASER_ENABLE_PIN 4 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
+ #define SPINDLE_DIR_PIN 5
+ #elif HAS_FREE_AUX2_PINS // Try to use AUX 2
+ #define SPINDLE_LASER_ENABLE_PIN 40 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+ #define SPINDLE_DIR_PIN 65
+ #endif
+#endif
+
+//
+// Průša i3 MK2 Multiplexer Support
+//
+//#ifndef E_MUX0_PIN
+// #define E_MUX0_PIN 58 // Y_CS_PIN
+//#endif
+//#ifndef E_MUX1_PIN
+// #define E_MUX1_PIN 53 // Z_CS_PIN
+//#endif
+//#ifndef E_MUX2_PIN
+// #define E_MUX2_PIN 49 // En_CS_PIN
+//#endif
+
+//////////////////////////
+// LCDs and Controllers //
+//////////////////////////
+
+#if HAS_WIRED_LCD
+
+ //
+ // LCD Display output pins
+ //
+ #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
+
+ #define LCD_PINS_RS 49 // CS chip select /SS chip slave select
+ #define LCD_PINS_ENABLE 51 // SID (MOSI)
+ #define LCD_PINS_D4 52 // SCK (CLK) clock
+
+ #elif BOTH(IS_NEWPANEL, PANEL_ONE)
+
+ #define LCD_PINS_RS 40
+ #define LCD_PINS_ENABLE 42
+ #define LCD_PINS_D4 65
+ #define LCD_PINS_D5 66
+ #define LCD_PINS_D6 44
+ #define LCD_PINS_D7 64
+
+ #elif ENABLED(ZONESTAR_LCD)
+
+ #define LCD_PINS_RS 64
+ #define LCD_PINS_ENABLE 44
+ #define LCD_PINS_D4 63
+ #define LCD_PINS_D5 40
+ #define LCD_PINS_D6 42
+ #define LCD_PINS_D7 65
+ #define ADC_KEYPAD_PIN 12
+
+ #else
+
+ #if ENABLED(CR10_STOCKDISPLAY)
+
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 25
+
+ #if !IS_NEWPANEL
+ #define BEEPER_PIN 37
+ #endif
+
+ #else
+
+ #if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
+ #define LCD_PINS_DC 25 // Set as output on init
+ #define LCD_PINS_RS 27 // Pull low for 1s to init
+ // DOGM SPI LCD Support
+ #define DOGLCD_CS 16
+ #define DOGLCD_MOSI 17
+ #define DOGLCD_SCK 23
+ #define DOGLCD_A0 LCD_PINS_DC
+ #else
+ #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
+ #endif
+
+ #define LCD_PINS_D7 29
+
+ #if !IS_NEWPANEL
+ #define BEEPER_PIN 33
+ #endif
+
+ #endif
+
+ #if !IS_NEWPANEL
+ // Buttons attached to a shift register
+ // Not wired yet
+ //#define SHIFT_CLK_PIN 38
+ //#define SHIFT_LD_PIN 42
+ //#define SHIFT_OUT_PIN 40
+ //#define SHIFT_EN_PIN 17
+ #endif
+
+ #endif
+
+ #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+ #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
+ #endif
+
+ //
+ // LCD Display input pins
+ //
+ #if IS_NEWPANEL
+
+ #if IS_RRD_SC
+
+ #define BEEPER_PIN 37
+
+ #if ENABLED(CR10_STOCKDISPLAY)
+ #define BTN_EN1 17
+ #define BTN_EN2 23
+ #else
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #endif
+
+ #define BTN_ENC 35
+ #define SD_DETECT_PIN 49
+ //#define KILL_PIN 41
+
+ #if ENABLED(BQ_LCD_SMART_CONTROLLER)
+ #define LCD_BACKLIGHT_PIN 39
+ #endif
+
+ #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
+
+ #define BTN_EN1 64
+ #define BTN_EN2 59
+ #define BTN_ENC 63
+ #define SD_DETECT_PIN 42
+
+ #elif ENABLED(LCD_I2C_PANELOLU2)
+
+ #define BTN_EN1 47
+ #define BTN_EN2 43
+ #define BTN_ENC 32
+ #define LCD_SDSS 53
+ //#define KILL_PIN 41
+
+ #elif ENABLED(LCD_I2C_VIKI)
+
+ #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42.
+ #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13.
+ #define BTN_ENC -1
+
+ #define LCD_SDSS 53
+ #define SD_DETECT_PIN 49
+
+ #elif EITHER(VIKI2, miniVIKI)
+
+ #define DOGLCD_CS 45
+ #define DOGLCD_A0 44
+ #define LCD_SCREEN_ROT_180
+
+ #define BEEPER_PIN 33
+ #define STAT_LED_RED_PIN 32
+ #define STAT_LED_BLUE_PIN 35
+
+ #define BTN_EN1 22
+ #define BTN_EN2 7
+ #define BTN_ENC 39
+
+ #define SDSS 53
+ #define SD_DETECT_PIN -1 // Pin 49 for display SD interface, 72 for easy adapter board
+ //#define KILL_PIN 31
+
+ #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
+
+ #define DOGLCD_CS 29
+ #define DOGLCD_A0 27
+
+ #define BEEPER_PIN 23
+ #define LCD_BACKLIGHT_PIN 33
+
+ #define BTN_EN1 35
+ #define BTN_EN2 37
+ #define BTN_ENC 31
+
+ #define LCD_SDSS 53
+ #define SD_DETECT_PIN 49
+ //#define KILL_PIN 41
+
+ #elif ENABLED(MKS_MINI_12864)
+
+ #define DOGLCD_A0 27
+ #define DOGLCD_CS 25
+
+ // GLCD features
+ //#define LCD_CONTRAST_INIT 190
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ #define BEEPER_PIN 37
+
+ #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
+
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #define BTN_ENC 35
+ //#define SDSS 53
+ #define SD_DETECT_PIN 49
+ //#define KILL_PIN 64
+
+ #elif ENABLED(MINIPANEL)
+
+ #define BEEPER_PIN 42
+ // not connected to a pin
+ #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
+
+ #define DOGLCD_A0 44
+ #define DOGLCD_CS 66
+
+ // GLCD features
+ //#define LCD_CONTRAST_INIT 190
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ #define BTN_EN1 40
+ #define BTN_EN2 63
+ #define BTN_ENC 59
+
+ #define SDSS 53
+ #define SD_DETECT_PIN 49
+ //#define KILL_PIN 64
+
+ #else
+
+ // Beeper on AUX-4
+ #define BEEPER_PIN 33
+
+ // Buttons are directly attached to AUX-2
+ #if IS_RRW_KEYPAD
+ #define SHIFT_OUT_PIN 40
+ #define SHIFT_CLK_PIN 44
+ #define SHIFT_LD_PIN 42
+ #define BTN_EN1 64
+ #define BTN_EN2 59
+ #define BTN_ENC 63
+ #elif ENABLED(PANEL_ONE)
+ #define BTN_EN1 59 // AUX2 PIN 3
+ #define BTN_EN2 63 // AUX2 PIN 4
+ #define BTN_ENC 49 // AUX3 PIN 7
+ #else
+ #define BTN_EN1 37
+ #define BTN_EN2 35
+ #define BTN_ENC 31
+ #endif
+
+ #if ENABLED(G3D_PANEL)
+ #define SD_DETECT_PIN 49
+ //#define KILL_PIN 41
+ #endif
+
+ #endif
+
+ #endif // IS_NEWPANEL
+
+#endif
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h b/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h
new file mode 100644
index 0000000..211cadd
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h
@@ -0,0 +1,142 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Ultiboard v2.0 pin assignments
+ */
+
+/**
+ * Rev B 2 JAN 2017
+ *
+ * Added pin definitions for:
+ * M3, M4 & M5 spindle control commands
+ * case light
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "Ultimaker 2.x"
+#define DEFAULT_MACHINE_NAME "Ultimaker"
+#define DEFAULT_SOURCE_CODE_URL "github.com/Ultimaker/Marlin"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 22
+#define Y_STOP_PIN 26
+#define Z_STOP_PIN 29
+
+//
+// Steppers
+//
+#define X_STEP_PIN 25
+#define X_DIR_PIN 23
+#define X_ENABLE_PIN 27
+
+#define Y_STEP_PIN 32
+#define Y_DIR_PIN 33
+#define Y_ENABLE_PIN 31
+
+#define Z_STEP_PIN 35
+#define Z_DIR_PIN 36
+#define Z_ENABLE_PIN 34
+
+#define E0_STEP_PIN 42
+#define E0_DIR_PIN 43
+#define E0_ENABLE_PIN 37
+
+#define E1_STEP_PIN 49
+#define E1_DIR_PIN 47
+#define E1_ENABLE_PIN 48
+
+#define MOTOR_CURRENT_PWM_XY_PIN 44
+#define MOTOR_CURRENT_PWM_Z_PIN 45
+#define MOTOR_CURRENT_PWM_E_PIN 46
+// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
+#ifndef MOTOR_CURRENT_PWM_RANGE
+ #define MOTOR_CURRENT_PWM_RANGE 2000
+#endif
+#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 8 // Analog Input
+#define TEMP_1_PIN 9 // Analog Input
+#define TEMP_BED_PIN 10 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 2
+#define HEATER_1_PIN 3
+#define HEATER_BED_PIN 4
+
+#ifndef FAN_PIN
+ #define FAN_PIN 7
+#endif
+
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN 77
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define SD_DETECT_PIN 39
+#define LED_PIN 8
+#define SAFETY_TRIGGERED_PIN 28 // PIN to detect the safety circuit has triggered
+#define MAIN_VOLTAGE_MEASURE_PIN 14 // ANALOG PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
+
+//
+// LCD / Controller
+//
+#define BEEPER_PIN 18
+
+#define LCD_PINS_RS 20
+#define LCD_PINS_ENABLE 15
+#define LCD_PINS_D4 14
+#define LCD_PINS_D5 21
+#define LCD_PINS_D6 5
+#define LCD_PINS_D7 6
+
+// Buttons are directly attached
+#define BTN_EN1 40
+#define BTN_EN2 41
+#define BTN_ENC 19
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER // use the LED_PIN for spindle speed control or case light
+ #undef LED_PIN
+ #define SPINDLE_DIR_PIN 16
+ #define SPINDLE_LASER_ENA_PIN 17 // Pullup!
+ #define SPINDLE_LASER_PWM_PIN 8 // Hardware PWM
+#else
+ #undef LED_PIN
+ #define CASE_LIGHT_PIN 8
+#endif
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER.h b/Marlin/src/pins/ramps/pins_ULTIMAKER.h
new file mode 100644
index 0000000..22c7fd9
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_ULTIMAKER.h
@@ -0,0 +1,168 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Ultimaker pin assignments
+ */
+
+/**
+ * Rev B 2 JAN 2017
+ *
+ * Added pin definitions for:
+ * M3, M4 & M5 spindle control commands
+ * case light
+ */
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "Ultimaker"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+#define DEFAULT_SOURCE_CODE_URL "github.com/Ultimaker/Marlin"
+
+//
+// Servos
+//
+#define SERVO0_PIN 11
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 22
+#define X_MAX_PIN 24
+#define Y_MIN_PIN 26
+#define Y_MAX_PIN 28
+#define Z_MIN_PIN 30
+#define Z_MAX_PIN 32
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 25
+#define X_DIR_PIN 23
+#define X_ENABLE_PIN 27
+
+#define Y_STEP_PIN 31
+#define Y_DIR_PIN 33
+#define Y_ENABLE_PIN 29
+
+#define Z_STEP_PIN 37
+#define Z_DIR_PIN 39
+#define Z_ENABLE_PIN 35
+
+#define E0_STEP_PIN 43
+#define E0_DIR_PIN 45
+#define E0_ENABLE_PIN 41
+
+#define E1_STEP_PIN 49
+#define E1_DIR_PIN 47
+#define E1_ENABLE_PIN 48
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 8 // Analog Input
+#define TEMP_1_PIN 9 // Analog Input
+#define TEMP_BED_PIN 10 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 2
+#define HEATER_1_PIN 3
+#define HEATER_BED_PIN 4
+
+#ifndef FAN_PIN
+ #define FAN_PIN 7
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+#define PS_ON_PIN 12
+#define SUICIDE_PIN 54 // PIN that has to be turned on right after start, to keep power flowing.
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 8
+#endif
+
+//
+// LCD / Controller
+//
+#if HAS_WIRED_LCD
+
+ #define BEEPER_PIN 18
+
+ #if IS_NEWPANEL
+
+ #define LCD_PINS_RS 20
+ #define LCD_PINS_ENABLE 17
+ #define LCD_PINS_D4 16
+ #define LCD_PINS_D5 21
+ #define LCD_PINS_D6 5
+ #define LCD_PINS_D7 6
+
+ // Buttons directly attached
+ #define BTN_EN1 40
+ #define BTN_EN2 42
+ #define BTN_ENC 19
+
+ #define SD_DETECT_PIN 38
+
+ #else // !IS_NEWPANEL - Old style panel with shift register
+
+ // Buttons attached to a shift register
+ #define SHIFT_CLK_PIN 38
+ #define SHIFT_LD_PIN 42
+ #define SHIFT_OUT_PIN 40
+ #define SHIFT_EN_PIN 17
+
+ #define LCD_PINS_RS 16
+ #define LCD_PINS_ENABLE 5
+ #define LCD_PINS_D4 6
+ #define LCD_PINS_D5 21
+ #define LCD_PINS_D6 20
+ #define LCD_PINS_D7 19
+
+ #define SD_DETECT_PIN -1
+
+ #endif // !IS_NEWPANEL
+
+#endif // HAS_WIRED_LCD
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
+#define SPINDLE_LASER_ENA_PIN 10 // Pullup!
+#define SPINDLE_DIR_PIN 11 // use the EXP3 PWM header
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
new file mode 100644
index 0000000..37c28ec
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
@@ -0,0 +1,274 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Ultimaker pin assignments (Old electronics)
+ */
+
+/**
+ * Rev B 3 JAN 2017
+ *
+ * Details on pin definitions for M3, M4 & M5 spindle control commands and for
+ * the CASE_LIGHT_PIN are at the end of this file.
+ *
+ * This started out as an attempt to add pin definitions for M3, M4 & M5 spindle
+ * control commands but quickly turned into a head scratcher as the sources for
+ * the revisions provided inconsistent information.
+ *
+ * As best I can determine:
+ * 1.5.3 boards should use the pins_ULTIMAKER.h file which means the BOARD_INFO_NAME
+ * define in this file should say 1.5.3 rather than 1.5.4
+ * This file is meant for 1.1 - 1.3 boards.
+ * The endstops for the 1.0 boards use different definitions than on the 1.1 - 1.3
+ * boards.
+ *
+ * I've added sections that have the 1.0 and 1.5.3 + endstop definitions so you can
+ * easily switch if needed. I've also copied over the 1.5.3 + LCD definitions.
+ *
+ * To be 100% sure of the board you have:
+ * 1. In Configuration_adv.h enable "PINS_DEBUGGING"
+ * 2. Compile & uploade
+ * 3. Enter the command "M43 W1 I1". This command will report that pin nmumber and
+ * name of any pin that changes state.
+ * 4. Using a 1k (approximately) resistor pull the endstops and some of the LCD pins
+ * to ground and see what is reported.
+ * 5. If the reported pin doesn't match the file then try a different board revision
+ * and repeat steps 2 - 5
+ */
+
+#define BOARD_REV_1_1_TO_1_3
+//#define BOARD_REV_1_0
+//#define BOARD_REV_1_5
+
+#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#endif
+
+#ifdef BOARD_REV_1_1_TO_1_3
+ #define BOARD_INFO_NAME "Ultimaker 1.1-1.3"
+#elif defined(BOARD_REV_1_0)
+ #define BOARD_INFO_NAME "Ultimaker 1.0"
+#elif defined(BOARD_REV_1_5)
+ #define BOARD_INFO_NAME "Ultimaker 1.5"
+#else
+ #define BOARD_INFO_NAME "Ultimaker 1.5.4+"
+#endif
+#define DEFAULT_MACHINE_NAME "Ultimaker"
+#define DEFAULT_SOURCE_CODE_URL "github.com/Ultimaker/Marlin"
+
+//
+// Limit Switches
+//
+#if ENABLED(BOARD_REV_1_1_TO_1_3)
+ #define X_MIN_PIN 15 // SW1
+ #define X_MAX_PIN 14 // SW2
+ #define Y_MIN_PIN 17 // SW3
+ #define Y_MAX_PIN 16 // SW4
+ #define Z_MIN_PIN 19 // SW5
+ #define Z_MAX_PIN 18 // SW6
+#endif
+
+#if ENABLED(BOARD_REV_1_0)
+ #if HAS_CUTTER
+ #define X_STOP_PIN 13 // SW1 (didn't change) - also has a useable hardware PWM
+ #define Y_STOP_PIN 12 // SW2
+ #define Z_STOP_PIN 11 // SW3
+ #else
+ #define X_MIN_PIN 13 // SW1
+ #define X_MAX_PIN 12 // SW2
+ #define Y_MIN_PIN 11 // SW3
+ #define Y_MAX_PIN 10 // SW4
+ #define Z_MIN_PIN 9 // SW5
+ #define Z_MAX_PIN 8 // SW6
+ #endif
+#endif
+
+#if ENABLED(BOARD_REV_1_5)
+ #define X_MIN_PIN 22
+ #define X_MAX_PIN 24
+ #define Y_MIN_PIN 26
+ #define Y_MAX_PIN 28
+ #define Z_MIN_PIN 30
+ #define Z_MAX_PIN 32
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#if !defined(Z_MIN_PROBE_PIN) && !BOTH(HAS_CUTTER, BOARD_REV_1_0)
+ #define Z_MIN_PROBE_PIN Z_MAX_PIN
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 25
+#define X_DIR_PIN 23
+#define X_ENABLE_PIN 27
+
+#define Y_STEP_PIN 31
+#define Y_DIR_PIN 33
+#define Y_ENABLE_PIN 29
+
+#define Z_STEP_PIN 37
+#define Z_DIR_PIN 39
+#define Z_ENABLE_PIN 35
+
+#if BOTH(HAS_CUTTER, BOARD_REV_1_1_TO_1_3) && EXTRUDERS == 1
+ // Move E0 to the spare and get Spindle/Laser signals from E0
+ #define E0_STEP_PIN 49
+ #define E0_DIR_PIN 47
+ #define E0_ENABLE_PIN 48
+#else
+ #define E0_STEP_PIN 43
+ #define E0_DIR_PIN 45
+ #define E0_ENABLE_PIN 41
+
+ #define E1_STEP_PIN 49
+ #define E1_DIR_PIN 47
+ #define E1_ENABLE_PIN 48
+#endif
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 8 // Analog Input
+#define TEMP_1_PIN 1 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 2
+//#define HEATER_1_PIN 3 // used for case light Rev A said "1"
+#define HEATER_BED_PIN 4
+
+//
+// LCD / Controller
+//
+#if ANY(BOARD_REV_1_0, BOARD_REV_1_1_TO_1_3)
+
+ #define LCD_PINS_RS 24
+ #define LCD_PINS_ENABLE 22
+ #define LCD_PINS_D4 36
+ #define LCD_PINS_D5 34
+ #define LCD_PINS_D6 32
+ #define LCD_PINS_D7 30
+
+#elif BOTH(BOARD_REV_1_5, IS_ULTRA_LCD)
+
+ #define BEEPER_PIN 18
+
+ #if IS_NEWPANEL
+
+ #define LCD_PINS_RS 20
+ #define LCD_PINS_ENABLE 17
+ #define LCD_PINS_D4 16
+ #define LCD_PINS_D5 21
+ #define LCD_PINS_D6 5
+ #define LCD_PINS_D7 6
+
+ // Buttons directly attached
+ #define BTN_EN1 40
+ #define BTN_EN2 42
+ #define BTN_ENC 19
+
+ #define SD_DETECT_PIN 38
+
+ #else // !IS_NEWPANEL - Old style panel with shift register
+
+ // Buttons attached to a shift register
+ #define SHIFT_CLK_PIN 38
+ #define SHIFT_LD_PIN 42
+ #define SHIFT_OUT_PIN 40
+ #define SHIFT_EN_PIN 17
+
+ #define LCD_PINS_RS 16
+ #define LCD_PINS_ENABLE 5
+ #define LCD_PINS_D4 6
+ #define LCD_PINS_D5 21
+ #define LCD_PINS_D6 20
+ #define LCD_PINS_D7 19
+
+ #endif // !IS_NEWPANEL
+
+#endif
+
+//
+// case light - see spindle section for more info on available hardware PWMs
+//
+#if !PIN_EXISTS(CASE_LIGHT) && ENABLED(BOARD_REV_1_5)
+ #define CASE_LIGHT_PIN 7 // use PWM - MUST BE HARDWARE PWM
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER
+ #if EITHER(BOARD_REV_1_0, BOARD_REV_1_5) // Use the last three SW positions
+ #define SPINDLE_DIR_PIN 10 // 1.0: SW4 1.5: EXP3-6 ("10")
+ #define SPINDLE_LASER_PWM_PIN 9 // 1.0: SW5 1.5: EXP3-7 ( "9") .. MUST BE HARDWARE PWM
+ #define SPINDLE_LASER_ENA_PIN 8 // 1.0: SW6 1.5: EXP3-8 ( "8") .. Pin should have a pullup!
+ #elif ENABLED(BOARD_REV_1_1_TO_1_3)
+ /**
+ * Only four hardware PWMs physically connected to anything on these boards:
+ *
+ * HEATER_0_PIN 2 silkscreen varies - usually "PWM 1" or "HEATER1"
+ * HEATER_1_PIN 3 silkscreen varies - usually "PWM 2" or "HEATER2"
+ * HEATER_BED_PIN 4 silkscreen varies - usually "PWM 3" or "HEATED BED"
+ * E0_DIR_PIN 45
+ *
+ * If one of the heaters is used then special precautions will usually be needed.
+ * They have an LED and resistor pullup to +24V which could damage 3.3V-5V ICs.
+ */
+ #if EXTRUDERS == 1
+ #define SPINDLE_DIR_PIN 43
+ #define SPINDLE_LASER_PWM_PIN 45 // Hardware PWM
+ #define SPINDLE_LASER_ENA_PIN 41 // Pullup!
+ #elif TEMP_SENSOR_BED == 0 // Can't use E0 so see if HEATER_BED_PIN is available
+ #undef HEATER_BED_PIN
+ #define SPINDLE_DIR_PIN 38 // Probably pin 4 on 10 pin connector closest to the E0 socket
+ #define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM - Special precautions usually needed.
+ #define SPINDLE_LASER_ENA_PIN 40 // Pullup! (Probably pin 6 on the 10-pin
+ // connector closest to the E0 socket)
+ #endif
+ #endif
+#endif
+
+/**
+ * Where to get the spindle signals on the E0 socket
+ *
+ * spindle signal socket name socket name
+ * -------
+ * SPINDLE_LASER_ENA_PIN /ENABLE *| |O VMOT
+ * MS1 O| |O GND
+ * MS2 O| |O 2B
+ * MS3 O| |O 2A
+ * /RESET O| |O 1A
+ * /SLEEP O| |O 1B
+ * SPINDLE_DIR_PIN STEP O| |O VDD
+ * SPINDLE_LASER_PWM_PIN DIR O| |O GND
+ * -------
+ * * - pin closest to MS1, MS2 & MS3 jumpers on the board
+ *
+ * Note: Socket names vary from vendor to vendor.
+ */
diff --git a/Marlin/src/pins/ramps/pins_VORON.h b/Marlin/src/pins/ramps/pins_VORON.h
new file mode 100644
index 0000000..9ab6573
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_VORON.h
@@ -0,0 +1,55 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * VORON Design v2 pin assignments
+ * See https://github.com/mzbotreprap/VORON/blob/master/Firmware/Marlin/pins_RAMPS_VORON.h
+ */
+
+#define BOARD_INFO_NAME "VORON Design v2"
+
+#define RAMPS_D8_PIN 11
+
+#include "pins_RAMPS.h"
+
+//
+// Heaters / Fans
+//
+#undef FAN_PIN
+#define FAN_PIN 5 // Using the pin for the controller fan since controller fan is always on.
+#define CONTROLLER_FAN_PIN 8
+
+//
+// Auto fans
+//
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN 6 // Servo pin 6 for E3D Fan
+#endif
+#ifndef E1_AUTO_FAN_PIN
+ #define E1_AUTO_FAN_PIN 6 // Servo pin 6 for E3D Fan (same pin for both extruders since it's the same fan)
+#endif
+
+//
+// LCDs and Controllers
+//
+#undef BEEPER_PIN
diff --git a/Marlin/src/pins/ramps/pins_ZRIB_V20.h b/Marlin/src/pins/ramps/pins_ZRIB_V20.h
new file mode 100644
index 0000000..6c4b28d
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_ZRIB_V20.h
@@ -0,0 +1,87 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * ZRIB V2.0 & V3.0 pin assignments
+ * V2 and V3 Boards only differ in USB controller, nothing affecting the pins.
+ */
+
+#include "pins_MKS_GEN_13.h"
+
+#define ZRIB_V20_D6_PIN 6 // Fan
+#define ZRIB_V20_D9_PIN 9 // Fan2
+#define ZRIB_V20_A10_PIN 10
+#define ZRIB_V20_D16_PIN 16
+#define ZRIB_V20_D17_PIN 17
+#define ZRIB_V20_D23_PIN 23
+#define ZRIB_V20_D25_PIN 25
+#define ZRIB_V20_D27_PIN 27
+#define ZRIB_V20_D29_PIN 29
+#define ZRIB_V20_D37_PIN 37
+
+//
+// Auto fans
+//
+#ifndef E0_AUTO_FAN_PIN
+ #define E0_AUTO_FAN_PIN ZRIB_V20_D6_PIN
+#endif
+#ifndef E1_AUTO_FAN_PIN
+ #define E1_AUTO_FAN_PIN ZRIB_V20_D6_PIN
+#endif
+#ifndef E2_AUTO_FAN_PIN
+ #define E2_AUTO_FAN_PIN ZRIB_V20_D6_PIN
+#endif
+#ifndef E3_AUTO_FAN_PIN
+ #define E3_AUTO_FAN_PIN ZRIB_V20_D6_PIN
+#endif
+
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN 11 // Analog Input
+#endif
+
+#if ENABLED(ZONESTAR_LCD)
+ #undef LCD_PINS_RS
+ #undef LCD_PINS_ENABLE
+ #undef LCD_PINS_D4
+ #undef LCD_PINS_D5
+ #undef LCD_PINS_D6
+ #undef LCD_PINS_D7
+ #undef ADC_KEYPAD_PIN
+ #undef BEEPER_PIN
+
+ #undef SHIFT_OUT_PIN
+ #undef SHIFT_CLK_PIN
+ #undef SHIFT_LD_PIN
+ #undef BTN_EN1
+ #undef BTN_EN2
+ #undef BTN_ENC
+
+ #define LCD_PINS_RS ZRIB_V20_D16_PIN
+ #define LCD_PINS_ENABLE ZRIB_V20_D17_PIN
+ #define LCD_PINS_D4 ZRIB_V20_D23_PIN
+ #define LCD_PINS_D5 ZRIB_V20_D25_PIN
+ #define LCD_PINS_D6 ZRIB_V20_D27_PIN
+ #define LCD_PINS_D7 ZRIB_V20_D29_PIN
+ #define ADC_KEYPAD_PIN ZRIB_V20_A10_PIN
+ #define BEEPER_PIN ZRIB_V20_D37_PIN
+#endif
diff --git a/Marlin/src/pins/ramps/pins_ZRIB_V52.h b/Marlin/src/pins/ramps/pins_ZRIB_V52.h
new file mode 100644
index 0000000..983c840
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_ZRIB_V52.h
@@ -0,0 +1,159 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * ZRIB V5.2 Based on MKS BASE v1.4 with A4982 stepper drivers and digital micro-stepping
+ */
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "ZRIB V5.2 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "ZRIB V5.2"
+
+#define MKS_BASE_VERSION 14
+#define IS_RAMPS_EFB
+
+//
+// Heaters / Fans
+//
+#define FAN_PIN 9 // PH6 ** Pin18 ** PWM9
+#define FAN1_PIN 6
+
+//
+// Extra Extruder / Stepper for V5.2
+//
+#define E2_STEP_PIN 4
+#define E2_DIR_PIN 5
+#define E2_ENABLE_PIN 22
+
+#include "pins_MKS_BASE_common.h"
+
+/*
+ Available connectors on MKS BASE v1.4 (Basically same as ZRIB V5.2)
+
+ =======
+ | GND |
+ |-----| E0
+ | 10 | (10) PB4 ** Pin23 ** PWM10
+ |-----|
+ | GND |
+ |-----| E1
+ | 7 | ( 7) PH4 ** Pin16 ** PWM7
+ |-----|
+ | GND |
+ |-----| FAN
+ | 9 | ( 9) PH6 ** Pin18 ** PWM9
+ =======
+
+ =======
+ | GND |
+ |-----| Heated Bed
+ | 8 | ( 8) PH5 ** Pin17 ** PWM8
+ =======
+
+ ==========
+ | 12-24V |
+ |--------| Power
+ | GND |
+ ==========
+
+ XS3 Connector
+ =================
+ | 65 | GND | 5V | (65) PK3 ** Pin86 ** A11
+ |----|-----|----|
+ | 66 | GND | 5V | (66) PK4 ** Pin85 ** A12
+ =================
+
+ Servos Connector
+ =================
+ | 11 | GND | 5V | (11) PB5 ** Pin24 ** PWM11
+ |----|-----|----|
+ | 12 | GND | 5V | (12) PB6 ** Pin25 ** PWM12
+ =================
+
+ ICSP
+ =================
+ | 5V | 51 | GND | (51) PB2 ** Pin21 ** SPI_MOSI
+ |----|----|-----|
+ | 50 | 52 | RST | (50) PB3 ** Pin22 ** SPI_MISO
+ ================= (52) PB1 ** Pin20 ** SPI_SCK
+
+ XS6/AUX-1 Connector
+ ======================
+ | 5V | GND | NC | 20 | (20) PD1 ** Pin44 ** I2C_SDA
+ |----|-----|----|----|
+ | 50 | 51 | 52 | 21 | (50) PB3 ** Pin22 ** SPI_MISO
+ ====================== (51) PB2 ** Pin21 ** SPI_MOSI
+ (52) PB1 ** Pin20 ** SPI_SCK
+ (21) PD0 ** Pin43 ** I2C_SCL
+
+ Temperature
+ ==================================
+ | GND | 69 | GND | 68 | GND | 67 |
+ ==================================
+ (69) PK7 ** Pin82 ** A15
+ (68) PK6 ** Pin83 ** A14
+ (67) PK5 ** Pin84 ** A13
+
+ Limit Switches
+ ============
+ | 2 | GND | X+ ( 2) PE4 ** Pin6 ** PWM2
+ |----|-----|
+ | 3 | GND | X- ( 3) PE5 ** Pin7 ** PWM3
+ |----|-----|
+ | 15 | GND | Y+ (15) PJ0 ** Pin63 ** USART3_RX
+ |----|-----|
+ | 14 | GND | Y- (14) PJ1 ** Pin64 ** USART3_TX
+ |----|-----|
+ | 19 | GND | Z+ (19) PD2 ** Pin45 ** USART1_RX
+ |----|-----|
+ | 18 | GND | Z- (18) PD3 ** Pin46 ** USART1_TX
+ ============
+
+ EXP1
+ ============
+ | 37 | 35 | (37) PC0 ** Pin53 ** D37
+ |-----|----| (35) PC2 ** Pin55 ** D35
+ | 17 | 16 | (17) PH0 ** Pin12 ** USART2_RX
+ |-----|----| (16) PH1 ** Pin13 ** USART2_TX
+ | 23 | 25 | (23) PA1 ** Pin77 ** D23
+ |-----|----| (25) PA3 ** Pin75 ** D25
+ | 27 | 29 | (27) PA5 ** Pin73 ** D27
+ |-----|----| (29) PA7 ** Pin71 ** D29
+ | GND | 5V |
+ ============
+
+ EXP2
+ ============
+ | 50 | 52 | (50) PB3 ** Pin22 ** SPI_MISO
+ |-----|----| (52) PB1 ** Pin20 ** SPI_SCK
+ | 31 | 53 | (31) PC6 ** Pin59 ** D31
+ |-----|----| (53) PB0 ** Pin19 ** SPI_SS
+ | 33 | 51 | (33) PC4 ** Pin57 ** D33
+ |-----|----| (51) PB2 ** Pin21 ** SPI_MOSI
+ | 49 | 41 | (49) PL0 ** Pin35 ** D49
+ |-----|----| (41) PG0 ** Pin51 ** D41
+ | GND | NC |
+ ============
+*/
diff --git a/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h b/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h
new file mode 100644
index 0000000..096d970
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h
@@ -0,0 +1,306 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Z-Bolt X Series board – based on Arduino Mega2560
+ */
+
+#if NOT_TARGET(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+#elif HOTENDS > 4 || E_STEPPERS > 4
+ #error "Z-Bolt X Series board supports up to 4 hotends / E-steppers."
+#endif
+
+#define BOARD_INFO_NAME "Z-Bolt X Series"
+
+//
+// Servos
+//
+#ifndef SERVO0_PIN
+ #define SERVO0_PIN 11
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN 4
+#endif
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 3
+#ifndef X_MAX_PIN
+ #define X_MAX_PIN 2
+#endif
+#define Y_MIN_PIN 14
+#define Y_MAX_PIN 15
+#define Z_MIN_PIN 18
+#define Z_MAX_PIN 19
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN -1
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN -1
+#endif
+
+#define Z_STEP_PIN 46
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN -1
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN -1
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN -1
+#endif
+
+// Red
+#define E2_STEP_PIN 42
+#define E2_DIR_PIN 40
+#define E2_ENABLE_PIN 65
+#ifndef E2_CS_PIN
+ #define E2_CS_PIN -1
+#endif
+
+// Black
+#define E3_STEP_PIN 44
+#define E3_DIR_PIN 64
+#define E3_ENABLE_PIN 66
+#ifndef E3_CS_PIN
+ #define E3_CS_PIN -1
+#endif
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 13 // Analog Input
+#define TEMP_1_PIN 15 // Analog Input
+#define TEMP_2_PIN 5 // Analog Input (BLACK)
+#define TEMP_3_PIN 9 // Analog Input (RED)
+#define TEMP_BED_PIN 14 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 10
+#define HEATER_1_PIN 7
+#define HEATER_2_PIN 6
+#define HEATER_3_PIN 5
+#define HEATER_BED_PIN 8
+
+#define FAN_PIN 9
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN 5 // Analog Input on AUX2
+#endif
+
+// Оn the servos connector
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 4
+#endif
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
+ #if NUM_SERVOS <= 1 // Prefer the servo connector
+ #define CASE_LIGHT_PIN 6 // Hardware PWM
+ #elif HAS_FREE_AUX2_PINS
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+ #endif
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
+ #if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // Prefer the servo connector
+ #define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
+ #define SPINDLE_DIR_PIN 5
+ #elif HAS_FREE_AUX2_PINS
+ #define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+ #define SPINDLE_DIR_PIN 65
+ #endif
+#endif
+
+//
+// TMC software SPI
+//
+#if ENABLED(TMC_USE_SW_SPI)
+ #ifndef TMC_SW_MOSI
+ #define TMC_SW_MOSI 66
+ #endif
+ #ifndef TMC_SW_MISO
+ #define TMC_SW_MISO 44
+ #endif
+ #ifndef TMC_SW_SCK
+ #define TMC_SW_SCK 64
+ #endif
+#endif
+
+#if HAS_TMC_UART
+ /**
+ * TMC220x stepper drivers
+ *
+ * Hardware serial communication ports.
+ * If undefined software serial is used according to the pins below
+ */
+ //#define X_HARDWARE_SERIAL Serial1
+ //#define X2_HARDWARE_SERIAL Serial1
+ //#define Y_HARDWARE_SERIAL Serial1
+ //#define Y2_HARDWARE_SERIAL Serial1
+ //#define Z_HARDWARE_SERIAL Serial1
+ //#define Z2_HARDWARE_SERIAL Serial1
+ //#define E0_HARDWARE_SERIAL Serial1
+ //#define E1_HARDWARE_SERIAL Serial1
+ //#define E2_HARDWARE_SERIAL Serial1
+ //#define E3_HARDWARE_SERIAL Serial1
+ //#define E4_HARDWARE_SERIAL Serial1
+
+ //
+ // Software serial
+ //
+
+ #ifndef X_SERIAL_TX_PIN
+ #define X_SERIAL_TX_PIN 40
+ #endif
+ #ifndef X_SERIAL_RX_PIN
+ #define X_SERIAL_RX_PIN 63
+ #endif
+ #ifndef X2_SERIAL_TX_PIN
+ #define X2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef X2_SERIAL_RX_PIN
+ #define X2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef Y_SERIAL_TX_PIN
+ #define Y_SERIAL_TX_PIN 59
+ #endif
+ #ifndef Y_SERIAL_RX_PIN
+ #define Y_SERIAL_RX_PIN 64
+ #endif
+ #ifndef Y2_SERIAL_TX_PIN
+ #define Y2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef Y2_SERIAL_RX_PIN
+ #define Y2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef Z_SERIAL_TX_PIN
+ #define Z_SERIAL_TX_PIN 42
+ #endif
+ #ifndef Z_SERIAL_RX_PIN
+ #define Z_SERIAL_RX_PIN 65
+ #endif
+ #ifndef Z2_SERIAL_TX_PIN
+ #define Z2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef Z2_SERIAL_RX_PIN
+ #define Z2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef E0_SERIAL_TX_PIN
+ #define E0_SERIAL_TX_PIN 44
+ #endif
+ #ifndef E0_SERIAL_RX_PIN
+ #define E0_SERIAL_RX_PIN 66
+ #endif
+ #ifndef E1_SERIAL_TX_PIN
+ #define E1_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E1_SERIAL_RX_PIN
+ #define E1_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E2_SERIAL_TX_PIN
+ #define E2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E2_SERIAL_RX_PIN
+ #define E2_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E3_SERIAL_TX_PIN
+ #define E3_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E3_SERIAL_RX_PIN
+ #define E3_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E4_SERIAL_TX_PIN
+ #define E4_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E4_SERIAL_RX_PIN
+ #define E4_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E5_SERIAL_TX_PIN
+ #define E5_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E5_SERIAL_RX_PIN
+ #define E5_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E6_SERIAL_TX_PIN
+ #define E6_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E6_SERIAL_RX_PIN
+ #define E6_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E7_SERIAL_TX_PIN
+ #define E7_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E7_SERIAL_RX_PIN
+ #define E7_SERIAL_RX_PIN -1
+ #endif
+#endif