diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml
index db5c5ab701a2c29f85e414daee5a9c27e1485cea..301165fcd0bafa1b13fe9fccafe37b06e1e9a88e 100644
--- a/.github/workflows/test-builds.yml
+++ b/.github/workflows/test-builds.yml
@@ -54,6 +54,7 @@ jobs:
         - BIGTREE_SKR_PRO
         - mks_robin
         - ARMED
+        - FYSETC_S6
 
         # Put lengthy tests last
 
diff --git a/buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py b/buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py
index de1a5e787d270b4de8299f0346ca561453b484de..be010b10fe335cedc5a698dc620ab1cb0fe7a931 100644
--- a/buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py
+++ b/buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py
@@ -1,5 +1,5 @@
 from os.path import join
-Import("env", "projenv")
+Import("env")
 
 import os,shutil
 from SCons.Script import DefaultEnvironment
diff --git a/buildroot/share/PlatformIO/variants/FYSETC_S6/variant.h b/buildroot/share/PlatformIO/variants/FYSETC_S6/variant.h
index a99109fdd727ae5329187dd67c69688439561e12..be04ef6b86c3d1a7d1f02c98f4ca8fe2a323306a 100644
--- a/buildroot/share/PlatformIO/variants/FYSETC_S6/variant.h
+++ b/buildroot/share/PlatformIO/variants/FYSETC_S6/variant.h
@@ -149,7 +149,7 @@ extern "C" {
 /* HAL configuration */
 #define HSE_VALUE               12000000U
 
-#define FLASH_PAGE_SIZE         uint32(4 * 1024)
+#define FLASH_PAGE_SIZE         (4U * 1024U)
 
 #ifdef __cplusplus
 } // extern "C"
diff --git a/buildroot/share/git/mftest b/buildroot/share/git/mftest
index a83a309bd91bab03029131bc2fc54950ccff4d0e..d80b9ed810f4ef8652c3e7837945b7c207db5b91 100755
--- a/buildroot/share/git/mftest
+++ b/buildroot/share/git/mftest
@@ -34,6 +34,7 @@ case $TESTENV in
      f1)  TESTENV='STM32F103RE' ;;
      f4)  TESTENV='STM32F4' ;;
      f7)  TESTENV='STM32F7' ;;
+     s6)  TESTENV='FYSETC_S6' ;;
   teensy) TESTENV='teensy31' ;;
      t31) TESTENV='teensy31' ;;
      t32) TESTENV='teensy31' ;;
diff --git a/buildroot/share/tests/FYSETC_S6-tests b/buildroot/share/tests/FYSETC_S6-tests
new file mode 100644
index 0000000000000000000000000000000000000000..a9e0331acdb55d1e7d94a7841cd6718cbffa9904
--- /dev/null
+++ b/buildroot/share/tests/FYSETC_S6-tests
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+#
+# Build tests for FYSETC_S6
+#
+
+# exit on first failure
+set -e
+
+# Build examples
+restore_configs
+use_example_configs FYSETC/S6
+exec_test $1 $2 "FYSETC S6 Example"
+
+# cleanup
+restore_configs
diff --git a/platformio.ini b/platformio.ini
index f3d24799a763f9827aa7f39bc3f26c42d8b5efdf..b0cf2be831da831731e8717340ff766dc289b02d 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -627,7 +627,7 @@ build_flags       = ${common.build_flags}
   -DVECT_TAB_OFFSET=0x10000
   -DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED -DUSBD_VID=0x0483 '-DUSB_PRODUCT="FYSETC_S6"'
 build_unflags     = -std=gnu++11
-extra_scripts     = buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py
+extra_scripts     = pre:buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py
 src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32>
 lib_ignore        = Arduino-L6470
 debug_tool        = stlink