From 43d6e9fa4361cf744b6497b8819fa241812692e2 Mon Sep 17 00:00:00 2001
From: Tanguy Pruvot <tpruvot@users.noreply.github.com>
Date: Sun, 29 Sep 2019 09:04:53 +0200
Subject: [PATCH] STM32F103.. reorganization, SKR mini fix (#15398)

---
 .circleci/config.yml                          |  6 ++--
 .travis.yml                                   | 13 +++++----
 Marlin/src/core/boards.h                      |  4 +--
 Marlin/src/inc/SanityCheck.h                  |  6 +++-
 Marlin/src/pins/pins.h                        | 28 +++++++++----------
 .../src/pins/stm32/pins_BIGTREE_SKR_E3_DIP.h  |  8 +++++-
 .../src/pins/stm32/pins_BIGTREE_SKR_MINI_E3.h |  8 +++++-
 .../pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h   | 15 +++++++---
 ...F1_SKR_MINI.ld => STM32F103RC_SKR_MINI.ld} |  0
 ...{longer_STM32.ld => STM32F103VE_longer.ld} |  0
 ...F1_SKR_MINI.py => STM32F103RC_SKR_MINI.py} |  2 +-
 ...2F103R_fysetc.py => STM32F103RC_fysetc.py} |  0
 ...{longer_STM32.py => STM32F103VE_longer.py} |  2 +-
 buildroot/share/git/mftest                    |  4 +--
 ...yanm200-tests => STM32F103CB_malyan-tests} |  2 +-
 ...igtree-tests => STM32F103RC_bigtree-tests} |  2 +-
 .../share/tests/STM32F103RC_bigtree_USB-tests | 19 +++++++++++++
 ..._fysetc-tests => STM32F103RC_fysetc-tests} |  2 +-
 .../{STM32F103R-tests => STM32F103RE-tests}   |  2 +-
 ..._longer-tests => STM32F103VE_longer-tests} |  0
 .../Configuration.h                           |  2 +-
 .../STM32/stm32f103ret6/Configuration.h       |  2 +-
 platformio.ini                                | 26 ++++++++---------
 23 files changed, 98 insertions(+), 55 deletions(-)
 rename buildroot/share/PlatformIO/ldscripts/{STM32F1_SKR_MINI.ld => STM32F103RC_SKR_MINI.ld} (100%)
 rename buildroot/share/PlatformIO/ldscripts/{longer_STM32.ld => STM32F103VE_longer.ld} (100%)
 rename buildroot/share/PlatformIO/scripts/{STM32F1_SKR_MINI.py => STM32F103RC_SKR_MINI.py} (91%)
 rename buildroot/share/PlatformIO/scripts/{STM32F103R_fysetc.py => STM32F103RC_fysetc.py} (100%)
 rename buildroot/share/PlatformIO/scripts/{longer_STM32.py => STM32F103VE_longer.py} (97%)
 rename buildroot/share/tests/{malyanm200-tests => STM32F103CB_malyan-tests} (78%)
 rename buildroot/share/tests/{STM32F103R_bigtree-tests => STM32F103RC_bigtree-tests} (84%)
 create mode 100644 buildroot/share/tests/STM32F103RC_bigtree_USB-tests
 rename buildroot/share/tests/{STM32F103R_fysetc-tests => STM32F103RC_fysetc-tests} (85%)
 rename buildroot/share/tests/{STM32F103R-tests => STM32F103RE-tests} (94%)
 rename buildroot/share/tests/{STM32F103V_longer-tests => STM32F103VE_longer-tests} (100%)
 rename config/examples/STM32/{STM32F103R => STM32F103RE}/Configuration.h (99%)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index cb8c31b22b5..5369e2f4d5a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -240,10 +240,10 @@ jobs:
             build_marlin_pio ./ ${TEST_PLATFORM}
             restore_configs
             echo testing STM32F1 targets...
-            export TEST_PLATFORM="-e STM32F103R"
+            export TEST_PLATFORM="-e STM32F103RE"
             restore_configs
-            echo use_example_configs STM32/STM32F103R
-            use_example_configs STM32/STM32F103R
+            echo use_example_configs STM32/STM32F103RE
+            use_example_configs STM32/STM32F103RE
             build_marlin_pio ./ ${TEST_PLATFORM}
             restore_configs
             echo use_example_configs STM32/stm32f103ret6
diff --git a/.travis.yml b/.travis.yml
index cfd6a675565..4bfadbcc6b7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,7 +16,7 @@ env:
   - TEST_PLATFORM="LPC1768"
   - TEST_PLATFORM="LPC1769"
   - TEST_PLATFORM="megaatmega2560"
-  - TEST_PLATFORM="STM32F103R"
+  - TEST_PLATFORM="STM32F103RE"
   - TEST_PLATFORM="teensy31"
   - TEST_PLATFORM="teensy35"
 
@@ -31,22 +31,23 @@ env:
   - TEST_PLATFORM="ARMED"
   - TEST_PLATFORM="BIGTREE_BTT002"
   - TEST_PLATFORM="BIGTREE_SKR_PRO"
-  - TEST_PLATFORM="STM32F103R_bigtree"
+  - TEST_PLATFORM="STM32F103RC_bigtree"
   - TEST_PLATFORM="jgaurora_a5s_a1"
-  - TEST_PLATFORM="STM32F103V_longer"
+  - TEST_PLATFORM="STM32F103VE_longer"
   - TEST_PLATFORM="STM32F407VE_black"
 
   # Non-working environment tests
   #- TEST_PLATFORM="at90usb1286_cdc"
   #- TEST_PLATFORM="at90usb1286_dfu"
-  #- TEST_PLATFORM="malyanm200"
+  #- TEST_PLATFORM="STM32F103CB_malyan"
   #- TEST_PLATFORM="mks_robin"
   #- TEST_PLATFORM="mks_robin_lite"
   #- TEST_PLATFORM="mks_robin_mini"
   #- TEST_PLATFORM="mks_robin_nano"
   #- TEST_PLATFORM="SAMD51_grandcentral_m4"
-  #- TEST_PLATFORM="STM32F103R_bigtree"
-  #- TEST_PLATFORM="STM32F103R_fysetc"
+  #- TEST_PLATFORM="STM32F103RC_bigtree"
+  #- TEST_PLATFORM="STM32F103RC_bigtree_USB"
+  #- TEST_PLATFORM="STM32F103RC_fysetc"
   #- TEST_PLATFORM="STM32F4"
   #- TEST_PLATFORM="STM32F7"
 
diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h
index 89f1f0d20d9..4924afa4454 100644
--- a/Marlin/src/core/boards.h
+++ b/Marlin/src/core/boards.h
@@ -255,9 +255,9 @@
 // STM32 ARM Cortex-M3
 //
 
-#define BOARD_STM32F103R              4000  // STM32F103R Libmaple-based STM32F1 controller
+#define BOARD_STM32F103RE             4000  // STM32F103RE Libmaple-based STM32F1 controller
 #define BOARD_MALYAN_M200             4001  // STM32C8T6  Libmaple-based STM32F1 controller
-#define BOARD_STM3R_MINI              4002  // STM32F103R Libmaple-based STM32F1 controller
+#define BOARD_STM3R_MINI              4002  // STM32F103RE Libmaple-based STM32F1 controller
 #define BOARD_GTM32_PRO_VB            4003  // STM32F103VET6 controller
 #define BOARD_MORPHEUS                4004  // STM32F103C8 / STM32F103CB  Libmaple-based STM32F1 controller
 #define BOARD_CHITU3D                 4005  // Chitu3D (STM32F103RET6)
diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h
index 636919ea813..bf76e5fe8d8 100644
--- a/Marlin/src/inc/SanityCheck.h
+++ b/Marlin/src/inc/SanityCheck.h
@@ -410,6 +410,7 @@
 #define BOARD_FORMBOT_TREX2 -1003
 #define BOARD_BIQU_SKR_V1_1 -1004
 #define BOARD_STM32F1R      -1005
+#define BOARD_STM32F103R    -1006
 #if MB(MKS_13)
   #error "BOARD_MKS_13 has been renamed BOARD_MKS_GEN_13. Please update your configuration."
 #elif MB(TRIGORILLA)
@@ -421,7 +422,9 @@
 #elif MB(BIQU_SKR_V1_1)
   #error "BOARD_BIQU_SKR_V1_1 has been renamed BOARD_BIGTREE_SKR_V1_1. Please update your configuration."
 #elif MB(STM32F1R)
-  #error "BOARD_STM32F1R has been renamed BOARD_STM32F103R. Please update your configuration."
+  #error "BOARD_STM32F1R has been renamed BOARD_STM32F103RE. Please update your configuration."
+#elif MB(STM32F103R)
+  #error "BOARD_STM32F103R has been renamed BOARD_STM32F103RE. Please update your configuration."
 #endif
 #undef BOARD_MKS_13
 #undef BOARD_TRIGORILLA
@@ -429,6 +432,7 @@
 #undef BOARD_FORMBOT_TREX2
 #undef BOARD_BIQU_SKR_V1_1
 #undef BOARD_STM32F1R
+#undef BOARD_STM32F103R
 
 /**
  * Marlin release, version and default string
diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index 4058c72836c..19bdc5a741f 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -442,18 +442,18 @@
 // STM32 ARM Cortex-M3
 //
 
-#elif MB(STM32F103R)
-  #include "stm32/pins_STM32F1R.h"              // STM32F1                                env:STM32F103R
+#elif MB(STM32F103RE)
+  #include "stm32/pins_STM32F1R.h"              // STM32F1                                env:STM32F103RE
 #elif MB(MALYAN_M200)
-  #include "stm32/pins_MALYAN_M200.h"           // STM32F1                                env:malyanm200
+  #include "stm32/pins_MALYAN_M200.h"           // STM32F1                                env:STM32F103CB_malyan
 #elif MB(STM3R_MINI)
-  #include "stm32/pins_STM3R_MINI.h"            // STM32F1                                env:STM32F103R
+  #include "stm32/pins_STM3R_MINI.h"            // STM32F1                                env:STM32F103RE
 #elif MB(GTM32_PRO_VB)
-  #include "stm32/pins_GTM32_PRO_VB.h"          // STM32F1                                env:STM32F103R
+  #include "stm32/pins_GTM32_PRO_VB.h"          // STM32F1                                env:STM32F103RE
 #elif MB(MORPHEUS)
-  #include "stm32/pins_MORPHEUS.h"              // STM32F1                                env:STM32F103R
+  #include "stm32/pins_MORPHEUS.h"              // STM32F1                                env:STM32F103RE
 #elif MB(CHITU3D)
-  #include "stm32/pins_CHITU3D.h"               // STM32F1                                env:STM32F103R
+  #include "stm32/pins_CHITU3D.h"               // STM32F1                                env:STM32F103RE
 #elif MB(MKS_ROBIN)
   #include "stm32/pins_MKS_ROBIN.h"             // STM32F1                                env:mks_robin
 #elif MB(MKS_ROBIN_MINI)
@@ -463,21 +463,21 @@
 #elif MB(MKS_ROBIN_LITE)
   #include "stm32/pins_MKS_ROBIN_LITE.h"        // STM32F1                                env:mks_robin_lite
 #elif MB(BIGTREE_SKR_MINI_V1_1)
-  #include "stm32/pins_BIGTREE_SKR_MINI_V1_1.h" // STM32F1                                env:STM32F103R_bigtree
+  #include "stm32/pins_BIGTREE_SKR_MINI_V1_1.h" // STM32F1                                env:STM32F103RC_bigtree
 #elif MB(BIGTREE_SKR_MINI_E3)
-  #include "stm32/pins_BIGTREE_SKR_MINI_E3.h"   // STM32F1                                env:STM32F103R_bigtree
+  #include "stm32/pins_BIGTREE_SKR_MINI_E3.h"   // STM32F1                                env:STM32F103RC_bigtree
 #elif MB(BIGTREE_SKR_E3_DIP)
-  #include "stm32/pins_BIGTREE_SKR_E3_DIP.h"    // STM32F1                                env:STM32F103R_bigtree
+  #include "stm32/pins_BIGTREE_SKR_E3_DIP.h"    // STM32F1                                env:STM32F103RC_bigtree
 #elif MB(JGAURORA_A5S_A1)
   #include "stm32/pins_JGAURORA_A5S_A1.h"       // STM32F1                                env:jgaurora_a5s_a1
 #elif MB(FYSETC_AIO_II)
-  #include "stm32/pins_FYSETC_AIO_II.h"         // STM32F1                                env:STM32F103R_fysetc
+  #include "stm32/pins_FYSETC_AIO_II.h"         // STM32F1                                env:STM32F103RC_fysetc
 #elif MB(FYSETC_CHEETAH)
-  #include "stm32/pins_FYSETC_CHEETAH.h"        // STM32F1                                env:STM32F103R_fysetc
+  #include "stm32/pins_FYSETC_CHEETAH.h"        // STM32F1                                env:STM32F103RC_fysetc
 #elif MB(FYSETC_CHEETAH_V12)
-  #include "stm32/pins_FYSETC_CHEETAH_V12.h"    // STM32F1                                env:STM32F103R_fysetc
+  #include "stm32/pins_FYSETC_CHEETAH_V12.h"    // STM32F1                                env:STM32F103RC_fysetc
 #elif MB(LONGER3D_LK)
-  #include "stm32/pins_LONGER3D_LK.h"           // STM32F1                                env:STM32F103V_longer
+  #include "stm32/pins_LONGER3D_LK.h"           // STM32F1                                env:STM32F103VE_longer
 
 //
 // ARM Cortex-M4F
diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_E3_DIP.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_E3_DIP.h
index 1e8e605abb6..d3c1cc2a1a8 100644
--- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_E3_DIP.h
+++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_E3_DIP.h
@@ -33,9 +33,15 @@
 // Ignore temp readings during development.
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 
+#ifdef MCU_STM32F103RE
+  #define STM32_FLASH_SIZE (512 * 1024)
+#else
+  #define STM32_FLASH_SIZE (256 * 1024)
+#endif
+
 #define FLASH_EEPROM_EMULATION
 #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
-#define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
+#define EEPROM_START_ADDRESS uint32(0x8000000 + STM32_FLASH_SIZE - 2 * EEPROM_PAGE_SIZE)
 #undef E2END
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
 
diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_E3.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_E3.h
index b0039b109c8..7f0698483e6 100644
--- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_E3.h
+++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_E3.h
@@ -33,9 +33,15 @@
 // Ignore temp readings during development.
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 
+#ifdef MCU_STM32F103RE
+  #define STM32_FLASH_SIZE (512 * 1024)
+#else
+  #define STM32_FLASH_SIZE (256 * 1024)
+#endif
+
 #define FLASH_EEPROM_EMULATION
 #define EEPROM_PAGE_SIZE     uint16(0x800) // 2KB
-#define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
+#define EEPROM_START_ADDRESS uint32(0x8000000 + STM32_FLASH_SIZE - 2 * EEPROM_PAGE_SIZE)
 #undef E2END
 #define E2END                (EEPROM_PAGE_SIZE - 1) // 2KB
 
diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h
index 181773c6b1e..01719236ad1 100644
--- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h
+++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h
@@ -33,6 +33,17 @@
 // Ignore temp readings during development.
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 
+#ifdef MCU_STM32F103RE
+  #define STM32_FLASH_SIZE (512 * 1024)
+#else
+  #define STM32_FLASH_SIZE (256 * 1024)
+#endif
+
+#define FLASH_EEPROM_EMULATION
+#define EEPROM_PAGE_SIZE     (0x800) // 2KB
+#define EEPROM_START_ADDRESS (0x8000000 + STM32_FLASH_SIZE - 2 * EEPROM_PAGE_SIZE)
+#define E2END                (EEPROM_PAGE_SIZE - 1)
+
 //
 // Limit Switches
 //
@@ -208,7 +219,3 @@
   #define ST7920_DELAY_3 DELAY_NS(125)
 #endif
 
-#define FLASH_EEPROM_EMULATION
-#define EEPROM_PAGE_SIZE     (0x800) // 2KB
-#define EEPROM_START_ADDRESS (0x8000000 + (256 * 1024) - 2 * EEPROM_PAGE_SIZE)
-#define E2END                (EEPROM_PAGE_SIZE - 1)
diff --git a/buildroot/share/PlatformIO/ldscripts/STM32F1_SKR_MINI.ld b/buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI.ld
similarity index 100%
rename from buildroot/share/PlatformIO/ldscripts/STM32F1_SKR_MINI.ld
rename to buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI.ld
diff --git a/buildroot/share/PlatformIO/ldscripts/longer_STM32.ld b/buildroot/share/PlatformIO/ldscripts/STM32F103VE_longer.ld
similarity index 100%
rename from buildroot/share/PlatformIO/ldscripts/longer_STM32.ld
rename to buildroot/share/PlatformIO/ldscripts/STM32F103VE_longer.ld
diff --git a/buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py b/buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
similarity index 91%
rename from buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py
rename to buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
index 0ef67ee6023..1697515dc32 100644
--- a/buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py
+++ b/buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
@@ -5,4 +5,4 @@ for define in env['CPPDEFINES']:
     if define[0] == "VECT_TAB_ADDR":
         env['CPPDEFINES'].remove(define)
 env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
-env.Replace(LDSCRIPT_PATH="buildroot/share/PlatformIO/ldscripts/STM32F1_SKR_MINI.ld")
+env.Replace(LDSCRIPT_PATH="buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI.ld")
diff --git a/buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py b/buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
similarity index 100%
rename from buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py
rename to buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
diff --git a/buildroot/share/PlatformIO/scripts/longer_STM32.py b/buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
similarity index 97%
rename from buildroot/share/PlatformIO/scripts/longer_STM32.py
rename to buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
index 77df4825c12..d48a2a41764 100644
--- a/buildroot/share/PlatformIO/scripts/longer_STM32.py
+++ b/buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
@@ -5,7 +5,7 @@ for define in env['CPPDEFINES']:
     if define[0] == "VECT_TAB_ADDR":
         env['CPPDEFINES'].remove(define)
 env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08010000"))
-env.Replace(LDSCRIPT_PATH="buildroot/share/PlatformIO/ldscripts/longer_STM32.ld")
+env.Replace(LDSCRIPT_PATH="buildroot/share/PlatformIO/ldscripts/STM32F103VE_longer.ld")
 
 # Rename ${PROGNAME}.bin and save it as 'project.bin' (No encryption on the Longer3D)
 def encrypt(source, target, env):
diff --git a/buildroot/share/git/mftest b/buildroot/share/git/mftest
index a585ae32662..3ee78c49a08 100755
--- a/buildroot/share/git/mftest
+++ b/buildroot/share/git/mftest
@@ -28,8 +28,8 @@ case $TESTENV in
     m128) TESTENV='megaatmega1280' ;;
     m256) TESTENV='megaatmega2560' ;;
     mega) TESTENV='megaatmega2560' ;;
-     stm) TESTENV='STM32F103R' ;;
-     f1)  TESTENV='STM32F103R' ;;
+     stm) TESTENV='STM32F103RE' ;;
+     f1)  TESTENV='STM32F103RE' ;;
      f4)  TESTENV='STM32F4' ;;
      f7)  TESTENV='STM32F7' ;;
   teensy) TESTENV='teensy31' ;;
diff --git a/buildroot/share/tests/malyanm200-tests b/buildroot/share/tests/STM32F103CB_malyan-tests
similarity index 78%
rename from buildroot/share/tests/malyanm200-tests
rename to buildroot/share/tests/STM32F103CB_malyan-tests
index 3856d058669..fced4d5d240 100644
--- a/buildroot/share/tests/malyanm200-tests
+++ b/buildroot/share/tests/STM32F103CB_malyan-tests
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F1 malyanM200
+# Build tests for STM32F103CB Malyan M200
 #
 
 # exit on first failure
diff --git a/buildroot/share/tests/STM32F103R_bigtree-tests b/buildroot/share/tests/STM32F103RC_bigtree-tests
similarity index 84%
rename from buildroot/share/tests/STM32F103R_bigtree-tests
rename to buildroot/share/tests/STM32F103RC_bigtree-tests
index 11479feb0dd..50c37e36de8 100644
--- a/buildroot/share/tests/STM32F103R_bigtree-tests
+++ b/buildroot/share/tests/STM32F103RC_bigtree-tests
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F1 Bigtreetech (SKR Mini v1.1)
+# Build tests for STM32F103RC Bigtreetech (SKR Mini v1.1)
 #
 
 # exit on first failure
diff --git a/buildroot/share/tests/STM32F103RC_bigtree_USB-tests b/buildroot/share/tests/STM32F103RC_bigtree_USB-tests
new file mode 100644
index 00000000000..50c37e36de8
--- /dev/null
+++ b/buildroot/share/tests/STM32F103RC_bigtree_USB-tests
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+#
+# Build tests for STM32F103RC Bigtreetech (SKR Mini v1.1)
+#
+
+# exit on first failure
+set -e
+
+#
+# Build with the default configurations
+#
+restore_configs
+opt_set MOTHERBOARD BOARD_BIGTREE_SKR_MINI_V1_1
+opt_set SERIAL_PORT 1
+opt_set SERIAL_PORT_2 -1
+exec_test $1 $2 "Bigtreetech SKR Mini v1.1 - Basic Configuration"
+
+# clean up
+restore_configs
diff --git a/buildroot/share/tests/STM32F103R_fysetc-tests b/buildroot/share/tests/STM32F103RC_fysetc-tests
similarity index 85%
rename from buildroot/share/tests/STM32F103R_fysetc-tests
rename to buildroot/share/tests/STM32F103RC_fysetc-tests
index ad0f5ea81bd..7d08fb7c586 100644
--- a/buildroot/share/tests/STM32F103R_fysetc-tests
+++ b/buildroot/share/tests/STM32F103RC_fysetc-tests
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F1 FYSETC
+# Build tests for STM32F103RC FYSETC
 #
 
 # exit on first failure
diff --git a/buildroot/share/tests/STM32F103R-tests b/buildroot/share/tests/STM32F103RE-tests
similarity index 94%
rename from buildroot/share/tests/STM32F103R-tests
rename to buildroot/share/tests/STM32F103RE-tests
index 519957c470c..63fe5ba393b 100755
--- a/buildroot/share/tests/STM32F103R-tests
+++ b/buildroot/share/tests/STM32F103RE-tests
@@ -10,7 +10,7 @@ set -e
 # Build with the default configurations
 #
 restore_configs
-opt_set MOTHERBOARD BOARD_STM32F103R
+opt_set MOTHERBOARD BOARD_STM32F103RE
 opt_set EXTRUDERS 2
 opt_set SERIAL_PORT -1
 opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT \
diff --git a/buildroot/share/tests/STM32F103V_longer-tests b/buildroot/share/tests/STM32F103VE_longer-tests
similarity index 100%
rename from buildroot/share/tests/STM32F103V_longer-tests
rename to buildroot/share/tests/STM32F103VE_longer-tests
diff --git a/config/examples/STM32/STM32F103R/Configuration.h b/config/examples/STM32/STM32F103RE/Configuration.h
similarity index 99%
rename from config/examples/STM32/STM32F103R/Configuration.h
rename to config/examples/STM32/STM32F103RE/Configuration.h
index f31ac7831bf..e80ebe98967 100644
--- a/config/examples/STM32/STM32F103R/Configuration.h
+++ b/config/examples/STM32/STM32F103RE/Configuration.h
@@ -129,7 +129,7 @@
 
 // Choose the name from boards.h that matches your setup
 #ifndef MOTHERBOARD
-  #define MOTHERBOARD BOARD_STM32F103R
+  #define MOTHERBOARD BOARD_STM32F103RE
 #endif
 
 // Name displayed in the LCD "Ready" message and Info menu
diff --git a/config/examples/STM32/stm32f103ret6/Configuration.h b/config/examples/STM32/stm32f103ret6/Configuration.h
index 16b6cd70205..9f3c034af33 100644
--- a/config/examples/STM32/stm32f103ret6/Configuration.h
+++ b/config/examples/STM32/stm32f103ret6/Configuration.h
@@ -129,7 +129,7 @@
 
 // Choose the name from boards.h that matches your setup
 #ifndef MOTHERBOARD
-  #define MOTHERBOARD BOARD_STM32F103R
+  #define MOTHERBOARD BOARD_STM32F103RE
 #endif
 
 // Name displayed in the LCD "Ready" message and Info menu
diff --git a/platformio.ini b/platformio.ini
index 190c8af5da1..447a10e81a2 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -253,7 +253,7 @@ monitor_speed = 250000
 #
 # STM32F103RE
 #
-[env:STM32F103R]
+[env:STM32F103RE]
 platform      = ststm32
 framework     = arduino
 board         = genericSTM32F103RE
@@ -262,20 +262,20 @@ build_flags   = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
   -DDEBUG_LEVEL=0
 build_unflags = -std=gnu++11
 lib_deps      = ${common.lib_deps}
-lib_ignore    = U8glib-HAL, Adafruit NeoPixel, SPI
+lib_ignore    = Adafruit NeoPixel, SPI
 src_filter    = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
 monitor_speed = 250000
 
 #
-# STM32F103R_fysetc
+# STM32F103RC_fysetc
 #
-[env:STM32F103R_fysetc]
+[env:STM32F103RC_fysetc]
 platform          = ststm32
 framework         = arduino
 board             = genericSTM32F103RC
 #board_build.core = maple
 platform_packages = tool-stm32duino
-extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py
+extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
 build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
   ${common.build_flags} -std=gnu++14
   -DDEBUG_LEVEL=0 -DHAVE_SW_SERIAL
@@ -292,12 +292,12 @@ upload_protocol   = serial
 #
 # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3)
 #
-[env:STM32F103R_bigtree]
+[env:STM32F103RC_bigtree]
 platform          = ststm32
 framework         = arduino
 board             = genericSTM32F103RC
 platform_packages = tool-stm32duino
-extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py
+extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
 build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14
 build_unflags     = -std=gnu++11
@@ -308,12 +308,12 @@ monitor_speed     = 115200
 upload_protocol   = stlink
 debug_tool        = stlink
 
-[env:STM32F103R_bigtree_USB]
+[env:STM32F103RC_bigtree_USB]
 platform          = ststm32
 framework         = arduino
 board             = genericSTM32F103RC
 platform_packages = tool-stm32duino
-extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py
+extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
 build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
   ${common.build_flags} -DDEBUG_LEVEL=0 -DUSE_USB_COMPOSITE -std=gnu++14
 build_unflags     = -std=gnu++11
@@ -366,12 +366,12 @@ monitor_speed = 250000
 #
 # Longer 3D board in Alfawise U20 (STM32F103VET6)
 #
-[env:STM32F103V_longer]
+[env:STM32F103VE_longer]
 platform      = ststm32
 framework     = arduino
 board         = genericSTM32F103VE
 monitor_speed = 250000
-extra_scripts = buildroot/share/PlatformIO/scripts/longer_STM32.py
+extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
 build_flags   = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
   ${common.build_flags} -std=gnu++14 -USERIAL_USB
   -DSTM32F1xx -DU20 -DTS_V12
@@ -543,9 +543,9 @@ src_filter    = ${common.default_src_filter} +<src/HAL/HAL_TEENSY35_36>
 monitor_speed = 250000
 
 #
-# Malyan M200 (STM32F1)
+# Malyan M200 (STM32F103CB)
 #
-[env:malyanm200]
+[env:STM32F103CB_malyan]
 platform    = ststm32
 framework   = arduino
 board       = malyanM200