From 0aa87af82f90be409e85e9c6f2792e912396a709 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Sat, 21 Aug 2021 15:07:52 -0500
Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Tweak=20TMC=20software=20serial?=
 =?UTF-8?q?=20pins?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h   |  3 --
 Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h   | 13 +++-----
 Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h |  6 ++--
 Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h | 17 ++++++----
 Marlin/src/pins/lpc1768/pins_MKS_SBASE.h      |  3 ++
 Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h     |  4 ---
 Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h   | 11 +++----
 .../src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h  | 13 +++-----
 Marlin/src/pins/lpc1769/pins_FLY_CDY.h        | 12 +++----
 Marlin/src/pins/lpc1769/pins_MKS_SGEN.h       | 15 +++++----
 Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h  | 17 +++++-----
 Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h   |  4 ++-
 Marlin/src/pins/ramps/pins_FYSETC_F6_13.h     | 26 +++++++--------
 Marlin/src/pins/ramps/pins_FYSETC_F6_14.h     | 17 ++++++----
 Marlin/src/pins/ramps/pins_ORTUR_4.h          | 21 ++++++------
 Marlin/src/pins/ramps/pins_RAMPS.h            |  4 ---
 Marlin/src/pins/ramps/pins_TT_OSCAR.h         |  4 ---
 Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h  |  4 ---
 Marlin/src/pins/samd/pins_RAMPS_144.h         | 20 +++++------
 Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 11 +++----
 .../pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_2.h  | 11 +++----
 .../src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h  | 23 ++++++++-----
 Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h  |  6 ++--
 Marlin/src/pins/stm32f1/pins_FLY_MINI.h       | 11 +++----
 .../pins/stm32f1/pins_FYSETC_CHEETAH_V12.h    |  3 --
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h      |  6 ++--
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h  |  4 ---
 .../pins/stm32f1/pins_MKS_ROBIN_E3_common.h   |  3 --
 .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h |  4 ---
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h  |  3 --
 Marlin/src/pins/stm32f4/pins_ARMED.h          |  3 --
 .../src/pins/stm32f4/pins_BTT_BTT002_V1_0.h   | 11 +++----
 Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h     | 15 ++++-----
 Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h   | 25 +++++++-------
 .../pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h | 25 +++++++-------
 .../pins/stm32f4/pins_BTT_SKR_PRO_common.h    | 15 ++++-----
 .../pins/stm32f4/pins_BTT_SKR_V2_0_common.h   | 13 +++-----
 Marlin/src/pins/stm32f4/pins_FLYF407ZG.h      | 19 +++++------
 Marlin/src/pins/stm32f4/pins_FYSETC_S6.h      |  3 --
 Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h |  1 -
 Marlin/src/pins/stm32f4/pins_FYSETC_SPIDER.h  | 33 +++++++++++--------
 Marlin/src/pins/stm32f4/pins_LERDGE_K.h       | 12 +++----
 Marlin/src/pins/stm32f4/pins_MKS_MONSTER8.h   | 16 ++++-----
 .../src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3.h | 10 +++---
 .../src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h  | 14 +++-----
 Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h    |  3 --
 Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h  | 10 +++---
 Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX.h  | 13 +++-----
 48 files changed, 238 insertions(+), 302 deletions(-)

diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
index 42c6f4d0299..b922f057f1e 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
@@ -164,9 +164,6 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                  P4_29
   #define X_SERIAL_RX_PIN                  P1_17
 
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
index 43e954a4f1b..2c9e608e496 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
@@ -220,23 +220,20 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                  P1_10
-  #define X_SERIAL_RX_PIN                  P1_10
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                  P1_09
-  #define Y_SERIAL_RX_PIN                  P1_09
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                  P1_08
-  #define Z_SERIAL_RX_PIN                  P1_08
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                 P1_04
-  #define E0_SERIAL_RX_PIN                 P1_04
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                 P1_01
-  #define E1_SERIAL_RX_PIN                 P1_01
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h
index cb3d3242e28..9e04fc04795 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h
@@ -172,7 +172,7 @@
     #define E2_CS_PIN                EXP1_05_PIN
     #if HAS_TMC_UART
       #define E2_SERIAL_TX_PIN       EXP1_05_PIN
-      #define E2_SERIAL_RX_PIN       EXP1_05_PIN
+      #define E2_SERIAL_RX_PIN  E2_SERIAL_TX_PIN
     #endif
   #endif
 
@@ -185,7 +185,7 @@
     #define E3_CS_PIN                EXP1_07_PIN
     #if HAS_TMC_UART
       #define E3_SERIAL_TX_PIN       EXP1_07_PIN
-      #define E3_SERIAL_RX_PIN       EXP1_07_PIN
+      #define E3_SERIAL_RX_PIN  E3_SERIAL_TX_PIN
     #endif
   #else
     #define E3_ENABLE_PIN            EXP2_04_PIN
@@ -200,7 +200,7 @@
     #define E4_CS_PIN                EXP1_09_PIN
     #if HAS_TMC_UART
       #define E4_SERIAL_TX_PIN       EXP1_09_PIN
-      #define E4_SERIAL_RX_PIN       EXP1_09_PIN
+      #define E4_SERIAL_RX_PIN  E4_SERIAL_TX_PIN
     #endif
   #else
     #define E4_ENABLE_PIN            EXP2_04_PIN
diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
index 1ec1131b45f..1feaeb13b5d 100644
--- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
+++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
@@ -82,17 +82,22 @@
 //
 #if HAS_TMC_UART
   #define X_SERIAL_TX_PIN                  P1_00
-  #define X_SERIAL_RX_PIN                  P1_00
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
+
   #define Y_SERIAL_TX_PIN                  P1_09
-  #define Y_SERIAL_RX_PIN                  P1_09
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
+
   #define Z_SERIAL_TX_PIN                  P1_16
-  #define Z_SERIAL_RX_PIN                  P1_16
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
+
   #define E0_SERIAL_TX_PIN                 P0_04
-  #define E0_SERIAL_RX_PIN                 P0_04
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
+
   #define E1_SERIAL_TX_PIN                 P2_02
-  #define E1_SERIAL_RX_PIN                 P2_02
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
+
   #define E2_SERIAL_TX_PIN                 P2_06
-  #define E2_SERIAL_RX_PIN                 P2_06
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
index 44dbaacb730..a2235dc28ad 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
@@ -327,10 +327,13 @@
    */
   #define X_SERIAL_TX_PIN                  P1_22  // J8-2
   #define X_SERIAL_RX_PIN                  P2_12  // J8-4 Interrupt Capable
+
   #define Y_SERIAL_TX_PIN                  P1_23  // J8-3
   #define Y_SERIAL_RX_PIN                  P2_11  // J8-5 Interrupt Capable
+
   #define Z_SERIAL_TX_PIN                  P2_12  // J8-4
   #define Z_SERIAL_RX_PIN                  P0_25  // TH3
+
   #define E0_SERIAL_TX_PIN                 P4_28  // J8-6
   #define E0_SERIAL_RX_PIN                 P0_26  // TH4
 
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
index 8808c3a2280..449d9a93ce4 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
@@ -163,10 +163,6 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
-
   #define X_SERIAL_TX_PIN                  P1_04
   #define X_SERIAL_RX_PIN                  P1_01
 
diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
index fe7daa8cdaf..62127f5504b 100644
--- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
+++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
@@ -119,9 +119,6 @@
    * If undefined software serial is used according to the pins below
    */
 
-  //
-  // Software serial
-  //
 
   // P2_08 E1-Step
   // P2_13 E1-Dir
@@ -130,28 +127,28 @@
     #define X_SERIAL_TX_PIN                P0_01
   #endif
   #ifndef X_SERIAL_RX_PIN
-    #define X_SERIAL_RX_PIN                P0_01
+    #define X_SERIAL_RX_PIN      X_SERIAL_TX_PIN
   #endif
 
   #ifndef Y_SERIAL_TX_PIN
     #define Y_SERIAL_TX_PIN                P0_00
   #endif
   #ifndef Y_SERIAL_RX_PIN
-    #define Y_SERIAL_RX_PIN                P0_00
+    #define Y_SERIAL_RX_PIN      Y_SERIAL_TX_PIN
   #endif
 
   #ifndef Z_SERIAL_TX_PIN
     #define Z_SERIAL_TX_PIN                P2_13
   #endif
   #ifndef Z_SERIAL_RX_PIN
-    #define Z_SERIAL_RX_PIN                P2_13
+    #define Z_SERIAL_RX_PIN      Z_SERIAL_TX_PIN
   #endif
 
   #ifndef E0_SERIAL_TX_PIN
     #define E0_SERIAL_TX_PIN               P2_08
   #endif
   #ifndef E0_SERIAL_RX_PIN
-    #define E0_SERIAL_RX_PIN               P2_08
+    #define E0_SERIAL_RX_PIN    E0_SERIAL_TX_PIN
   #endif
 
   // Reduce baud rate to improve software serial reliability
diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h
index cecb44efbe1..44ceb9b7cc8 100644
--- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h
+++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h
@@ -129,23 +129,20 @@
    * If undefined software serial is used according to the pins below
    */
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                  P1_01
-  #define X_SERIAL_RX_PIN                  P1_01
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                  P1_10
-  #define Y_SERIAL_RX_PIN                  P1_10
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                  P1_17
-  #define Z_SERIAL_RX_PIN                  P1_17
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                 P0_05
-  #define E0_SERIAL_RX_PIN                 P0_05
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                 P0_22
-  #define E1_SERIAL_RX_PIN                 P0_22
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/lpc1769/pins_FLY_CDY.h b/Marlin/src/pins/lpc1769/pins_FLY_CDY.h
index b90443403cc..535fb32e3ee 100644
--- a/Marlin/src/pins/lpc1769/pins_FLY_CDY.h
+++ b/Marlin/src/pins/lpc1769/pins_FLY_CDY.h
@@ -104,22 +104,22 @@
 
 #if HAS_TMC_UART
   #define X_SERIAL_TX_PIN                  P1_04
-  #define X_SERIAL_RX_PIN                  P1_04
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                  P1_10
-  #define Y_SERIAL_RX_PIN                  P1_10
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                  P1_16
-  #define Z_SERIAL_RX_PIN                  P1_16
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                 P4_28
-  #define E0_SERIAL_RX_PIN                 P4_28
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                 P2_12
-  #define E1_SERIAL_RX_PIN                 P2_12
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   #define E2_SERIAL_TX_PIN                 P0_10
-  #define E2_SERIAL_RX_PIN                 P0_10
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h
index ddfee63cd08..f5c158162cd 100644
--- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h
+++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h
@@ -38,17 +38,20 @@
   /**
    * TMC2208/TMC2209 stepper drivers
    */
-
   #define X_SERIAL_TX_PIN                  P1_22  // J8-2
-  #define X_SERIAL_RX_PIN                  P1_22  // J8-2
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
+
   #define Y_SERIAL_TX_PIN                  P1_23  // J8-3
-  #define Y_SERIAL_RX_PIN                  P1_23  // J8-3
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
+
   #define Z_SERIAL_TX_PIN                  P2_12  // J8-4
-  #define Z_SERIAL_RX_PIN                  P2_12  // J8-4
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
+
   #define E0_SERIAL_TX_PIN                 P2_11  // J8-5
-  #define E0_SERIAL_RX_PIN                 P2_11  // J8-5
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
+
   #define E1_SERIAL_TX_PIN                 P4_28  // J8-6
-  #define E1_SERIAL_RX_PIN                 P4_28  // J8-6
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
index 7547279bbda..ff7aa11dafe 100644
--- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
+++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
@@ -173,19 +173,20 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                  P1_01
-  #define X_SERIAL_RX_PIN                  P1_01
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
+
   #define Y_SERIAL_TX_PIN                  P1_08
-  #define Y_SERIAL_RX_PIN                  P1_08
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
+
   #define Z_SERIAL_TX_PIN                  P1_10
-  #define Z_SERIAL_RX_PIN                  P1_10
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
+
   #define E0_SERIAL_TX_PIN                 P1_15
-  #define E0_SERIAL_RX_PIN                 P1_15
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
+
   #define E1_SERIAL_TX_PIN                 P1_17
-  #define E1_SERIAL_RX_PIN                 P1_17
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
index 4d725bc7d16..e45f5dbd95e 100644
--- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
+++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
@@ -75,14 +75,16 @@
 #if HAS_TMC_UART
   //
   // TMC220x stepper drivers
-  // Software serial
   //
   #define X_SERIAL_TX_PIN                  P0_04
   #define X_SERIAL_RX_PIN                  P0_05
+
   #define Y_SERIAL_TX_PIN                  P0_10
   #define Y_SERIAL_RX_PIN                  P0_11
+
   #define Z_SERIAL_TX_PIN                  P0_19
   #define Z_SERIAL_RX_PIN                  P0_20
+
   #define E0_SERIAL_TX_PIN                 P0_22
   #define E0_SERIAL_RX_PIN                 P0_21
 
diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
index 8756a332180..9c6b74f1269 100644
--- a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
+++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
@@ -124,42 +124,42 @@
    * 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
+  #ifndef X_SERIAL_RX_PIN
+    #define X_SERIAL_RX_PIN                   -1  // 71
   #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
+  #ifndef Y_SERIAL_RX_PIN
+    #define Y_SERIAL_RX_PIN                   -1  // 73
   #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
+  #ifndef Z_SERIAL_RX_PIN
+    #define Z_SERIAL_RX_PIN                   -1  // 78
   #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
+  #ifndef E0_SERIAL_RX_PIN
+    #define E0_SERIAL_RX_PIN                  -1  // 76
   #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
+  #ifndef E1_SERIAL_RX_PIN
+    #define E1_SERIAL_RX_PIN                  -1  // 80
   #endif
   #ifndef E2_SERIAL_TX_PIN
     #define E2_SERIAL_TX_PIN                  82
   #endif
+  #ifndef E2_SERIAL_RX_PIN
+    #define E2_SERIAL_RX_PIN                  -1  // 22
+  #endif
 #endif
 
 //
diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h
index 4280204b99d..1fc24154b73 100644
--- a/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h
+++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_14.h
@@ -33,18 +33,23 @@
   /**
    * TMC2208/TMC2209 stepper drivers
    */
-  #define X_SERIAL_RX_PIN                     72
   #define X_SERIAL_TX_PIN                     71
-  #define Y_SERIAL_RX_PIN                     73
+  #define X_SERIAL_RX_PIN                     72
+
   #define Y_SERIAL_TX_PIN                     78
-  #define Z_SERIAL_RX_PIN                     75
+  #define Y_SERIAL_RX_PIN                     73
+
   #define Z_SERIAL_TX_PIN                     79
-  #define E0_SERIAL_RX_PIN                    77
+  #define Z_SERIAL_RX_PIN                     75
+
   #define E0_SERIAL_TX_PIN                    81
-  #define E1_SERIAL_RX_PIN                    76
+  #define E0_SERIAL_RX_PIN                    77
+
   #define E1_SERIAL_TX_PIN                    80
-  #define E2_SERIAL_RX_PIN                    62
+  #define E1_SERIAL_RX_PIN                    76
+
   #define E2_SERIAL_TX_PIN                    82
+  #define E2_SERIAL_RX_PIN                    62
 #endif
 
 #include "pins_FYSETC_F6_13.h"
diff --git a/Marlin/src/pins/ramps/pins_ORTUR_4.h b/Marlin/src/pins/ramps/pins_ORTUR_4.h
index e79973e06f0..428279c92ab 100644
--- a/Marlin/src/pins/ramps/pins_ORTUR_4.h
+++ b/Marlin/src/pins/ramps/pins_ORTUR_4.h
@@ -54,20 +54,19 @@
 #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
+#if HAS_TMC_UART
+  #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 Y_SERIAL_TX_PIN                     64
+  #define Y_SERIAL_RX_PIN                     40
 
-#define Z_SERIAL_TX_PIN                       44
-#define Z_SERIAL_RX_PIN                       42
+  #define Z_SERIAL_TX_PIN                     44
+  #define Z_SERIAL_RX_PIN                     42
 
-#define E0_SERIAL_TX_PIN                      66
-#define E0_SERIAL_RX_PIN                      65
+  #define E0_SERIAL_TX_PIN                    66
+  #define E0_SERIAL_RX_PIN                    65
+#endif
 
 #include "pins_RAMPS.h"
 
diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h
index 2c271408b0c..b141fdbf85d 100644
--- a/Marlin/src/pins/ramps/pins_RAMPS.h
+++ b/Marlin/src/pins/ramps/pins_RAMPS.h
@@ -321,10 +321,6 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
-
   #ifndef X_SERIAL_TX_PIN
     #define X_SERIAL_TX_PIN                   40
   #endif
diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
index 57a9a560d35..a43f10fc93c 100644
--- a/Marlin/src/pins/ramps/pins_TT_OSCAR.h
+++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
@@ -117,10 +117,6 @@
   //#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
diff --git a/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h b/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h
index 26ad5fd6580..feaa4ba98b9 100644
--- a/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h
+++ b/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h
@@ -213,10 +213,6 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
-
   #ifndef X_SERIAL_TX_PIN
     #define X_SERIAL_TX_PIN                   40
   #endif
diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h
index fbd9d7c8641..449ae0273e2 100644
--- a/Marlin/src/pins/samd/pins_RAMPS_144.h
+++ b/Marlin/src/pins/samd/pins_RAMPS_144.h
@@ -194,60 +194,56 @@
   //#define E0_HARDWARE_SERIAL Serial1
   //#define E1_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
-
   #ifndef X_SERIAL_TX_PIN
     #define X_SERIAL_TX_PIN                   47
   #endif
   #ifndef X_SERIAL_RX_PIN
-    #define X_SERIAL_RX_PIN                   47
+    #define X_SERIAL_RX_PIN      X_SERIAL_TX_PIN
   #endif
   #ifndef X2_SERIAL_TX_PIN
     #define X2_SERIAL_TX_PIN                  -1
   #endif
   #ifndef X2_SERIAL_RX_PIN
-    #define X2_SERIAL_RX_PIN                  -1
+    #define X2_SERIAL_RX_PIN    X2_SERIAL_TX_PIN
   #endif
 
   #ifndef Y_SERIAL_TX_PIN
     #define Y_SERIAL_TX_PIN                   45
   #endif
   #ifndef Y_SERIAL_RX_PIN
-    #define Y_SERIAL_RX_PIN                   45
+    #define Y_SERIAL_RX_PIN      Y_SERIAL_TX_PIN
   #endif
   #ifndef Y2_SERIAL_TX_PIN
     #define Y2_SERIAL_TX_PIN                  -1
   #endif
   #ifndef Y2_SERIAL_RX_PIN
-    #define Y2_SERIAL_RX_PIN                  -1
+    #define Y2_SERIAL_RX_PIN    Y2_SERIAL_TX_PIN
   #endif
 
   #ifndef Z_SERIAL_TX_PIN
     #define Z_SERIAL_TX_PIN                   32
   #endif
   #ifndef Z_SERIAL_RX_PIN
-    #define Z_SERIAL_RX_PIN                   32
+    #define Z_SERIAL_RX_PIN      Z_SERIAL_TX_PIN
   #endif
   #ifndef Z2_SERIAL_TX_PIN
     #define Z2_SERIAL_TX_PIN                  22
   #endif
   #ifndef Z2_SERIAL_RX_PIN
-    #define Z2_SERIAL_RX_PIN                  22
+    #define Z2_SERIAL_RX_PIN    Z2_SERIAL_TX_PIN
   #endif
 
   #ifndef E0_SERIAL_TX_PIN
     #define E0_SERIAL_TX_PIN                  43
   #endif
   #ifndef E0_SERIAL_RX_PIN
-    #define E0_SERIAL_RX_PIN                  43
+    #define E0_SERIAL_RX_PIN    E0_SERIAL_TX_PIN
   #endif
   #ifndef E1_SERIAL_TX_PIN
     #define E1_SERIAL_TX_PIN                  -1
   #endif
   #ifndef E1_SERIAL_RX_PIN
-    #define E1_SERIAL_RX_PIN                  -1
+    #define E1_SERIAL_RX_PIN    E1_SERIAL_TX_PIN
   #endif
 #endif
 
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
index 9b71570b083..6ed2869141a 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h
@@ -120,20 +120,17 @@
   //#define Z_HARDWARE_SERIAL  MSerial1
   //#define E0_HARDWARE_SERIAL MSerial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PC10
-  #define X_SERIAL_RX_PIN                   PC10
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PC11
-  #define Y_SERIAL_RX_PIN                   PC11
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PC12
-  #define Z_SERIAL_RX_PIN                   PC12
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD2
-  #define E0_SERIAL_RX_PIN                  PD2
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_2.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_2.h
index 4951d697a72..44d4f234354 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_2.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_2.h
@@ -33,20 +33,17 @@
  * TMC2208/TMC2209 stepper drivers
  */
 #if HAS_TMC_UART
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PB15
-  #define X_SERIAL_RX_PIN                   PB15
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PC6
-  #define Y_SERIAL_RX_PIN                   PC6
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PC10
-  #define Z_SERIAL_RX_PIN                   PC10
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PC11
-  #define E0_SERIAL_RX_PIN                  PC11
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE 19200
diff --git a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h
index dc8b8c50f16..7b61f55d4f1 100644
--- a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h
+++ b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h
@@ -84,15 +84,20 @@
 #define E0_STEP_PIN                         PA6
 #define E0_DIR_PIN                          PA5
 
-// Stepper drivers Serial UART
-#define X_SERIAL_TX_PIN                     PB3
-#define X_SERIAL_RX_PIN                     PD2
-#define Y_SERIAL_TX_PIN                     PA15
-#define Y_SERIAL_RX_PIN                     PC6
-#define Z_SERIAL_TX_PIN                     PB11
-#define Z_SERIAL_RX_PIN                     PB10
-#define E0_SERIAL_TX_PIN                    PC5
-#define E0_SERIAL_RX_PIN                    PC4
+#if HAS_TMC_UART
+  // Stepper drivers Serial UART
+  #define X_SERIAL_TX_PIN                   PB3
+  #define X_SERIAL_RX_PIN                   PD2
+
+  #define Y_SERIAL_TX_PIN                   PA15
+  #define Y_SERIAL_RX_PIN                   PC6
+
+  #define Z_SERIAL_TX_PIN                   PB11
+  #define Z_SERIAL_RX_PIN                   PB10
+
+  #define E0_SERIAL_TX_PIN                  PC5
+  #define E0_SERIAL_RX_PIN                  PC4
+#endif
 
 // Reduce baud rate to improve software serial reliability
 #define TMC_BAUD_RATE                      19200
diff --git a/Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h b/Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h
index 21bbd23ca9f..f850b4a90b0 100644
--- a/Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h
+++ b/Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h
@@ -124,11 +124,11 @@
   // SoftwareSerial with one pin per driver
   // Compatible with TMC2208 and TMC2209 drivers
   #define X_SERIAL_TX_PIN                   PA10  // RXD1
-  #define X_SERIAL_RX_PIN                   PA10  // RXD1
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
   #define Y_SERIAL_TX_PIN                   PA9   // TXD1
-  #define Y_SERIAL_RX_PIN                   PA9   // TXD1
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
   #define Z_SERIAL_TX_PIN                   PC7   // IO1
-  #define Z_SERIAL_RX_PIN                   PC7   // IO1
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
   #define TMC_BAUD_RATE                    19200
 #else
   // Motor current PWM pins
diff --git a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h
index be0a622b1d7..08efa9a04e1 100644
--- a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h
@@ -94,17 +94,14 @@
 #endif
 
 #if HAS_TMC_UART
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PB0
-  #define X_SERIAL_RX_PIN                   PB0
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
   #define Y_SERIAL_TX_PIN                   PA7
-  #define Y_SERIAL_RX_PIN                   PA7
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
   #define Z_SERIAL_TX_PIN                   PA4
-  #define Z_SERIAL_RX_PIN                   PA4
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
   #define E0_SERIAL_TX_PIN                  PC2
-  #define E0_SERIAL_RX_PIN                  PC2
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 #endif
 
 //
diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h
index ba35265d10a..120d6d6f0a7 100644
--- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h
+++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h
@@ -42,9 +42,6 @@
    * TMC2208/TMC2209 stepper drivers
    */
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PA11
   #define X_SERIAL_RX_PIN                   PA12
 
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h
index 889e1f5e07b..29baeba934f 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h
@@ -258,12 +258,12 @@
   //#define TMC_SOFTWARE_SERIAL
   #if ENABLED(TMC_SOFTWARE_SERIAL)
     #define X_SERIAL_TX_PIN                 PF8   // SERVO3_PIN -- XS2 - 6
-    #define Y_SERIAL_TX_PIN                 PF9   // SERVO2_PIN -- XS2 - 5
-    #define Z_SERIAL_TX_PIN                 PA1   // SERVO1_PIN -- XS1 - 6
-    #define E0_SERIAL_TX_PIN                PC3   // SERVO0_PIN -- XS1 - 5
     #define X_SERIAL_RX_PIN      X_SERIAL_TX_PIN
+    #define Y_SERIAL_TX_PIN                 PF9   // SERVO2_PIN -- XS2 - 5
     #define Y_SERIAL_RX_PIN      Y_SERIAL_TX_PIN
+    #define Z_SERIAL_TX_PIN                 PA1   // SERVO1_PIN -- XS1 - 6
     #define Z_SERIAL_RX_PIN      Z_SERIAL_TX_PIN
+    #define E0_SERIAL_TX_PIN                PC3   // SERVO0_PIN -- XS1 - 5
     #define E0_SERIAL_RX_PIN    E0_SERIAL_TX_PIN
     #define TMC_BAUD_RATE                  19200
   #endif
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
index ba519800651..2cfb71380d3 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
@@ -145,10 +145,6 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
-
   #define X_SERIAL_TX_PIN                   PD5
   #define X_SERIAL_RX_PIN                   PD5
 
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
index d522e683da8..2d8b0abce48 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
@@ -92,9 +92,6 @@
   //#define Z_HARDWARE_SERIAL  MSerial1
   //#define E0_HARDWARE_SERIAL MSerial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PC7
   #define X_SERIAL_RX_PIN                   PC7
 
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
index 97474446524..0c59c6d7eae 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
@@ -146,10 +146,6 @@
   //#define E0_HARDWARE_SERIAL MSerial1
   //#define E1_HARDWARE_SERIAL MSerial1
 
-  //
-  // Software serial
-  //
-
   #define X_SERIAL_TX_PIN                   PD5
   #define X_SERIAL_RX_PIN                   PD5
 
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
index d752d52a3a3..1f3efee6e56 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
@@ -133,9 +133,6 @@
   //#define E1_HARDWARE_SERIAL MSerial1
   //#define E2_HARDWARE_SERIAL MSerial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PF7
   #define X_SERIAL_RX_PIN                   PF8
 
diff --git a/Marlin/src/pins/stm32f4/pins_ARMED.h b/Marlin/src/pins/stm32f4/pins_ARMED.h
index a67af089f20..4d0369b044f 100644
--- a/Marlin/src/pins/stm32f4/pins_ARMED.h
+++ b/Marlin/src/pins/stm32f4/pins_ARMED.h
@@ -204,9 +204,6 @@
 
 #if HAS_TMC_UART
   // TMC2208/TMC2209 stepper drivers
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN               EXT0_PIN
   #define X_SERIAL_RX_PIN               EXT0_PIN
 
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
index 2bfbb194270..79a414d7d46 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
@@ -137,20 +137,17 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial  ##
-  //
   #define X_SERIAL_TX_PIN                   PE2
-  #define X_SERIAL_RX_PIN                   PE2
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PE3
-  #define Y_SERIAL_RX_PIN                   PE3
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PE4
-  #define Z_SERIAL_RX_PIN                   PE4
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD7
-  #define E0_SERIAL_RX_PIN                  PD7
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h b/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
index a806611c18f..481c38f5152 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
@@ -112,27 +112,24 @@
  * TMC2208/TMC2209 stepper drivers
  */
 #if HAS_TMC_UART
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PD6
-  #define X_SERIAL_RX_PIN                   PD6
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PD1
-  #define Y_SERIAL_RX_PIN                   PD1
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PD15
-  #define Z_SERIAL_RX_PIN                   PD15
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD11
-  #define E0_SERIAL_RX_PIN                  PD11
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #if ENABLED(BTT_E3_RRF_IDEX_BOARD)
     #define X2_SERIAL_TX_PIN           FPC12_PIN  // X2UART
-    #define X2_SERIAL_RX_PIN           FPC12_PIN  // X2UART
+    #define X2_SERIAL_RX_PIN    X2_SERIAL_TX_PIN
 
     #define E1_SERIAL_TX_PIN            FPC6_PIN  // E1UART
-    #define E1_SERIAL_RX_PIN            FPC6_PIN  // E1UART
+    #define E1_SERIAL_RX_PIN    E1_SERIAL_TX_PIN
   #endif
 
   // Reduce baud rate to improve software serial reliability
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
index 3151a38ae8f..fa49ff14955 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
@@ -239,42 +239,39 @@
   //#define E6_HARDWARE_SERIAL Serial1  // M5 MOTOR 4
   //#define E7_HARDWARE_SERIAL Serial1  // M5 MOTOR 5
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PC14
-  #define X_SERIAL_RX_PIN                   PC14
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PE1
-  #define Y_SERIAL_RX_PIN                   PE1
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PB5
-  #define Z_SERIAL_RX_PIN                   PB5
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PG10
-  #define E0_SERIAL_RX_PIN                  PG10
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PD4
-  #define E1_SERIAL_RX_PIN                  PD4
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   #define E2_SERIAL_TX_PIN                  PC12
-  #define E2_SERIAL_RX_PIN                  PC12
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   #if ENABLED(M5_EXTENDER)
     #define E3_SERIAL_TX_PIN                PG4
-    #define E3_SERIAL_RX_PIN                PG4
+    #define E3_SERIAL_RX_PIN    E3_SERIAL_TX_PIN
 
     #define E4_SERIAL_TX_PIN                PE15
-    #define E4_SERIAL_RX_PIN                PE15
+    #define E4_SERIAL_RX_PIN    E4_SERIAL_TX_PIN
 
     #define E5_SERIAL_TX_PIN                PE7
-    #define E5_SERIAL_RX_PIN                PE7
+    #define E5_SERIAL_RX_PIN    E5_SERIAL_TX_PIN
 
     #define E6_SERIAL_TX_PIN                PF15
-    #define E6_SERIAL_RX_PIN                PF15
+    #define E6_SERIAL_RX_PIN    E6_SERIAL_TX_PIN
 
     #define E7_SERIAL_TX_PIN                PH14
-    #define E7_SERIAL_RX_PIN                PH14
+    #define E7_SERIAL_RX_PIN    E7_SERIAL_TX_PIN
   #endif
 
   // Reduce baud rate to improve software serial reliability
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h b/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
index 25622bc62d8..92e7b5d3749 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
@@ -282,32 +282,29 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PC4
-  #define X_SERIAL_RX_PIN                   PC4
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PD11
-  #define Y_SERIAL_RX_PIN                   PD11
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PC6
-  #define Z_SERIAL_RX_PIN                   PC6
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define Z2_SERIAL_TX_PIN                  PC7
-  #define Z2_SERIAL_RX_PIN                  PC7
+  #define Z2_SERIAL_RX_PIN      Z2_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PF2
-  #define E0_SERIAL_RX_PIN                  PF2
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PE4
-  #define E1_SERIAL_RX_PIN                  PE4
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   #define E2_SERIAL_TX_PIN                  PE1
-  #define E2_SERIAL_RX_PIN                  PE1
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   #define E3_SERIAL_TX_PIN                  PD3
-  #define E3_SERIAL_RX_PIN                  PD3
+  #define E3_SERIAL_RX_PIN      E3_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
@@ -387,7 +384,7 @@
   #define E4_CS_PIN                  EXP1_05_PIN
   #if HAS_TMC_UART
     #define E4_SERIAL_TX_PIN         EXP1_05_PIN
-    #define E4_SERIAL_RX_PIN         EXP1_05_PIN
+    #define E4_SERIAL_RX_PIN    E4_SERIAL_TX_PIN
   #endif
 
   // M2 on Driver Expansion Module
@@ -398,7 +395,7 @@
   #define E5_CS_PIN                  EXP1_07_PIN
   #if HAS_TMC_UART
     #define E5_SERIAL_TX_PIN         EXP1_07_PIN
-    #define E5_SERIAL_RX_PIN         EXP1_07_PIN
+    #define E5_SERIAL_RX_PIN    E5_SERIAL_TX_PIN
   #endif
 
   // M3 on Driver Expansion Module
@@ -409,7 +406,7 @@
   #define E6_CS_PIN                  EXP1_09_PIN
   #if HAS_TMC_UART
     #define E6_SERIAL_TX_PIN         EXP1_09_PIN
-    #define E6_SERIAL_RX_PIN         EXP1_09_PIN
+    #define E6_SERIAL_RX_PIN    E6_SERIAL_TX_PIN
   #endif
 
 #endif // BTT_MOTOR_EXPANSION
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
index eb3ce730a69..e43cc4e5a06 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
@@ -204,26 +204,23 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PC13
-  #define X_SERIAL_RX_PIN                   PC13
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PE3
-  #define Y_SERIAL_RX_PIN                   PE3
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PE1
-  #define Z_SERIAL_RX_PIN                   PE1
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD4
-  #define E0_SERIAL_RX_PIN                  PD4
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PD1
-  #define E1_SERIAL_RX_PIN                  PD1
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   #define E2_SERIAL_TX_PIN                  PD6
-  #define E2_SERIAL_RX_PIN                  PD6
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
index e5d6b6891b5..dc2ee99affc 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_V2_0_common.h
@@ -267,23 +267,20 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PE0
-  #define X_SERIAL_RX_PIN                   PE0
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PD3
-  #define Y_SERIAL_RX_PIN                   PD3
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PD0
-  #define Z_SERIAL_RX_PIN                   PD0
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PC6
-  #define E0_SERIAL_RX_PIN                  PC6
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PD12
-  #define E1_SERIAL_RX_PIN                  PD12
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
index 77257f818a5..728e7535439 100644
--- a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
+++ b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h
@@ -234,32 +234,31 @@
 
 #if HAS_TMC_UART
   #define X_SERIAL_TX_PIN                   PG13
-  #define X_SERIAL_RX_PIN                   PG13
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PG10
-  #define Y_SERIAL_RX_PIN                   PG10
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PD5
-  #define Z_SERIAL_RX_PIN                   PD5
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD1
-  #define E0_SERIAL_RX_PIN                  PD1
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PA14
-  #define E1_SERIAL_RX_PIN                  PA14
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   #define E2_SERIAL_TX_PIN                  PG6
-  #define E2_SERIAL_RX_PIN                  PG6
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   #define E3_SERIAL_TX_PIN                  PG3
-  #define E3_SERIAL_RX_PIN                  PG3
+  #define E3_SERIAL_RX_PIN      E3_SERIAL_TX_PIN
 
   #define E4_SERIAL_TX_PIN                  PD10
-  #define E4_SERIAL_RX_PIN                  PD10
+  #define E4_SERIAL_RX_PIN      E4_SERIAL_TX_PIN
 
   #define E5_SERIAL_TX_PIN                  PB12
-  #define E5_SERIAL_RX_PIN                  PB12
-
+  #define E5_SERIAL_RX_PIN      E5_SERIAL_TX_PIN
 #endif
 
 //
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
index 492383048e0..986cd7feaa3 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
@@ -118,9 +118,6 @@
   // TMC2208/TMC2209 stepper drivers
   //
 
-  //
-  // Software serial
-  //
   #ifndef X_SERIAL_TX_PIN
     #define X_SERIAL_TX_PIN                 PE9
   #endif
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h
index 641805d855a..6f1c9be8f5b 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h
@@ -40,7 +40,6 @@
 #if HAS_TMC_UART
   #define X_SERIAL_TX_PIN                   PE8
   #define Y_SERIAL_TX_PIN                   PC4
-  #define Y_SERIAL_RX_PIN                   PC4
   #define Z_SERIAL_TX_PIN                   PD12
   #define E0_SERIAL_TX_PIN                  PA15
   #define E1_SERIAL_TX_PIN                  PC5
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_SPIDER.h b/Marlin/src/pins/stm32f4/pins_FYSETC_SPIDER.h
index e90ac552aef..e05811552e2 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_SPIDER.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_SPIDER.h
@@ -76,21 +76,28 @@
 
 #if HAS_TMC_UART
   #define X_SERIAL_TX_PIN                   PE7
-  #define X_SERIAL_RX_PIN                   PE7
-  #define Y_SERIAL_TX_PIN                   PE15
-  #define Y_SERIAL_RX_PIN                   PE15
-  #define Z_SERIAL_TX_PIN                   PD10
-  #define Z_SERIAL_RX_PIN                   PD10
-  #define E0_SERIAL_TX_PIN                  PD7
-  #define E0_SERIAL_RX_PIN                  PD7
-  #define E1_SERIAL_TX_PIN                  PC14
-  #define E1_SERIAL_RX_PIN                  PC14
-  #define E2_SERIAL_TX_PIN                  PC15
-  #define E2_SERIAL_RX_PIN                  PC15
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
+
   #define X2_SERIAL_TX_PIN                  PA15
-  #define X2_SERIAL_RX_PIN                  PA15
+  #define X2_SERIAL_RX_PIN      X2_SERIAL_TX_PIN
+
+  #define Y_SERIAL_TX_PIN                   PE15
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
+
+  #define Z_SERIAL_TX_PIN                   PD10
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
+
   #define Z2_SERIAL_TX_PIN                  PD11
-  #define Z2_SERIAL_RX_PIN                  PD11
+  #define Z2_SERIAL_RX_PIN      Z2_SERIAL_TX_PIN
+
+  #define E0_SERIAL_TX_PIN                  PD7
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
+
+  #define E1_SERIAL_TX_PIN                  PC14
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
+
+  #define E2_SERIAL_TX_PIN                  PC15
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 #endif
 
 //
diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_K.h b/Marlin/src/pins/stm32f4/pins_LERDGE_K.h
index 3b75e7072ad..4adc2f65a2f 100644
--- a/Marlin/src/pins/stm32f4/pins_LERDGE_K.h
+++ b/Marlin/src/pins/stm32f4/pins_LERDGE_K.h
@@ -118,37 +118,37 @@
     #define X_SERIAL_TX_PIN                 PB2
   #endif
   #ifndef X_SERIAL_RX_PIN
-    #define X_SERIAL_RX_PIN                 PB2
+    #define X_SERIAL_RX_PIN      X_SERIAL_TX_PIN
   #endif
   #ifndef Y_SERIAL_TX_PIN
     #define Y_SERIAL_TX_PIN                 PE2
   #endif
   #ifndef Y_SERIAL_RX_PIN
-    #define Y_SERIAL_RX_PIN                 PE2
+    #define Y_SERIAL_RX_PIN      Y_SERIAL_TX_PIN
   #endif
   #ifndef Z_SERIAL_TX_PIN
     #define Z_SERIAL_TX_PIN                 PE3
   #endif
   #ifndef Z_SERIAL_RX_PIN
-    #define Z_SERIAL_RX_PIN                 PE3
+    #define Z_SERIAL_RX_PIN      Z_SERIAL_TX_PIN
   #endif
   #ifndef E0_SERIAL_TX_PIN
     #define E0_SERIAL_TX_PIN                PE4
   #endif
   #ifndef E0_SERIAL_RX_PIN
-    #define E0_SERIAL_RX_PIN                PE4
+    #define E0_SERIAL_RX_PIN    E0_SERIAL_TX_PIN
   #endif
   #ifndef E1_SERIAL_TX_PIN
     #define E1_SERIAL_TX_PIN                PE1
   #endif
   #ifndef E1_SERIAL_RX_PIN
-    #define E1_SERIAL_RX_PIN                PE1
+    #define E1_SERIAL_RX_PIN    E1_SERIAL_TX_PIN
   #endif
   #ifndef EX_SERIAL_TX_PIN
     #define E2_SERIAL_TX_PIN                PE0
   #endif
   #ifndef EX_SERIAL_RX_PIN
-    #define E2_SERIAL_RX_PIN                PE0
+    #define E2_SERIAL_RX_PIN    E2_SERIAL_TX_PIN
   #endif
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8.h b/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8.h
index 5c666856299..adc8b2a8bdb 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_MONSTER8.h
@@ -160,28 +160,28 @@
   // No Hardware serial for steppers
   //
   #define X_SERIAL_TX_PIN                   PE6
-  #define X_SERIAL_RX_PIN                   PE6
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PE3
-  #define Y_SERIAL_RX_PIN                   PE3
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PB7
-  #define Z_SERIAL_RX_PIN                   PB7
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PB3
-  #define E0_SERIAL_RX_PIN                  PB3
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PD4
-  #define E1_SERIAL_RX_PIN                  PD4
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   #define E2_SERIAL_TX_PIN                  PD0
-  #define E2_SERIAL_RX_PIN                  PD0
+  #define E2_SERIAL_RX_PIN      E2_SERIAL_TX_PIN
 
   #define E3_SERIAL_TX_PIN                  PD15
-  #define E3_SERIAL_RX_PIN                  PD15
+  #define E3_SERIAL_RX_PIN      E3_SERIAL_TX_PIN
 
   #define E4_SERIAL_TX_PIN                  PD11
-  #define E4_SERIAL_RX_PIN                  PD11
+  #define E4_SERIAL_RX_PIN      E4_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3.h b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3.h
index 41fb1220d4c..a51a18362f0 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_NANO_V3.h
@@ -134,19 +134,19 @@
   // No Hardware serial for steppers
   //
   #define X_SERIAL_TX_PIN                   PD5
-  #define X_SERIAL_RX_PIN                   PD5
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PD7
-  #define Y_SERIAL_RX_PIN                   PD7
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PD4
-  #define Z_SERIAL_RX_PIN                   PD4
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD9
-  #define E0_SERIAL_RX_PIN                  PD9
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PD8
-  #define E1_SERIAL_RX_PIN                  PD8
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h
index c2809c85532..a56889fc7e4 100644
--- a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h
+++ b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN_PRO_V2.h
@@ -147,24 +147,20 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
-
   #define X_SERIAL_TX_PIN                   PD5
-  #define X_SERIAL_RX_PIN                   PD5
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PD7
-  #define Y_SERIAL_RX_PIN                   PD7
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PD4
-  #define Z_SERIAL_RX_PIN                   PD4
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PD9
-  #define E0_SERIAL_RX_PIN                  PD9
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PD8
-  #define E1_SERIAL_RX_PIN                  PD8
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200
diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h
index 4dce7b79c01..0b539417d6d 100644
--- a/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h
+++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h
@@ -67,9 +67,6 @@
   //#define E3_HARDWARE_SERIAL Serial1
   //#define E4_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PA3
   #define X_SERIAL_RX_PIN                   PC14
 
diff --git a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
index 5e50548c9b5..217664e5bc2 100644
--- a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
+++ b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
@@ -130,16 +130,16 @@
 
 #if HAS_TMC_UART
   #define X_SERIAL_TX_PIN                   PB9
-  #define X_SERIAL_RX_PIN                   PB9
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PE3
-  #define Y_SERIAL_RX_PIN                   PE3
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PE12
-  #define Z_SERIAL_RX_PIN                   PE12
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
-  #define E_SERIAL_TX_PIN                   PG9
-  #define E_SERIAL_RX_PIN                   PG9
+  #define E0_SERIAL_TX_PIN                  PG9
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 #endif
 
 //
diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX.h
index d85bbf7bed9..991c611a89f 100644
--- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX.h
+++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX.h
@@ -131,23 +131,20 @@
   //#define E6_HARDWARE_SERIAL Serial1
   //#define E7_HARDWARE_SERIAL Serial1
 
-  //
-  // Software serial
-  //
   #define X_SERIAL_TX_PIN                   PG10
-  #define X_SERIAL_RX_PIN                   PG10
+  #define X_SERIAL_RX_PIN        X_SERIAL_TX_PIN
 
   #define Y_SERIAL_TX_PIN                   PD4
-  #define Y_SERIAL_RX_PIN                   PD4
+  #define Y_SERIAL_RX_PIN        Y_SERIAL_TX_PIN
 
   #define Z_SERIAL_TX_PIN                   PD5
-  #define Z_SERIAL_RX_PIN                   PD5
+  #define Z_SERIAL_RX_PIN        Z_SERIAL_TX_PIN
 
   #define E0_SERIAL_TX_PIN                  PI8
-  #define E0_SERIAL_RX_PIN                  PI8
+  #define E0_SERIAL_RX_PIN      E0_SERIAL_TX_PIN
 
   #define E1_SERIAL_TX_PIN                  PC8
-  #define E1_SERIAL_RX_PIN                  PC8
+  #define E1_SERIAL_RX_PIN      E1_SERIAL_TX_PIN
 
   // Reduce baud rate to improve software serial reliability
   #define TMC_BAUD_RATE                    19200