diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h
index 3472cdc7ba81d0ea45e2b2f5cf55fe9d32ac430c..66e83c5299e40aef600e482b64db4259b30d1790 100644
--- a/Marlin/src/inc/Conditionals_LCD.h
+++ b/Marlin/src/inc/Conditionals_LCD.h
@@ -748,3 +748,10 @@
 #ifndef EXTRUDE_MINTEMP
   #define EXTRUDE_MINTEMP 170
 #endif
+
+/**
+ * To check if we need the folder src/features/leds
+ */
+#if ANY(TEMP_STAT_LEDS, HAS_COLOR_LEDS, HAS_CASE_LIGHT, PRINTER_EVENT_LEDS, LED_BACKLIGHT_TIMEOUT, PCA9632_BUZZER, LED_CONTROL_MENU)
+  #define HAS_LED_FEATURE 1
+#endif
diff --git a/buildroot/share/PlatformIO/scripts/common-features-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h
similarity index 97%
rename from buildroot/share/PlatformIO/scripts/common-features-dependencies.h
rename to buildroot/share/PlatformIO/scripts/common-dependencies.h
index f6abdbf36179794ee76b60e9948dbee0b943ba09..a1f8b095add749560368b23ee66a4aa3f90f9161 100644
--- a/buildroot/share/PlatformIO/scripts/common-features-dependencies.h
+++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h
@@ -24,7 +24,7 @@
 /**
  * The purpose of this file is just include Marlin Configuration files,
  * to discover which FEATURES are enabled, without any HAL include.
- * Used by common-features-dependencies.py
+ * Used by common-dependencies.py
  */
 
 #include <stdint.h>
diff --git a/buildroot/share/PlatformIO/scripts/common-features-dependencies.py b/buildroot/share/PlatformIO/scripts/common-dependencies.py
similarity index 99%
rename from buildroot/share/PlatformIO/scripts/common-features-dependencies.py
rename to buildroot/share/PlatformIO/scripts/common-dependencies.py
index c8b7ec9a9709bfb95ad6785c2fda45c6d31b04fd..8287c0b2025acd3082561347809dfc93760caab1 100644
--- a/buildroot/share/PlatformIO/scripts/common-features-dependencies.py
+++ b/buildroot/share/PlatformIO/scripts/common-dependencies.py
@@ -1,5 +1,5 @@
 #
-# common-features-dependencies.py
+# common-dependencies.py
 # Convenience script to check dependencies and add libs and sources for Marlin Enabled Features
 #
 import subprocess
@@ -190,7 +190,7 @@ def load_marlin_features():
 		else:
 			cmd += ['-D' + s]
 
-	cmd += ['-w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-features-dependencies.h']
+	cmd += ['-w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h']
 	cmd = ' '.join(cmd)
 	print(cmd)
 	define_list = subprocess.check_output(cmd, shell=True).splitlines()
diff --git a/platformio.ini b/platformio.ini
index 743499e89944b0126b859cde63183a88583236b3..838ce116118e2d0356f5816ca928e0c5bc57ef12 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -25,10 +25,18 @@ include_dir  = Marlin
 # The 'common' values are used for most Marlin builds
 #
 [common]
-default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared> -<src/lcd/extui/lib/mks_ui>
-  -<src/lcd/menu> -<src/lcd/dwin> -<src/lcd/extui/lib/dgus> -<src/lcd/extui/lib/ftdi_eve_touch_ui> -<src/lcd/dogm>
+default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
+  -<src/lcd/HD44780> -<src/lcd/dwin> -<src/lcd/dogm> -<src/lcd/menu>
+  -<src/lcd/extui/lib/mks_ui> -<src/lcd/extui/lib/dgus> -<src/lcd/extui/lib/ftdi_eve_touch_ui> -<src/lcd/extui/lib/anycubic>
+  -<src/sd/usb_flashdrive>
+  -<src/gcode/feature/trinamic>
+  -<src/feature/bedlevel/abl> -<src/gcode/bedlevel/abl>
+  -<src/feature/bedlevel/mbl> -<src/gcode/bedlevel/mbl>
+  -<src/feature/bedlevel/ubl> -<src/gcode/bedlevel/ubl>
+  -<src/feature/dac> -<src/feature/digipot>
+  -<src/feature/leds>
 extra_scripts      =
-  pre:buildroot/share/PlatformIO/scripts/common-features-dependencies.py
+  pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
   pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
 build_flags        = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants
 lib_deps           =
@@ -37,24 +45,34 @@ lib_deps           =
 # Feature Dependencies
 #
 [features]
-HAS_TFT_LVGL_UI     = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/archive/master.zip
-                      src_filter=+<src/lcd/extui/lib/mks_ui>
-                      extra_scripts=download_mks_assets.py
-HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1
-SR_LCD_3W_NL        = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
-DIGIPOT_MCP4...     = SlowSoftI2CMaster
-HAS_TMC26X          = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
-HAS_L64XX           = Arduino-L6470@0.8.0
-NEOPIXEL_LED        = Adafruit NeoPixel@1.5.0
-MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0
-HAS_GRAPHICAL_LCD   = U8glib-HAL@0.4.1
-                      src_filter=+<src/lcd/dogm>
-USES_LIQUIDCRYSTAL  = LiquidCrystal@1.5.0
-USES_LIQUIDTWI2     = LiquidTWI2@1.2.7
-TOUCH_UI_FTDI_EVE   = src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui>
-HAS_DGUS_LCD        = src_filter=+<src/lcd/extui/lib/dgus>
-DWIN_CREALITY_LCD   = src_filter=+<src/lcd/dwin>
-HAS_LCD_MENU        = src_filter=+<src/lcd/menu>
+HAS_TFT_LVGL_UI         = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/archive/master.zip
+                          src_filter=+<src/lcd/extui/lib/mks_ui>
+                          extra_scripts=download_mks_assets.py
+HAS_TRINAMIC_CONFIG     = TMCStepper@~0.7.1
+                          src_filter=+<src/gcode/feature/trinamic>
+SR_LCD_3W_NL            = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
+DIGIPOT_MCP4...         = SlowSoftI2CMaster
+HAS_TMC26X              = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
+HAS_L64XX               = Arduino-L6470@0.8.0
+NEOPIXEL_LED            = Adafruit NeoPixel@1.5.0
+MAX6675_IS_MAX31865     = Adafruit MAX31865 library@~1.1.0
+HAS_GRAPHICAL_LCD       = U8glib-HAL@0.4.1
+                          src_filter=+<src/lcd/dogm>
+USES_LIQUIDCRYSTAL      = LiquidCrystal@1.5.0
+USES_LIQUIDTWI2         = LiquidTWI2@1.2.7
+DWIN_CREALITY_LCD       = src_filter=+<src/lcd/dwin>
+HAS_CHARACTER_LCD       = src_filter=+<src/lcd/HD44780>
+HAS_LCD_MENU            = src_filter=+<src/lcd/menu>
+HAS_DGUS_LCD            = src_filter=+<src/lcd/extui/lib/dgus>
+TOUCH_UI_FTDI_EVE       = src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui>
+ANYCUBIC_TFT_MODEL      = src_filter=+<src/lcd/extui/lib/anycubic>
+USB_FLASH_DRIVE_SUPPORT = src_filter=+<src/sd/usb_flashdrive>
+AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+<src/feature/bedlevel/abl> +<src/gcode/bedlevel/abl>
+MESH_BED_LEVELING       = src_filter=+<src/feature/bedlevel/mbl> +<src/gcode/bedlevel/mbl>
+AUTO_BED_LEVELING_UBL   = src_filter=+<src/feature/bedlevel/ubl> +<src/gcode/bedlevel/ubl>
+DAC_STEPPER_CURRENT     = src_filter=+<src/feature/dac>
+HAS_I2C_DIGIPOT         = src_filter=+<src/feature/digipot>
+HAS_LED_FEATURE         = src_filter=+<src/feature/leds>
 (ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer
   ESP3DLib=https://github.com/luc-github/ESP3DLib.git
   arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git
@@ -699,7 +717,7 @@ src_filter  = ${common.default_src_filter} +<src/HAL/STM32>
 platform      = ${common_stm32f1.platform}
 extends       = common_stm32f1
 board         = CHITU_F103
-extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-features-dependencies.py
+extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
   pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
   buildroot/share/PlatformIO/scripts/chitu_crypt.py
 build_flags   = ${common_stm32f1.build_flags}