From 7a361ad36aff4a6dc89ebb7dd66c02a532b6cb2c Mon Sep 17 00:00:00 2001
From: Scott Lahteine <thinkyhead@users.noreply.github.com>
Date: Mon, 3 Dec 2018 05:55:33 -0600
Subject: [PATCH] Alternative fan image option (#12579)

* Alternative fan bitmap
* Move bed over by 3px
---
 Marlin/Configuration_adv.h                    |   1 +
 Marlin/src/config/default/Configuration_adv.h |   1 +
 .../AlephObjects/TAZ4/Configuration_adv.h     |   1 +
 .../examples/Anet/A2/Configuration_adv.h      |   1 +
 .../examples/Anet/A2plus/Configuration_adv.h  |   1 +
 .../examples/Anet/A6/Configuration_adv.h      |   1 +
 .../examples/Anet/A8/Configuration_adv.h      |   1 +
 .../config/examples/ArmEd/Configuration_adv.h |   1 +
 .../BIBO/TouchX/cyclops/Configuration_adv.h   |   1 +
 .../BIBO/TouchX/default/Configuration_adv.h   |   1 +
 .../examples/BQ/Hephestos/Configuration_adv.h |   1 +
 .../BQ/Hephestos_2/Configuration_adv.h        |   1 +
 .../examples/BQ/WITBOX/Configuration_adv.h    |   1 +
 .../examples/Cartesio/Configuration_adv.h     |   1 +
 .../Creality/CR-10/Configuration_adv.h        |   1 +
 .../Creality/CR-10S/Configuration_adv.h       |   1 +
 .../Creality/CR-10mini/Configuration_adv.h    |   1 +
 .../Creality/CR-8/Configuration_adv.h         |   1 +
 .../Creality/Ender-2/Configuration_adv.h      |   1 +
 .../Creality/Ender-3/Configuration_adv.h      |   1 +
 .../Creality/Ender-4/Configuration_adv.h      |   1 +
 .../examples/Einstart-S/Configuration_adv.h   |   1 +
 .../config/examples/Felix/Configuration_adv.h |   1 +
 .../FolgerTech/i3-2020/Configuration_adv.h    |   1 +
 .../Formbot/Raptor/Configuration_adv.h        |   1 +
 .../Formbot/T_Rex_2+/Configuration_adv.h      |   1 +
 .../Formbot/T_Rex_3/Configuration_adv.h       |   1 +
 .../Geeetech/MeCreator2/Configuration_adv.h   |   1 +
 .../Prusa i3 Pro C/Configuration_adv.h        |   1 +
 .../Prusa i3 Pro W/Configuration_adv.h        |   1 +
 .../Infitary/i3-M508/Configuration_adv.h      |   1 +
 .../examples/JGAurora/A5/Configuration_adv.h  |   1 +
 .../examples/MakerParts/Configuration_adv.h   |   1 +
 .../examples/Malyan/M150/Configuration_adv.h  |   1 +
 .../examples/Malyan/M200/Configuration_adv.h  |   1 +
 .../Micromake/C1/enhanced/Configuration_adv.h |   1 +
 .../examples/Mks/Sbase/Configuration_adv.h    |   1 +
 .../examples/RigidBot/Configuration_adv.h     |   1 +
 .../config/examples/SCARA/Configuration_adv.h |   1 +
 .../examples/Sanguinololu/Configuration_adv.h |   1 +
 .../examples/TheBorg/Configuration_adv.h      |   1 +
 .../examples/TinyBoy2/Configuration_adv.h     |   1 +
 .../examples/Tronxy/X3A/Configuration_adv.h   |   1 +
 .../UltiMachine/Archim1/Configuration_adv.h   |   1 +
 .../UltiMachine/Archim2/Configuration_adv.h   |   1 +
 .../Velleman/K8200/Configuration_adv.h        |   1 +
 .../Velleman/K8400/Configuration_adv.h        |   1 +
 .../Wanhao/Duplicator 6/Configuration_adv.h   |   1 +
 .../delta/Anycubic/Kossel/Configuration_adv.h |   1 +
 .../FLSUN/auto_calibrate/Configuration_adv.h  |   1 +
 .../delta/FLSUN/kossel/Configuration_adv.h    |   1 +
 .../FLSUN/kossel_mini/Configuration_adv.h     |   1 +
 .../Geeetech/Rostock 301/Configuration_adv.h  |   1 +
 .../delta/MKS/SBASE/Configuration_adv.h       |   1 +
 .../Tevo Little Monster/Configuration_adv.h   |   1 +
 .../delta/generic/Configuration_adv.h         |   1 +
 .../delta/kossel_mini/Configuration_adv.h     |   1 +
 .../delta/kossel_xl/Configuration_adv.h       |   1 +
 .../gCreate/gMax1.5+/Configuration_adv.h      |   1 +
 .../examples/makibox/Configuration_adv.h      |   1 +
 .../tvrrug/Round2/Configuration_adv.h         |   1 +
 .../config/examples/wt150/Configuration_adv.h |   1 +
 Marlin/src/lcd/dogm/dogm_Statusscreen.h       | 615 ++++++++++++------
 63 files changed, 475 insertions(+), 202 deletions(-)

diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index e9ee032b71..c1845402bf 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternate fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h
index e9ee032b71..a273a9bc5b 100755
--- a/Marlin/src/config/default/Configuration_adv.h
+++ b/Marlin/src/config/default/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
index ee7ee61d6a..f21739f18f 100644
--- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
+++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h
index b4e749dfc8..d100578284 100644
--- a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h
+++ b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
index b4e749dfc8..d100578284 100644
--- a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
+++ b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h
index c73d08f6a1..9c3f4d3a14 100644
--- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h
+++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h
@@ -815,6 +815,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h
index 4cad717ac4..b3d78836fd 100644
--- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h
+++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/ArmEd/Configuration_adv.h b/Marlin/src/config/examples/ArmEd/Configuration_adv.h
index aeb1448f30..f63f81da94 100644
--- a/Marlin/src/config/examples/ArmEd/Configuration_adv.h
+++ b/Marlin/src/config/examples/ArmEd/Configuration_adv.h
@@ -788,6 +788,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
index 914d78f931..721ec1d593 100644
--- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
+++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
@@ -815,6 +815,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
index 8f644d6a6c..172ebb5f96 100644
--- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
+++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
index cd10d663b9..e10d55692b 100644
--- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
+++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
index b6725c00ac..4ef5f69c2c 100644
--- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
+++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
@@ -824,6 +824,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
index cd10d663b9..e10d55692b 100644
--- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
+++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h
index fb18a3b9f8..234cc9ec9e 100644
--- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h
+++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
index 88fda1efe0..7adfbd674b 100755
--- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
index ceb09db9c3..fb70cf18b2 100644
--- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
index 4777910147..808f0aaba2 100644
--- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
index 1e5b7396ae..485f62337f 100644
--- a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
index 83723a207f..09fb86a7ab 100644
--- a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
index 2127ff2eb5..9152201010 100644
--- a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
index f8bcdbee0d..6430aec671 100644
--- a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
+++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h
index 15c6665857..752df09455 100644
--- a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h
+++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h
index ec2fdd35c4..ae16f8b005 100644
--- a/Marlin/src/config/examples/Felix/Configuration_adv.h
+++ b/Marlin/src/config/examples/Felix/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
index 4297720717..900b350909 100644
--- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
+++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h b/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
index b86b563e33..863d700362 100644
--- a/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
+++ b/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
index 36140c5660..5939384cc3 100644
--- a/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
+++ b/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
@@ -820,6 +820,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
index da3f9d7fd2..eb364bfbde 100644
--- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
+++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
@@ -821,6 +821,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
index 9fabbbab03..7f6fe0bfde 100644
--- a/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
+++ b/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
index dc7c02246a..2cf2de67f3 100644
--- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h	
+++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h	
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
index dc7c02246a..2cf2de67f3 100644
--- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h	
+++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h	
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
index 8c02f2f1ad..9fb35c788e 100644
--- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
+++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
index c894b9ff22..7d0470b6a2 100644
--- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
+++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h
index e641f281a4..c7935a1ab8 100644
--- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h
+++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
index 80aa4504f3..8e7ba370f1 100644
--- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
+++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
index df051d3f08..78165c041e 100644
--- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
+++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
index 82e0e1be65..4723cb9521 100644
--- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
+++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
index 2f346fc053..3299f760df 100644
--- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
+++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
@@ -824,6 +824,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h
index c7548e796d..b767d1ed7e 100644
--- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h
+++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h
index d03ae78bee..ea916c0a88 100644
--- a/Marlin/src/config/examples/SCARA/Configuration_adv.h
+++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
index 93449d3dbe..e45b323869 100644
--- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
+++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h
index c3ac042b51..06d0805e0c 100644
--- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h
+++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
index ddfa10b4f8..61ad81cdb3 100644
--- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
+++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
index cc2db6b9fc..5d5d5ce0ce 100644
--- a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
+++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
index d24ee84baa..d1dacb6c5d 100644
--- a/Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
+++ b/Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
index 825a9216ef..775a2452f0 100644
--- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
+++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
index 3bd6011ebe..c0893c38bd 100644
--- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
+++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
@@ -829,6 +829,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
index c2834f5785..5e559f9a1e 100644
--- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
+++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
index 828241938c..e323aa20d0 100644
--- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h	
+++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h	
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
index e3d2db162e..105737cf14 100644
--- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
index 10b67acfcc..fceb21e3df 100644
--- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
index 10b67acfcc..fceb21e3df 100644
--- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
index b92a6c85f6..a37bedb9d8 100644
--- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h b/Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
index a97abf4091..09bf9172a8 100644
--- a/Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h	
+++ b/Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h	
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h b/Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h
index 2279bb433c..43f1a99bf4 100644
--- a/Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h b/Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h
index dfe94b19cb..744d03d0ce 100644
--- a/Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h	
+++ b/Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h	
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h
index b92a6c85f6..a37bedb9d8 100644
--- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
index b92a6c85f6..a37bedb9d8 100644
--- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
index 4f5367b72f..e26bebf23d 100644
--- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
+++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
@@ -818,6 +818,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
index 7d67bb14b1..53d44ba73d 100644
--- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
+++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h
index 4ad3635fc2..ae22e336cb 100644
--- a/Marlin/src/config/examples/makibox/Configuration_adv.h
+++ b/Marlin/src/config/examples/makibox/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
index 338be6d880..6a196b23dd 100644
--- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
+++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
@@ -816,6 +816,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h
index eb241a95a8..c1cc738ea1 100644
--- a/Marlin/src/config/examples/wt150/Configuration_adv.h
+++ b/Marlin/src/config/examples/wt150/Configuration_adv.h
@@ -817,6 +817,7 @@
   #define STATUS_HOTEND_ANIM          // Use a second bitmap to indicate hotend heating
   #define STATUS_BED_ANIM             // Use a second bitmap to indicate bed heating
   //#define STATUS_ALT_BED_BITMAP     // Use the alternative bed bitmap
+  //#define STATUS_ALT_FAN_BITMAP     // Use the alternative fan bitmap
   //#define STATUS_FAN_FRAMES 3       // :[0,1,2,3,4] Number of fan animation frames
   //#define STATUS_HEAT_PERCENT       // Show heating in a progress bar
 
diff --git a/Marlin/src/lcd/dogm/dogm_Statusscreen.h b/Marlin/src/lcd/dogm/dogm_Statusscreen.h
index 9a0f079442..22248e18fb 100644
--- a/Marlin/src/lcd/dogm/dogm_Statusscreen.h
+++ b/Marlin/src/lcd/dogm/dogm_Statusscreen.h
@@ -582,7 +582,7 @@
     #ifndef STATUS_BED_X
       #define STATUS_BED_X    72
     #endif
-    #define STATUS_BED_TEXT_X STATUS_BED_X + 13
+    #define STATUS_BED_TEXT_X (STATUS_BED_X + 13)
 
     const unsigned char status_bed_bmp[] PROGMEM = {
       B11111111,B11111111,B11000000,
@@ -624,35 +624,35 @@
       };
 
       const unsigned char status_bed_on_bmp[] PROGMEM = {
-        B00100000,B10000010,B00000000,
+        B00000100,B00010000,B01000000,
+        B00000010,B00001000,B00100000,
+        B00000010,B00001000,B00100000,
+        B00000100,B00010000,B01000000,
+        B00001000,B00100000,B10000000,
         B00010000,B01000001,B00000000,
         B00010000,B01000001,B00000000,
-        B00100000,B10000010,B00000000,
-        B01000001,B00000100,B00000000,
-        B10000010,B00001000,B00000000,
-        B10000010,B00001000,B00000000,
-        B01000001,B00000100,B00000000,
-        B00100000,B10000010,B00000000,
+        B00001000,B00100000,B10000000,
+        B00000100,B00010000,B01000000,
         B00000000,B00000000,B00000000,
-        B11111111,B11111111,B11000000,
-        B11111111,B11111111,B11000000
+        B00011111,B11111111,B11111000,
+        B00011111,B11111111,B11111000
       };
 
     #else
 
       const unsigned char status_bed_bmp[] PROGMEM = {
-        B00100000,B10000010,B00000000,
+        B00000100,B00010000,B01000000,
+        B00000010,B00001000,B00100000,
+        B00000010,B00001000,B00100000,
+        B00000100,B00010000,B01000000,
+        B00001000,B00100000,B10000000,
         B00010000,B01000001,B00000000,
         B00010000,B01000001,B00000000,
-        B00100000,B10000010,B00000000,
-        B01000001,B00000100,B00000000,
-        B10000010,B00001000,B00000000,
-        B10000010,B00001000,B00000000,
-        B01000001,B00000100,B00000000,
-        B00100000,B10000010,B00000000,
+        B00001000,B00100000,B10000000,
+        B00000100,B00010000,B01000000,
         B00000000,B00000000,B00000000,
-        B11111111,B11111111,B11000000,
-        B11111111,B11111111,B11000000
+        B00011111,B11111111,B11111000,
+        B00011111,B11111111,B11111000
       };
 
     #endif
@@ -684,206 +684,417 @@
     #define STATUS_FAN_Y      2
     #define STATUS_FAN_WIDTH 20
 
-    const unsigned char status_fan0_bmp[] PROGMEM = {
-      B00111111,B11111111,B11110000,
-      B00111000,B00000000,B01110000,
-      B00110000,B11111100,B00110000,
-      B00100000,B11111100,B00010000,
-      B00100000,B01111000,B00010000,
-      B00100000,B00110000,B00010000,
-      B00101100,B00000000,B11010000,
-      B00101110,B00110001,B11010000,
-      B00101111,B01111011,B11010000,
-      B00101111,B01111011,B11010000,
-      B00101110,B00110001,B11010000,
-      B00101100,B00000000,B11010000,
-      B00100000,B00110000,B00010000,
-      B00100000,B01111000,B00010000,
-      B00100000,B11111100,B00010000,
-      B00110000,B11111100,B00110000,
-      B00111000,B00000000,B01110000,
-      B00111111,B11111111,B11110000
-    };
+    #if ENABLED(STATUS_ALT_FAN_BITMAP)
 
-    #if STATUS_FAN_FRAMES == 2
-      const unsigned char status_fan1_bmp[] PROGMEM = {
+      const unsigned char status_fan0_bmp[] PROGMEM = {
+        B00000001,B11111110,B00000000,
+        B00000110,B00000001,B10000000,
+        B00001000,B11111100,B01000000,
+        B00010000,B11111100,B00100000,
+        B00010000,B01111000,B00100000,
+        B00100000,B00110000,B00010000,
+        B00101100,B00000000,B11010000,
+        B00101110,B00110001,B11010000,
+        B00101111,B01111011,B11010000,
+        B00101111,B01111011,B11010000,
+        B00101110,B00110001,B11010000,
+        B00101100,B00000000,B11010000,
+        B00100000,B00110000,B00010000,
+        B00010000,B01111000,B00100000,
+        B00010000,B11111100,B00100000,
+        B00001000,B11111100,B01000000,
+        B00000110,B00000001,B10000000,
+        B00000001,B11111110,B00000000
+      };
+
+      #if STATUS_FAN_FRAMES == 2
+        const unsigned char status_fan1_bmp[] PROGMEM = {
+          B00000001,B11111110,B00000000,
+          B00000110,B00000001,B10000000,
+          B00001001,B10000110,B01000000,
+          B00010011,B10000111,B00100000,
+          B00010111,B10000111,B10100000,
+          B00101111,B10000111,B11010000,
+          B00101111,B00000011,B11010000,
+          B00100000,B00110000,B00010000,
+          B00100000,B01111000,B00010000,
+          B00100000,B01111000,B00010000,
+          B00100000,B00110000,B00010000,
+          B00101111,B00000011,B11010000,
+          B00101111,B10000111,B11010000,
+          B00010111,B10000111,B10100000,
+          B00010011,B10000111,B00100000,
+          B00001001,B10000110,B01000000,
+          B00000110,B00000001,B10000000,
+          B00000001,B11111110,B00000000
+        };
+      #endif
+
+    #else // !STATUS_ALT_FAN_BITMAP
+
+      const unsigned char status_fan0_bmp[] PROGMEM = {
         B00111111,B11111111,B11110000,
         B00111000,B00000000,B01110000,
-        B00110001,B10000110,B00110000,
-        B00100011,B10000111,B00010000,
-        B00100111,B10000111,B10010000,
-        B00101111,B10000111,B11010000,
-        B00101111,B00000011,B11010000,
-        B00100000,B00110000,B00010000,
-        B00100000,B01111000,B00010000,
+        B00110000,B11111100,B00110000,
+        B00100000,B11111100,B00010000,
         B00100000,B01111000,B00010000,
         B00100000,B00110000,B00010000,
-        B00101111,B00000011,B11010000,
-        B00101111,B10000111,B11010000,
-        B00100111,B10000111,B10010000,
-        B00100011,B10000111,B00010000,
-        B00110001,B10000110,B00110000,
+        B00101100,B00000000,B11010000,
+        B00101110,B00110001,B11010000,
+        B00101111,B01111011,B11010000,
+        B00101111,B01111011,B11010000,
+        B00101110,B00110001,B11010000,
+        B00101100,B00000000,B11010000,
+        B00100000,B00110000,B00010000,
+        B00100000,B01111000,B00010000,
+        B00100000,B11111100,B00010000,
+        B00110000,B11111100,B00110000,
         B00111000,B00000000,B01110000,
         B00111111,B11111111,B11110000
       };
-    #endif
+
+      #if STATUS_FAN_FRAMES == 2
+        const unsigned char status_fan1_bmp[] PROGMEM = {
+          B00111111,B11111111,B11110000,
+          B00111000,B00000000,B01110000,
+          B00110001,B10000110,B00110000,
+          B00100011,B10000111,B00010000,
+          B00100111,B10000111,B10010000,
+          B00101111,B10000111,B11010000,
+          B00101111,B00000011,B11010000,
+          B00100000,B00110000,B00010000,
+          B00100000,B01111000,B00010000,
+          B00100000,B01111000,B00010000,
+          B00100000,B00110000,B00010000,
+          B00101111,B00000011,B11010000,
+          B00101111,B10000111,B11010000,
+          B00100111,B10000111,B10010000,
+          B00100011,B10000111,B00010000,
+          B00110001,B10000110,B00110000,
+          B00111000,B00000000,B01110000,
+          B00111111,B11111111,B11110000
+        };
+      #endif
+
+    #endif // !STATUS_ALT_FAN_BITMAP
 
   #elif STATUS_FAN_FRAMES == 3
 
     #define STATUS_FAN_WIDTH 21
 
-    const unsigned char status_fan0_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B00000000,B11111000,
-      B00111001,B00000001,B00111000,
-      B00110111,B10000011,B11011000,
-      B00110111,B10000011,B11011000,
-      B00101111,B11000111,B11101000,
-      B00100111,B11000111,B11001000,
-      B00100001,B11111111,B00001000,
-      B00100000,B01111100,B00001000,
-      B00100000,B01111100,B00001000,
-      B00100000,B01111100,B00001000,
-      B00100001,B11111111,B00001000,
-      B00100111,B11000111,B11001000,
-      B00101111,B11000111,B11101000,
-      B00110111,B10000011,B11011000,
-      B00110111,B10000011,B11011000,
-      B00111001,B00000001,B00111000,
-      B00111110,B00000000,B11111000,
-      B00111111,B11111111,B11111000
-    };
-    const unsigned char status_fan1_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B00110000,B11111000,
-      B00111001,B11110000,B00111000,
-      B00110001,B11110000,B00011000,
-      B00110000,B11110000,B00011000,
-      B00100000,B11110000,B01101000,
-      B00100000,B00110001,B11101000,
-      B00100000,B00111001,B11101000,
-      B00100000,B01111111,B11111000,
-      B00111111,B11111111,B11111000,
-      B00111111,B11111100,B00001000,
-      B00101111,B00111000,B00001000,
-      B00101110,B00011000,B00001000,
-      B00101100,B00011110,B00001000,
-      B00110000,B00011110,B00011000,
-      B00110000,B00011111,B00011000,
-      B00111000,B00011111,B00111000,
-      B00111110,B00011000,B11111000,
-      B00111111,B11111111,B11111000
-    };
-    const unsigned char status_fan2_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B00011000,B11111000,
-      B00111000,B00011111,B00111000,
-      B00110000,B00011111,B10011000,
-      B00110100,B00011111,B00011000,
-      B00101110,B00011110,B00001000,
-      B00101111,B00011100,B00001000,
-      B00101111,B10111000,B00001000,
-      B00111111,B11111100,B00001000,
-      B00111111,B11111111,B11111000,
-      B00100000,B01111111,B11111000,
-      B00100000,B00111011,B11101000,
-      B00100000,B01110001,B11101000,
-      B00100000,B11110000,B11101000,
-      B00110001,B11110000,B01011000,
-      B00110011,B11110000,B00011000,
-      B00111001,B11110000,B00111000,
-      B00111110,B00110000,B11111000,
-      B00111111,B11111111,B11111000
-    };
+    #if ENABLED(STATUS_ALT_FAN_BITMAP)
+
+      const unsigned char status_fan0_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B00000000,B11000000,
+        B00001001,B00000001,B00100000,
+        B00010111,B10000011,B11010000,
+        B00010111,B10000011,B11010000,
+        B00101111,B11000111,B11101000,
+        B00100111,B11000111,B11001000,
+        B00100001,B11111111,B00001000,
+        B00100000,B01111100,B00001000,
+        B00100000,B01111100,B00001000,
+        B00100000,B01111100,B00001000,
+        B00100001,B11111111,B00001000,
+        B00100111,B11000111,B11001000,
+        B00101111,B11000111,B11101000,
+        B00010111,B10000011,B11010000,
+        B00010111,B10000011,B11010000,
+        B00001001,B00000001,B00100000,
+        B00000110,B00000000,B11000000,
+        B00000001,B11111111,B00000000
+      };
+      const unsigned char status_fan1_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B00110000,B11000000,
+        B00001001,B11110000,B00100000,
+        B00010001,B11110000,B00010000,
+        B00010000,B11110000,B00010000,
+        B00100000,B11110000,B01101000,
+        B00100000,B00110001,B11101000,
+        B00100000,B00111001,B11101000,
+        B00100000,B01111111,B11111000,
+        B00111111,B11111111,B11111000,
+        B00111111,B11111100,B00001000,
+        B00101111,B00111000,B00001000,
+        B00101110,B00011000,B00001000,
+        B00101100,B00011110,B00001000,
+        B00010000,B00011110,B00010000,
+        B00010000,B00011111,B00010000,
+        B00001000,B00011111,B00100000,
+        B00000110,B00011000,B11000000,
+        B00000001,B11111111,B00000000
+      };
+      const unsigned char status_fan2_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B00011000,B11000000,
+        B00001000,B00011111,B00100000,
+        B00010000,B00011111,B10010000,
+        B00010100,B00011111,B00010000,
+        B00101110,B00011110,B00001000,
+        B00101111,B00011100,B00001000,
+        B00101111,B10111000,B00001000,
+        B00111111,B11111100,B00001000,
+        B00111111,B11111111,B11111000,
+        B00100000,B01111111,B11111000,
+        B00100000,B00111011,B11101000,
+        B00100000,B01110001,B11101000,
+        B00100000,B11110000,B11101000,
+        B00010001,B11110000,B01010000,
+        B00010011,B11110000,B00010000,
+        B00001001,B11110000,B00100000,
+        B00000110,B00110000,B11000000,
+        B00000001,B11111111,B00000000
+      };
+
+    #else // !STATUS_ALT_FAN_BITMAP
+
+      const unsigned char status_fan0_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B00000000,B11111000,
+        B00111001,B00000001,B00111000,
+        B00110111,B10000011,B11011000,
+        B00110111,B10000011,B11011000,
+        B00101111,B11000111,B11101000,
+        B00100111,B11000111,B11001000,
+        B00100001,B11111111,B00001000,
+        B00100000,B01111100,B00001000,
+        B00100000,B01111100,B00001000,
+        B00100000,B01111100,B00001000,
+        B00100001,B11111111,B00001000,
+        B00100111,B11000111,B11001000,
+        B00101111,B11000111,B11101000,
+        B00110111,B10000011,B11011000,
+        B00110111,B10000011,B11011000,
+        B00111001,B00000001,B00111000,
+        B00111110,B00000000,B11111000,
+        B00111111,B11111111,B11111000
+      };
+      const unsigned char status_fan1_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B00110000,B11111000,
+        B00111001,B11110000,B00111000,
+        B00110001,B11110000,B00011000,
+        B00110000,B11110000,B00011000,
+        B00100000,B11110000,B01101000,
+        B00100000,B00110001,B11101000,
+        B00100000,B00111001,B11101000,
+        B00100000,B01111111,B11111000,
+        B00111111,B11111111,B11111000,
+        B00111111,B11111100,B00001000,
+        B00101111,B00111000,B00001000,
+        B00101110,B00011000,B00001000,
+        B00101100,B00011110,B00001000,
+        B00110000,B00011110,B00011000,
+        B00110000,B00011111,B00011000,
+        B00111000,B00011111,B00111000,
+        B00111110,B00011000,B11111000,
+        B00111111,B11111111,B11111000
+      };
+      const unsigned char status_fan2_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B00011000,B11111000,
+        B00111000,B00011111,B00111000,
+        B00110000,B00011111,B10011000,
+        B00110100,B00011111,B00011000,
+        B00101110,B00011110,B00001000,
+        B00101111,B00011100,B00001000,
+        B00101111,B10111000,B00001000,
+        B00111111,B11111100,B00001000,
+        B00111111,B11111111,B11111000,
+        B00100000,B01111111,B11111000,
+        B00100000,B00111011,B11101000,
+        B00100000,B01110001,B11101000,
+        B00100000,B11110000,B11101000,
+        B00110001,B11110000,B01011000,
+        B00110011,B11110000,B00011000,
+        B00111001,B11110000,B00111000,
+        B00111110,B00110000,B11111000,
+        B00111111,B11111111,B11111000
+      };
+
+    #endif // !STATUS_ALT_FAN_BITMAP
 
   #elif STATUS_FAN_FRAMES == 4
 
     #define STATUS_FAN_WIDTH 21
 
-    const unsigned char status_fan0_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B00000000,B11111000,
-      B00111000,B00111111,B00111000,
-      B00110000,B01111110,B00011000,
-      B00110000,B01111100,B00011000,
-      B00101000,B01111100,B00001000,
-      B00101100,B00111000,B00001000,
-      B00101111,B00111001,B11001000,
-      B00101111,B11111111,B11101000,
-      B00101111,B11000111,B11101000,
-      B00101111,B11111111,B11101000,
-      B00100111,B00111001,B11101000,
-      B00100000,B00111000,B01101000,
-      B00100000,B01111100,B00101000,
-      B00110000,B01111100,B00011000,
-      B00110000,B11111100,B00011000,
-      B00111001,B11111000,B00111000,
-      B00111110,B00000000,B11111000,
-      B00111111,B11111111,B11111000
-    };
-    const unsigned char status_fan1_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B00000000,B11111000,
-      B00111000,B00001111,B00111000,
-      B00110100,B00011111,B11011000,
-      B00110110,B00011111,B10011000,
-      B00101111,B00011111,B00001000,
-      B00101111,B10011110,B00001000,
-      B00101111,B11111100,B00001000,
-      B00101111,B11011100,B00001000,
-      B00100111,B11101111,B11001000,
-      B00100000,B01110111,B11101000,
-      B00100000,B01111111,B11101000,
-      B00100000,B11110011,B11101000,
-      B00100001,B11110001,B11101000,
-      B00110011,B11110000,B11011000,
-      B00110111,B11110000,B01011000,
-      B00111001,B11100000,B00111000,
-      B00111110,B00000000,B11111000,
-      B00111111,B11111111,B11111000
-    };
-    const unsigned char status_fan2_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B10000000,B11111000,
-      B00111001,B10000000,B00111000,
-      B00110111,B10000001,B11011000,
-      B00110111,B11000011,B11011000,
-      B00100111,B11000111,B11101000,
-      B00100011,B11000111,B11111000,
-      B00100001,B11111111,B10001000,
-      B00100000,B01101100,B00001000,
-      B00100000,B01101100,B00001000,
-      B00100000,B01101100,B00001000,
-      B00100011,B11111111,B00001000,
-      B00111111,B11000111,B10001000,
-      B00101111,B11000111,B11001000,
-      B00110111,B10000111,B11011000,
-      B00110111,B00000011,B11011000,
-      B00111000,B00000011,B00111000,
-      B00111110,B00000010,B11111000,
-      B00111111,B11111111,B11111000
-    };
-    const unsigned char status_fan3_bmp[] PROGMEM = {
-      B00111111,B11111111,B11111000,
-      B00111110,B00000000,B11111000,
-      B00111001,B11110000,B00111000,
-      B00110001,B11100000,B00011000,
-      B00110001,B11100000,B00011000,
-      B00100001,B11100001,B11101000,
-      B00100000,B11110011,B11101000,
-      B00100000,B01111111,B11101000,
-      B00100000,B01110111,B11101000,
-      B00101000,B11101110,B00101000,
-      B00101111,B11011100,B00001000,
-      B00101111,B11111100,B00001000,
-      B00101111,B10011110,B00001000,
-      B00101111,B00001111,B00001000,
-      B00110000,B00001111,B00011000,
-      B00110000,B00001111,B00011000,
-      B00111000,B00011111,B00111000,
-      B00111110,B00000000,B11111000,
-      B00111111,B11111111,B11111000
-    };
+    #if ENABLED(STATUS_ALT_FAN_BITMAP)
+
+      const unsigned char status_fan0_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B00000000,B11000000,
+        B00001000,B00111111,B00100000,
+        B00010000,B01111110,B00010000,
+        B00010000,B01111100,B00010000,
+        B00101000,B01111100,B00001000,
+        B00101100,B00111000,B00001000,
+        B00101111,B00111001,B11001000,
+        B00101111,B11111111,B11101000,
+        B00101111,B11000111,B11101000,
+        B00101111,B11111111,B11101000,
+        B00100111,B00111001,B11101000,
+        B00100000,B00111000,B01101000,
+        B00100000,B01111100,B00101000,
+        B00010000,B01111100,B00010000,
+        B00010000,B11111100,B00010000,
+        B00001001,B11111000,B00100000,
+        B00000110,B00000000,B11000000,
+        B00000001,B11111111,B00000000
+      };
+      const unsigned char status_fan1_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B00000000,B11000000,
+        B00001000,B00001111,B00100000,
+        B00010100,B00011111,B11010000,
+        B00010110,B00011111,B10010000,
+        B00101111,B00011111,B00001000,
+        B00101111,B10011110,B00001000,
+        B00101111,B11111100,B00001000,
+        B00101111,B11011100,B00001000,
+        B00100111,B11101111,B11001000,
+        B00100000,B01110111,B11101000,
+        B00100000,B01111111,B11101000,
+        B00100000,B11110011,B11101000,
+        B00100001,B11110001,B11101000,
+        B00010011,B11110000,B11010000,
+        B00010111,B11110000,B01010000,
+        B00001001,B11100000,B00100000,
+        B00000110,B00000000,B11000000,
+        B00000001,B11111111,B00000000
+      };
+      const unsigned char status_fan2_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B10000000,B11000000,
+        B00001001,B10000000,B00100000,
+        B00010111,B10000001,B11010000,
+        B00010111,B11000011,B11010000,
+        B00100111,B11000111,B11101000,
+        B00100011,B11000111,B11111000,
+        B00100001,B11111111,B10001000,
+        B00100000,B01101100,B00001000,
+        B00100000,B01101100,B00001000,
+        B00100000,B01101100,B00001000,
+        B00100011,B11111111,B00001000,
+        B00111111,B11000111,B10001000,
+        B00101111,B11000111,B11001000,
+        B00010111,B10000111,B11010000,
+        B00010111,B00000011,B11010000,
+        B00001000,B00000011,B00100000,
+        B00000110,B00000010,B11000000,
+        B00000001,B11111111,B00000000
+      };
+      const unsigned char status_fan3_bmp[] PROGMEM = {
+        B00000001,B11111111,B00000000,
+        B00000110,B00000000,B11000000,
+        B00001001,B11110000,B00100000,
+        B00010001,B11100000,B00010000,
+        B00010001,B11100000,B00010000,
+        B00100001,B11100001,B11101000,
+        B00100000,B11110011,B11101000,
+        B00100000,B01111111,B11101000,
+        B00100000,B01110111,B11101000,
+        B00101000,B11101110,B00101000,
+        B00101111,B11011100,B00001000,
+        B00101111,B11111100,B00001000,
+        B00101111,B10011110,B00001000,
+        B00101111,B00001111,B00001000,
+        B00010000,B00001111,B00010000,
+        B00010000,B00001111,B00010000,
+        B00001000,B00011111,B00100000,
+        B00000110,B00000000,B11000000,
+        B00000001,B11111111,B00000000
+      };
+
+    #else // !STATUS_ALT_FAN_BITMAP
+
+      const unsigned char status_fan0_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B00000000,B11111000,
+        B00111000,B00111111,B00111000,
+        B00110000,B01111110,B00011000,
+        B00110000,B01111100,B00011000,
+        B00101000,B01111100,B00001000,
+        B00101100,B00111000,B00001000,
+        B00101111,B00111001,B11001000,
+        B00101111,B11111111,B11101000,
+        B00101111,B11000111,B11101000,
+        B00101111,B11111111,B11101000,
+        B00100111,B00111001,B11101000,
+        B00100000,B00111000,B01101000,
+        B00100000,B01111100,B00101000,
+        B00110000,B01111100,B00011000,
+        B00110000,B11111100,B00011000,
+        B00111001,B11111000,B00111000,
+        B00111110,B00000000,B11111000,
+        B00111111,B11111111,B11111000
+      };
+      const unsigned char status_fan1_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B00000000,B11111000,
+        B00111000,B00001111,B00111000,
+        B00110100,B00011111,B11011000,
+        B00110110,B00011111,B10011000,
+        B00101111,B00011111,B00001000,
+        B00101111,B10011110,B00001000,
+        B00101111,B11111100,B00001000,
+        B00101111,B11011100,B00001000,
+        B00100111,B11101111,B11001000,
+        B00100000,B01110111,B11101000,
+        B00100000,B01111111,B11101000,
+        B00100000,B11110011,B11101000,
+        B00100001,B11110001,B11101000,
+        B00110011,B11110000,B11011000,
+        B00110111,B11110000,B01011000,
+        B00111001,B11100000,B00111000,
+        B00111110,B00000000,B11111000,
+        B00111111,B11111111,B11111000
+      };
+      const unsigned char status_fan2_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B10000000,B11111000,
+        B00111001,B10000000,B00111000,
+        B00110111,B10000001,B11011000,
+        B00110111,B11000011,B11011000,
+        B00100111,B11000111,B11101000,
+        B00100011,B11000111,B11111000,
+        B00100001,B11111111,B10001000,
+        B00100000,B01101100,B00001000,
+        B00100000,B01101100,B00001000,
+        B00100000,B01101100,B00001000,
+        B00100011,B11111111,B00001000,
+        B00111111,B11000111,B10001000,
+        B00101111,B11000111,B11001000,
+        B00110111,B10000111,B11011000,
+        B00110111,B00000011,B11011000,
+        B00111000,B00000011,B00111000,
+        B00111110,B00000010,B11111000,
+        B00111111,B11111111,B11111000
+      };
+      const unsigned char status_fan3_bmp[] PROGMEM = {
+        B00111111,B11111111,B11111000,
+        B00111110,B00000000,B11111000,
+        B00111001,B11110000,B00111000,
+        B00110001,B11100000,B00011000,
+        B00110001,B11100000,B00011000,
+        B00100001,B11100001,B11101000,
+        B00100000,B11110011,B11101000,
+        B00100000,B01111111,B11101000,
+        B00100000,B01110111,B11101000,
+        B00101000,B11101110,B00101000,
+        B00101111,B11011100,B00001000,
+        B00101111,B11111100,B00001000,
+        B00101111,B10011110,B00001000,
+        B00101111,B00001111,B00001000,
+        B00110000,B00001111,B00011000,
+        B00110000,B00001111,B00011000,
+        B00111000,B00011111,B00111000,
+        B00111110,B00000000,B11111000,
+        B00111111,B11111111,B11111000
+      };
+
+    #endif // !STATUS_ALT_FAN_BITMAP
 
   #endif
 
@@ -1121,7 +1332,7 @@
   #endif
 
   #ifndef STATUS_BED_TEXT_X
-    #define STATUS_BED_TEXT_X (STATUS_BED_X + 8)
+    #define STATUS_BED_TEXT_X (STATUS_BED_X + 11)
   #endif
 
   static_assert(
-- 
GitLab