diff --git a/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp b/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp
index d2207d91aa7..db1b3e39bad 100644
--- a/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp
+++ b/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp
@@ -76,14 +76,14 @@ void Servo_Handler(timer16_Sequence_t timer, Tc *tc, uint8_t channel) {
   tc->TC_CHANNEL[channel].TC_SR;
   if (Channel[timer] < 0)
     tc->TC_CHANNEL[channel].TC_CCR |= TC_CCR_SWTRG; // channel set to -1 indicated that refresh interval completed so reset the timer
-  else if (SERVO_INDEX(timer,Channel[timer]) < ServoCount && SERVO(timer,Channel[timer]).Pin.isActive)
-    digitalWrite(SERVO(timer,Channel[timer]).Pin.nbr, LOW); // pulse this channel low if activated
+  else if (SERVO_INDEX(timer, Channel[timer]) < ServoCount && SERVO(timer, Channel[timer]).Pin.isActive)
+    digitalWrite(SERVO(timer, Channel[timer]).Pin.nbr, LOW); // pulse this channel low if activated
 
   Channel[timer]++;    // increment to the next channel
   if (SERVO_INDEX(timer, Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) {
     tc->TC_CHANNEL[channel].TC_RA = tc->TC_CHANNEL[channel].TC_CV + SERVO(timer,Channel[timer]).ticks;
     if (SERVO(timer,Channel[timer]).Pin.isActive)    // check if activated
-      digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,HIGH); // its an active channel so pulse it high
+      digitalWrite(SERVO(timer, Channel[timer]).Pin.nbr, HIGH); // its an active channel so pulse it high
   }
   else {
     // finished all channels so wait for the refresh period to expire before starting over
diff --git a/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h b/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h
index 16299696a1f..f18efe60ec3 100644
--- a/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h
+++ b/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h
@@ -74,3 +74,11 @@
     ||  MB(RAMPS_14_RE_ARM_SF))
   #error "Re-ARM with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER and TMC2130 require TMC_USE_SW_SPI"
 #endif
+
+#if 1 < (ENABLED(LPC_SD_CUSTOM_CABLE) + ENABLED(LPC_SD_LCD) + ENABLED(LPC_SD_ONBOARD))
+  #error "Enable only one of LPC_SD_CUSTOM_CABLE, LPC_SD_LCD, or LPC_SD_ONBOARD."
+#endif
+
+#if 1 < (ENABLED(USB_SD_DISABLED) + ENABLED(USB_SD_ONBOARD))
+  #error "Enable only one of USB_SD_DISABLED or USB_SD_ONBOARD."
+#endif
diff --git a/Marlin/src/HAL/HAL_LPC1768/main.cpp b/Marlin/src/HAL/HAL_LPC1768/main.cpp
index bf858ad49b2..02207c61099 100644
--- a/Marlin/src/HAL/HAL_LPC1768/main.cpp
+++ b/Marlin/src/HAL/HAL_LPC1768/main.cpp
@@ -56,21 +56,25 @@ void HAL_init() {
   //debug_frmwrk_init();
   //_DBG("\n\nDebug running\n");
   // Initialise the SD card chip select pins as soon as possible
-  #ifdef SS_PIN
-    digitalWrite(SS_PIN, HIGH);
-    pinMode(SS_PIN, OUTPUT);
+  #if PIN_EXISTS(SS)
+    WRITE(SS_PIN, HIGH);
+    SET_OUTPUT(SS_PIN);
   #endif
-  #ifdef ONBOARD_SD_CS
-    digitalWrite(ONBOARD_SD_CS, HIGH);
-    pinMode(ONBOARD_SD_CS, OUTPUT);
+
+  #if defined(ONBOARD_SD_CS) && ONBOARD_SD_CS > -1
+    WRITE(ONBOARD_SD_CS, HIGH);
+    SET_OUTPUT(ONBOARD_SD_CS);
   #endif
+
   USB_Init();                               // USB Initialization
   USB_Connect(FALSE);                       // USB clear connection
   delay(1000);                              // Give OS time to notice
   USB_Connect(TRUE);
-  #ifndef USB_SD_DISABLED
+
+  #if DISABLED(USB_SD_DISABLED)
     MSC_SD_Init(0);                         // Enable USB SD card access
   #endif
+
   const millis_t usb_timeout = millis() + 2000;
   while (!USB_Configuration && PENDING(millis(), usb_timeout)) {
     delay(50);
@@ -94,7 +98,7 @@ void HAL_init() {
 
 // HAL idle task
 void HAL_idletask(void) {
-  #if ENABLED(SDSUPPORT) && defined(SHARED_SD_CARD)
+  #if ENABLED(SDSUPPORT) && ENABLED(SHARED_SD_CARD)
     // If Marlin is using the SD card we need to lock it to prevent access from
     // a PC via USB.
     // Other HALs use IS_SD_PRINTING() and IS_SD_FILE_OPEN() to check for access but
diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp
index 3d48f5c291d..7949af0c555 100644
--- a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp
+++ b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp
@@ -85,8 +85,8 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
       timerConfig[0].IRQ_Id = TIM5_IRQn;
       timerConfig[0].callback = (uint32_t)TC5_Handler;
       HAL_NVIC_SetPriority(timerConfig[0].IRQ_Id, 1, 0);
-      pinMode(STEPPER_ENABLE_PIN,OUTPUT);
-      digitalWrite(STEPPER_ENABLE_PIN,LOW);
+      SET_OUTPUT(STEPPER_ENABLE_PIN);
+      WRITE(STEPPER_ENABLE_PIN);
       break;
     case TEMP_TIMER_NUM:
       //TEMP TIMER TIM7 // any available 16bit Timer (1 already used for PWM)
diff --git a/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp b/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp
index 46f02bfe5c9..e01a0b42eda 100644
--- a/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp
+++ b/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp
@@ -190,7 +190,7 @@ void TMC26XStepper::start() {
   pinMode(step_pin, OUTPUT);
   pinMode(dir_pin, OUTPUT);
   pinMode(cs_pin, OUTPUT);
-  //pinMode(STEPPER_ENABLE_PIN, OUTPUT);
+  //SET_OUTPUT(STEPPER_ENABLE_PIN);
   digitalWrite(step_pin, LOW);
   digitalWrite(dir_pin, LOW);
   digitalWrite(cs_pin, HIGH);
@@ -887,7 +887,7 @@ inline void TMC26XStepper::send262(uint32_t datagram) {
   //}
 
   //select the TMC driver
-  digitalWrite(cs_pin,LOW);
+  digitalWrite(cs_pin, LOW);
 
   //ensure that only valid bist are set (0-19)
   //datagram &=REGISTER_BIT_PATTERN;
@@ -916,7 +916,7 @@ inline void TMC26XStepper::send262(uint32_t datagram) {
   #endif
 
   //deselect the TMC chip
-  digitalWrite(cs_pin,HIGH);
+  digitalWrite(cs_pin, HIGH);
 
   //restore the previous SPI mode if neccessary
   //if the mode is not correct set it to mode 3
diff --git a/Marlin/src/pins/pins_AZTEEG_X5_MINI_WIFI.h b/Marlin/src/pins/pins_AZTEEG_X5_MINI_WIFI.h
index 3c54b9d94b3..f6bec28fdaf 100644
--- a/Marlin/src/pins/pins_AZTEEG_X5_MINI_WIFI.h
+++ b/Marlin/src/pins/pins_AZTEEG_X5_MINI_WIFI.h
@@ -187,14 +187,15 @@
                               // is powered on to enable SD access.
 
 #if ENABLED(LPC_SD_LCD)
+
   #define SCK_PIN            P0_15
   #define MISO_PIN           P0_17
   #define MOSI_PIN           P0_18
   #define SS_PIN             P1_23   // Chip select for SD card used by Marlin
   #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
-#endif
 
-#if ENABLED(LPC_SD_ONBOARD)
+#elif ENABLED(LPC_SD_ONBOARD)
+
   #if ENABLED(USB_SD_ONBOARD)
     // When sharing the SD card with a PC we want the menu options to
     // mount/unmount the card and refresh it. So we disable card detect.
@@ -206,4 +207,5 @@
   #define MOSI_PIN           P0_09
   #define SS_PIN             P0_06   // Chip select for SD card used by Marlin
   #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
+
 #endif
diff --git a/Marlin/src/pins/pins_MKS_SBASE.h b/Marlin/src/pins/pins_MKS_SBASE.h
index d53dec32897..cfdab90a04e 100644
--- a/Marlin/src/pins/pins_MKS_SBASE.h
+++ b/Marlin/src/pins/pins_MKS_SBASE.h
@@ -196,16 +196,17 @@
 
 /*
  * There are a number of configurations available for the SBase SD card reader.
- * A custom cable can be used to allow access to the LCD based SD card.
- * A standard cable can be used for access to the LCD SD card (but no SD detect).
- * The onboard SD card can be used and optionally shared with a PC via USB.
+ * - A custom cable can be used to allow access to the LCD based SD card.
+ * - A standard cable can be used for access to the LCD SD card (but no SD detect).
+ * - The onboard SD card can be used and optionally shared with a PC via USB.
  */
 
 //#define LPC_SD_CUSTOM_CABLE // Use a custom cable to access the SD
 //#define LPC_SD_LCD          // Marlin uses the SD drive attached to the LCD
 #define LPC_SD_ONBOARD        // Marlin uses the SD drive attached to the control board
 
-#ifdef LPC_SD_CUSTOM_CABLE
+#if ENABLED(LPC_SD_CUSTOM_CABLE)
+
   /**
    * A custom cable is needed. See the README file in the
    * Marlin\src\config\examples\Mks\Sbase directory
@@ -218,43 +219,41 @@
    * If you can't find a pin to use for the LCD's SD_DETECT then comment out
    * SD_DETECT_PIN entirely and remove that wire from the the custom cable.
    */
-  #define SD_DETECT_PIN      P2_11   // J8-5 (moved from EXP2 P0.27)
-  #define SCK_PIN            P1_22   // J8-2 (moved from EXP2 P0.7)
-  #define MISO_PIN           P1_23   // J8-3 (moved from EXP2 P0.8)
-  #define MOSI_PIN           P2_12   // J8-4 (moved from EXP2 P0.9)
-  #define SS_PIN             P0_28   // Chip select for SD card used by Marlin
-  #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
+  #define SD_DETECT_PIN    P2_11   // J8-5 (moved from EXP2 P0.27)
+  #define SCK_PIN          P1_22   // J8-2 (moved from EXP2 P0.7)
+  #define MISO_PIN         P1_23   // J8-3 (moved from EXP2 P0.8)
+  #define MOSI_PIN         P2_12   // J8-4 (moved from EXP2 P0.9)
+  #define SS_PIN           P0_28   // Chip select for SD card used by Marlin
+  #define ONBOARD_SD_CS    P0_06   // Chip select for "System" SD card
   #define LPC_SOFTWARE_SPI  // With a custom cable we need software SPI because the
                             // selected pins are not on a hardware SPI controller
-#endif
+#elif ENABLED(LPC_SD_LCD)
 
-#ifdef LPC_SD_LCD
   // use standard cable and header, SPI and SD detect sre shared with on-board SD card
   // hardware SPI is used for both SD cards. The detect pin is shred between the
   // LCD and onboard SD readers so we disable it.
-  #undef SD_DETECT_PIN
-  #define SCK_PIN            P0_07
-  #define MISO_PIN           P0_08
-  #define MOSI_PIN           P0_09
-  #define SS_PIN             P0_28   // Chip select for SD card used by Marlin
-  #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
-#endif
+  #define SCK_PIN          P0_07
+  #define MISO_PIN         P0_08
+  #define MOSI_PIN         P0_09
+  #define SS_PIN           P0_28   // Chip select for SD card used by Marlin
+  #define ONBOARD_SD_CS    P0_06   // Chip select for "System" SD card
+
+#elif ENABLED(LPC_SD_ONBOARD)
 
-#ifdef LPC_SD_ONBOARD
   // The external SD card is not used. Hardware SPI is used to access the card.
-  #ifdef USB_SD_ONBOARD
+  #if ENABLED(USB_SD_ONBOARD)
     // When sharing the SD card with a PC we want the menu options to
     // mount/unmount the card and refresh it. So we disable card detect.
     #define SHARED_SD_CARD
-    #undef SD_DETECT_PIN
   #else
-    #define SD_DETECT_PIN      P0_27
+    #define SD_DETECT_PIN  P0_27
   #endif
-  #define SCK_PIN            P0_07
-  #define MISO_PIN           P0_08
-  #define MOSI_PIN           P0_09
-  #define SS_PIN             P0_06   // Chip select for SD card used by Marlin
-  #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
+  #define SCK_PIN          P0_07
+  #define MISO_PIN         P0_08
+  #define MOSI_PIN         P0_09
+  #define SS_PIN           P0_06   // Chip select for SD card used by Marlin
+  #define ONBOARD_SD_CS    P0_06   // Chip select for "System" SD card
+
 #endif
 
 /**
@@ -286,6 +285,7 @@
   #endif
  #endif
 #endif
+
 #if HAS_DRIVER(TMC2208)
   // The shortage of pins becomes apparent.
   // Worst case you may have to give up the LCD
diff --git a/Marlin/src/pins/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/pins_RAMPS_RE_ARM.h
index 534144c298c..988b1c82b6c 100644
--- a/Marlin/src/pins/pins_RAMPS_RE_ARM.h
+++ b/Marlin/src/pins/pins_RAMPS_RE_ARM.h
@@ -363,23 +363,23 @@
 #define ENET_TXD0     P1_00   // (78)  J12-11
 #define ENET_TXD1     P1_01   // (79)  J12-12
 
-
 //#define USB_SD_DISABLED
 #define USB_SD_ONBOARD        // Provide the onboard SD card to the host as a USB mass storage device
 
 //#define LPC_SD_LCD          // Marlin uses the SD drive attached to the LCD
 #define LPC_SD_ONBOARD        // Marlin uses the SD drive on the control board
 
-#ifdef LPC_SD_LCD
+#if ENABLED(LPC_SD_LCD)
+
   #define SCK_PIN            P0_15
   #define MISO_PIN           P0_17
   #define MOSI_PIN           P0_18
   #define SS_PIN             P1_23   // Chip select for SD card used by Marlin
   #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
-#endif
 
-#ifdef LPC_SD_ONBOARD
-  #ifdef USB_SD_ONBOARD
+#elif ENABLED(LPC_SD_ONBOARD)
+
+  #if ENABLED(USB_SD_ONBOARD)
     // When sharing the SD card with a PC we want the menu options to
     // mount/unmount the card and refresh it. So we disable card detect.
     #define SHARED_SD_CARD
@@ -390,10 +390,11 @@
   #define MOSI_PIN           P0_09
   #define SS_PIN             P0_06   // Chip select for SD card used by Marlin
   #define ONBOARD_SD_CS      P0_06   // Chip select for "System" SD card
+
 #endif
 
 /**
- *  Fast PWMS
+ *  Fast PWMs
  *
  *  The LPC1768's hardware PWM controller has 6 channels.  Each channel
  *  can be setup to either control a dedicated pin directly or to generate
@@ -418,7 +419,7 @@
  */
 
  /**
-  * special pins
+  * Special pins
   *   P1_30  (37) - not 5V tolerant
   *   P1_31  (49) - not 5V tolerant
   *   P0_27  (57) - open collector