diff --git a/keyboards/4pplet/perk60_iso/rev_a/config.h b/keyboards/4pplet/perk60_iso/rev_a/config.h
index 53ff93cc1c5..bd24723df08 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/config.h
+++ b/keyboards/4pplet/perk60_iso/rev_a/config.h
@@ -36,8 +36,6 @@ along with this program. If not, see .
#define DRIVER_LED_TOTAL 62
#define ISSI_PWM_FREQUENCY 0b010
-#define STM32_HSECLK 8000000
-
#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h b/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
index 97f2ee51ee0..dd68a8c1e77 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
+++ b/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
@@ -22,19 +22,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/4pplet/perk60_iso/rev_a/rules.mk b/keyboards/4pplet/perk60_iso/rev_a/rules.mk
index 697898ae8eb..8182d9e7e26 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/rules.mk
+++ b/keyboards/4pplet/perk60_iso/rev_a/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h
index 1365b817743..85909af2088 100644
--- a/keyboards/acheron/apollo/87h/delta/config.h
+++ b/keyboards/acheron/apollo/87h/delta/config.h
@@ -44,8 +44,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 87
diff --git a/keyboards/acheron/apollo/87h/delta/mcuconf.h b/keyboards/acheron/apollo/87h/delta/mcuconf.h
index fb972b86ade..29a62a94c2d 100644
--- a/keyboards/acheron/apollo/87h/delta/mcuconf.h
+++ b/keyboards/acheron/apollo/87h/delta/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/87h/delta/rules.mk b/keyboards/acheron/apollo/87h/delta/rules.mk
index 1711dd486d7..c5194254080 100644
--- a/keyboards/acheron/apollo/87h/delta/rules.mk
+++ b/keyboards/acheron/apollo/87h/delta/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h
index 0cb3d381280..30021a51b95 100644
--- a/keyboards/acheron/apollo/87htsc/config.h
+++ b/keyboards/acheron/apollo/87htsc/config.h
@@ -40,8 +40,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 86
diff --git a/keyboards/acheron/apollo/87htsc/mcuconf.h b/keyboards/acheron/apollo/87htsc/mcuconf.h
index fb972b86ade..29a62a94c2d 100644
--- a/keyboards/acheron/apollo/87htsc/mcuconf.h
+++ b/keyboards/acheron/apollo/87htsc/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/87htsc/rules.mk b/keyboards/acheron/apollo/87htsc/rules.mk
index 2d2908dc6ca..696b5299192 100644
--- a/keyboards/acheron/apollo/87htsc/rules.mk
+++ b/keyboards/acheron/apollo/87htsc/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h
index 7df9fc3e6b6..5df3628db2e 100644
--- a/keyboards/acheron/apollo/88htsc/config.h
+++ b/keyboards/acheron/apollo/88htsc/config.h
@@ -40,8 +40,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 87
diff --git a/keyboards/acheron/apollo/88htsc/mcuconf.h b/keyboards/acheron/apollo/88htsc/mcuconf.h
index fb972b86ade..29a62a94c2d 100644
--- a/keyboards/acheron/apollo/88htsc/mcuconf.h
+++ b/keyboards/acheron/apollo/88htsc/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/88htsc/rules.mk b/keyboards/acheron/apollo/88htsc/rules.mk
index 1711dd486d7..c5194254080 100644
--- a/keyboards/acheron/apollo/88htsc/rules.mk
+++ b/keyboards/acheron/apollo/88htsc/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h
index fca0450cefb..99dbd76c6fb 100644
--- a/keyboards/acheron/athena/alpha/config.h
+++ b/keyboards/acheron/athena/alpha/config.h
@@ -41,8 +41,6 @@ along with this program. If not, see .
#define BREATHING_PERIOD 5
#define BACKLIGHT_ON_STATE 0
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define RGBLED_NUM 34
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/acheron/athena/alpha/mcuconf.h b/keyboards/acheron/athena/alpha/mcuconf.h
index 35d7e95f57e..63f1e30e641 100644
--- a/keyboards/acheron/athena/alpha/mcuconf.h
+++ b/keyboards/acheron/athena/alpha/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 96
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 4
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/athena/alpha/rules.mk b/keyboards/acheron/athena/alpha/rules.mk
index 246db1d2e55..7711254bbe3 100644
--- a/keyboards/acheron/athena/alpha/rules.mk
+++ b/keyboards/acheron/athena/alpha/rules.mk
@@ -1,4 +1,6 @@
+# MCU name
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h
index e9f653e3c71..4b2ae3f06b8 100644
--- a/keyboards/acheron/athena/beta/config.h
+++ b/keyboards/acheron/athena/beta/config.h
@@ -40,8 +40,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BREATHING_PERIOD 5
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define RGBLED_NUM 34
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/acheron/athena/beta/mcuconf.h b/keyboards/acheron/athena/beta/mcuconf.h
index 2f3b3e812a3..63f1e30e641 100644
--- a/keyboards/acheron/athena/beta/mcuconf.h
+++ b/keyboards/acheron/athena/beta/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/athena/beta/rules.mk b/keyboards/acheron/athena/beta/rules.mk
index 388b1e6a96d..81bbce68c19 100644
--- a/keyboards/acheron/athena/beta/rules.mk
+++ b/keyboards/acheron/athena/beta/rules.mk
@@ -1,4 +1,5 @@
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/puckbuddy/rules.mk b/keyboards/mechwild/puckbuddy/rules.mk
index b7699320647..a2837f92167 100644
--- a/keyboards/mechwild/puckbuddy/rules.mk
+++ b/keyboards/mechwild/puckbuddy/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mlego/m48/rev1/rules.mk b/keyboards/mlego/m48/rev1/rules.mk
index da2734ff63c..8ddaf1d5bea 100644
--- a/keyboards/mlego/m48/rev1/rules.mk
+++ b/keyboards/mlego/m48/rev1/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/mlego/m60/rev1/rules.mk b/keyboards/mlego/m60/rev1/rules.mk
index 6b119a1f377..4e071f302fe 100644
--- a/keyboards/mlego/m60/rev1/rules.mk
+++ b/keyboards/mlego/m60/rev1/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/mlego/m65/rev3/rules.mk b/keyboards/mlego/m65/rev3/rules.mk
index 558accd5b15..59eebe9489a 100644
--- a/keyboards/mlego/m65/rev3/rules.mk
+++ b/keyboards/mlego/m65/rev3/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/mlego/m65/rev4/rules.mk b/keyboards/mlego/m65/rev4/rules.mk
index bf4285383a0..2a7cc748894 100644
--- a/keyboards/mlego/m65/rev4/rules.mk
+++ b/keyboards/mlego/m65/rev4/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/yandrstudio/nz64/rules.mk b/keyboards/yandrstudio/nz64/rules.mk
index 298305d3f9d..8debea0e663 100644
--- a/keyboards/yandrstudio/nz64/rules.mk
+++ b/keyboards/yandrstudio/nz64/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/yandrstudio/zhou65/rules.mk b/keyboards/yandrstudio/zhou65/rules.mk
index 35a39a549a6..0a84b0a1fe4 100644
--- a/keyboards/yandrstudio/zhou65/rules.mk
+++ b/keyboards/yandrstudio/zhou65/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu