diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index 726a8ed20fed132daee17c67dc03f125ac111091..ae2a8eae120c5ba2aea78098e22a18949fd52f8c 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -35,11 +35,19 @@
 #ifndef __PINS_H__
 #define __PINS_H__
 
-#define IS_RAMPS_EFB (MB(RAMPS_13_EFB) || MB(RAMPS_14_EFB) || MB(RAMPS_14_RE_ARM_EFB) || MB(RAMPS_SMART_EFB) || MB(RAMPS_DUO_EFB) || MB(RAMPS4DUE_EFB))
-#define IS_RAMPS_EEB (MB(RAMPS_13_EEB) || MB(RAMPS_14_EEB) || MB(RAMPS_14_RE_ARM_EEB) || MB(RAMPS_SMART_EEB) || MB(RAMPS_DUO_EEB) || MB(RAMPS4DUE_EEB))
-#define IS_RAMPS_EFF (MB(RAMPS_13_EFF) || MB(RAMPS_14_EFF) || MB(RAMPS_14_RE_ARM_EFF) || MB(RAMPS_SMART_EFF) || MB(RAMPS_DUO_EFF) || MB(RAMPS4DUE_EFF))
-#define IS_RAMPS_EEF (MB(RAMPS_13_EEF) || MB(RAMPS_14_EEF) || MB(RAMPS_14_RE_ARM_EEF) || MB(RAMPS_SMART_EEF) || MB(RAMPS_DUO_EEF) || MB(RAMPS4DUE_EEF))
-#define IS_RAMPS_SF  (MB(RAMPS_13_SF)  || MB(RAMPS_14_SF)  || MB(RAMPS_14_RE_ARM_SF)  || MB(RAMPS_SMART_SF)  || MB(RAMPS_DUO_SF)  || MB(RAMPS4DUE_SF) )
+#include "../inc/MarlinConfig.h"
+
+#if MB(RAMPS_13_EFB) || MB(RAMPS_14_EFB) || MB(RAMPS_14_RE_ARM_EFB) || MB(RAMPS_SMART_EFB) || MB(RAMPS_DUO_EFB) || MB(RAMPS4DUE_EFB)
+  #define IS_RAMPS_EFB
+#elif MB(RAMPS_13_EEB) || MB(RAMPS_14_EEB) || MB(RAMPS_14_RE_ARM_EEB) || MB(RAMPS_SMART_EEB) || MB(RAMPS_DUO_EEB) || MB(RAMPS4DUE_EEB)
+  #define IS_RAMPS_EEB
+#elif MB(RAMPS_13_EFF) || MB(RAMPS_14_EFF) || MB(RAMPS_14_RE_ARM_EFF) || MB(RAMPS_SMART_EFF) || MB(RAMPS_DUO_EFF) || MB(RAMPS4DUE_EFF)
+  #define IS_RAMPS_EFF
+#elif MB(RAMPS_13_EEF) || MB(RAMPS_14_EEF) || MB(RAMPS_14_RE_ARM_EEF) || MB(RAMPS_SMART_EEF) || MB(RAMPS_DUO_EEF) || MB(RAMPS4DUE_EEF)
+  #define IS_RAMPS_EEF
+#elif MB(RAMPS_13_SF)  || MB(RAMPS_14_SF)  || MB(RAMPS_14_RE_ARM_SF)  || MB(RAMPS_SMART_SF)  || MB(RAMPS_DUO_SF)  || MB(RAMPS4DUE_SF) 
+  #define IS_RAMPS_SF
+#endif
 
 //
 // RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560
@@ -254,7 +262,7 @@
   #include "pins_DUE3DOM_MINI.h"
 #elif MB(RADDS)
   #include "pins_RADDS.h"
-#elif MB(RAMPS_FD_V1)
+#elif MB(RAMPS_FD)
   #include "pins_RAMPS_FD.h"
 #elif MB(RAMPS_FD_V2)
   #include "pins_RAMPS_FD_V2.h"
@@ -290,9 +298,6 @@
   #include "pins_RAMPS4DUE.h"
 #elif MB(ALLIGATOR)
   #include "pins_ALLIGATOR_R2.h"
-#elif MB(RAMPS_FD_V1) || MB(RAMPS_FD_V2)
-  #include "pins_RAMPS_FD_v1.h"
-
 #else
   #error "Unknown MOTHERBOARD value set in Configuration.h"
 #endif
@@ -670,7 +675,6 @@
 
 // Note: default SPI pins are defined in the HAL
 
-#include "src/HAL/HAL_spi_pins.h"
-
+#include "../HAL/HAL_spi_pins.h"
 
 #endif // __PINS_H__
diff --git a/Marlin/src/pins/pinsDebug.h b/Marlin/src/pins/pinsDebug.h
index 8d0599ce698afa634ff481c74bdfab0836bb8dd9..a061fc31bd7e9883339c87a4d46911c90ae6fee1 100644
--- a/Marlin/src/pins/pinsDebug.h
+++ b/Marlin/src/pins/pinsDebug.h
@@ -102,7 +102,7 @@ const PinInfo pin_array[] PROGMEM = {
 };
 
 
-#include "src/HAL/HAL_pinsDebug.h"  // get the correct support file for this CPU
+#include "../HAL/HAL_pinsDebug.h"  // get the correct support file for this CPU
 
 
 static void print_input_or_output(const bool isout) {
diff --git a/Marlin/src/pins/pins_RAMPS.h b/Marlin/src/pins/pins_RAMPS.h
index f159a419e65e5b01db6cbe648dab6acbe379b2dc..8cc121e2288a2fabb904f8f7503e1e71be61cc8d 100644
--- a/Marlin/src/pins/pins_RAMPS.h
+++ b/Marlin/src/pins/pins_RAMPS.h
@@ -63,7 +63,7 @@
 //
 // Servos
 //
-#ifdef IS_RAMPS_13
+#if ENABLED(IS_RAMPS_13)
   #define SERVO0_PIN        7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
 #else
   #define SERVO0_PIN       11
diff --git a/Marlin/src/pins/pins_RUMBA.h b/Marlin/src/pins/pins_RUMBA.h
index 5f567783a4897eca6e0896621fdb470aa370212c..56caf8864616b6945f633861fd007f59ed802051 100644
--- a/Marlin/src/pins/pins_RUMBA.h
+++ b/Marlin/src/pins/pins_RUMBA.h
@@ -153,6 +153,12 @@
 //
 // M3/M4/M5 - Spindle/Laser Control
 //
-#define SPINDLE_LASER_PWM_PIN     4  // MUST BE HARDWARE PWM
-#define SPINDLE_LASER_ENABLE_PIN 14  // Pin should have a pullup!
-#define SPINDLE_DIR_PIN          15
+#ifndef SPINDLE_LASER_PWM_PIN
+  #define SPINDLE_LASER_PWM_PIN     4  // MUST BE HARDWARE PWM. Pin 4 interrupts OC0* and OC1* always in use?
+#endif
+#ifndef SPINDLE_LASER_ENABLE_PIN
+  #define SPINDLE_LASER_ENABLE_PIN 14  // Pin should have a pullup!
+#endif
+#ifndef SPINDLE_DIR_PIN
+  #define SPINDLE_DIR_PIN          15
+#endif
diff --git a/Marlin/src/pins/pins_TEENSY35_36.h b/Marlin/src/pins/pins_TEENSY35_36.h
index f3613403ec402def8b435306e30497e6314eab68..c838d85863897f7465b30bc195b0fc591ca9c68b 100644
--- a/Marlin/src/pins/pins_TEENSY35_36.h
+++ b/Marlin/src/pins/pins_TEENSY35_36.h
@@ -62,17 +62,17 @@ D8    HEATER_BED_PIN      CS1     RX4  A12 31 |   46 * * 47   | 34 A15 PWM
 
 */
 
-#define X_STEP_PIN          22
-#define X_DIR_PIN           21
-#define X_ENABLE_PIN        39
+#define X_STEP_PIN         22
+#define X_DIR_PIN          21
+#define X_ENABLE_PIN       39
 
-#define Y_STEP_PIN          19
-#define Y_DIR_PIN           18
-#define Y_ENABLE_PIN        20
+#define Y_STEP_PIN         19
+#define Y_DIR_PIN          18
+#define Y_ENABLE_PIN       20
 
-#define Z_STEP_PIN          38
-#define Z_DIR_PIN           37
-#define Z_ENABLE_PIN        17
+#define Z_STEP_PIN         38
+#define Z_DIR_PIN          37
+#define Z_ENABLE_PIN       17
 
 #define E0_STEP_PIN        31
 #define E0_DIR_PIN         30