From 83097657d5fffc0051778a72cf39e7ba3a23212b Mon Sep 17 00:00:00 2001
From: "Alexander D. Kanevskiy" <kad@kad.name>
Date: Mon, 2 Nov 2020 01:44:46 +0200
Subject: [PATCH] Y-center GLCD status logo, reorganize (#19954)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
---
 Marlin/src/lcd/dogm/dogm_Statusscreen.h | 1246 +----------------------
 Marlin/src/lcd/dogm/status/bed.h        |  110 ++
 Marlin/src/lcd/dogm/status/chamber.h    |   89 ++
 Marlin/src/lcd/dogm/status/combined.h   |  236 +++++
 Marlin/src/lcd/dogm/status/cutter.h     |  123 +++
 Marlin/src/lcd/dogm/status/fan.h        |  443 ++++++++
 Marlin/src/lcd/dogm/status/hotend.h     |  336 ++++++
 7 files changed, 1370 insertions(+), 1213 deletions(-)
 create mode 100644 Marlin/src/lcd/dogm/status/bed.h
 create mode 100644 Marlin/src/lcd/dogm/status/chamber.h
 create mode 100644 Marlin/src/lcd/dogm/status/combined.h
 create mode 100644 Marlin/src/lcd/dogm/status/cutter.h
 create mode 100644 Marlin/src/lcd/dogm/status/fan.h
 create mode 100644 Marlin/src/lcd/dogm/status/hotend.h

diff --git a/Marlin/src/lcd/dogm/dogm_Statusscreen.h b/Marlin/src/lcd/dogm/dogm_Statusscreen.h
index e76b7da5983..15578e21d92 100644
--- a/Marlin/src/lcd/dogm/dogm_Statusscreen.h
+++ b/Marlin/src/lcd/dogm/dogm_Statusscreen.h
@@ -57,805 +57,43 @@
 // Default Status Screen Heater or Hotends bitmaps
 //
 #if !STATUS_HEATERS_WIDTH && !STATUS_HOTEND1_WIDTH
-
   #if ENABLED(STATUS_COMBINE_HEATERS)
-
-    #undef STATUS_HOTEND_ANIM
-    #undef STATUS_BED_ANIM
-    #define STATUS_HEATERS_XSPACE 24
-
-    //
-    // Status Screen Combined Heater bitmaps
-    //
-    #if HAS_HEATED_BED && HOTENDS <= 4
-
-      #if HOTENDS == 0
-
-        #define STATUS_HEATERS_WIDTH 96
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
-          B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
-        };
-
-      #elif HOTENDS == 1
-
-        #define STATUS_HEATERS_WIDTH 96
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
-          B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
-          B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
-          B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
-          B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
-          B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
-          B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
-          B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
-          B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
-        };
-
-      #elif HOTENDS == 2
-
-        #define STATUS_HEATERS_WIDTH 96
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
-          B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
-        };
-
-      #elif HOTENDS == 3
-
-        #define STATUS_HEATERS_WIDTH 96
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000010,B00001000,B00100000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000100,B00010000,B01000000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00001000,B00100000,B10000000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00010000,B01000001,B00000000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00001000,B00100000,B10000000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000100,B00010000,B01000000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00011111,B11111111,B11111000,
-          B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00011111,B11111111,B11111000
-        };
-
-      #else // HOTENDS > 3
-
-        #define STATUS_HEATERS_WIDTH 120
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,B00000000,B00000100,B00010000,B01000000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,B00000000,B00001000,B00100000,B10000000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,B00000000,B00010000,B01000001,B00000000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,B00000000,B00010000,B01000001,B00000000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,B00000000,B00001000,B00100000,B10000000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000100,B00010000,B01000000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00011111,B11111111,B11111000,
-          B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00011111,B11111111,B11111000
-        };
-
-      #endif // HOTENDS
-
-      #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10)
-
-    #else // !HAS_HEATED_BED || HOTENDS > 3
-
-      #if HOTENDS == 0
-
-        #define STATUS_HEATERS_WIDTH  0
-
-      #elif HOTENDS == 1
-
-        #define STATUS_HEATERS_WIDTH  12
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00011111,B11100000,
-          B00011111,B11100000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00001111,B11000000,
-          B00000111,B10000000,
-          B00000011,B00000000
-        };
-
-      #elif HOTENDS == 2
-
-        #define STATUS_HEATERS_WIDTH  36
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,
-          B00000011,B00000000,B00000000,B00000011,B00000000
-        };
-
-      #elif HOTENDS == 3
-
-        #define STATUS_HEATERS_WIDTH  60
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
-          B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
-        };
-
-      #elif HOTENDS == 4
-
-        #define STATUS_HEATERS_WIDTH  84
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
-          B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
-        };
-
-      #else // HOTENDS > 4
-
-        #define STATUS_HEATERS_WIDTH  108
-
-        const unsigned char status_heaters_bmp[] PROGMEM = {
-          B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
-          B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111000,B01110000,
-          B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B11110000,
-          B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,B00000000,B00111000,B11110000,
-          B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,B00000000,B00011111,B01100000,
-          B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,B00000000,B00011111,B01100000,
-          B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
-          B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,B00000000,B00111100,B11110000,
-          B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
-          B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
-          B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
-          B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
-        };
-
-      #endif // HOTENDS
-
-    #endif // !HAS_HEATED_BED || HOTENDS > 3
-
-  #else // !STATUS_COMBINE_HEATERS
-
-    //
-    // Status Screen Hotends bitmaps
-    //
+    #include "status/combined.h"
+  #else
     #if HAS_HOTEND
-
-      #define STATUS_HOTEND1_WIDTH  16
-
-      #define MAX_HOTEND_BITMAPS     5
-      #if HOTENDS > MAX_HOTEND_BITMAPS
-        #define STATUS_HOTEND_BITMAPS MAX_HOTEND_BITMAPS
-      #else
-        #define STATUS_HOTEND_BITMAPS HOTENDS
-      #endif
-
-      #if HOTENDS == 1 || ENABLED(STATUS_HOTEND_NUMBERLESS)
-
-        const unsigned char status_hotend_a_bmp[] PROGMEM = {
-          B00011111,B11100000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00011111,B11100000,
-          B00011111,B11100000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00111111,B11110000,
-          B00001111,B11000000,
-          B00000111,B10000000,
-          B00000011,B00000000
-        };
-
-        #ifdef STATUS_HOTEND_ANIM
-
-          const unsigned char status_hotend_b_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00100000,B00010000,
-            B00100000,B00010000,
-            B00100000,B00010000,
-            B00010000,B00100000,
-            B00010000,B00100000,
-            B00100000,B00010000,
-            B00100000,B00010000,
-            B00110000,B00110000,
-            B00001000,B01000000,
-            B00000100,B10000000,
-            B00000011,B00000000
-          };
-
-        #endif
-
-      #elif HOTENDS >= 2
-
-        #ifdef STATUS_HOTEND_ANIM
-
-          const unsigned char status_hotend1_a_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00111111,B11110000,
-            B00111110,B11110000,
-            B00111100,B11110000,
-            B00011010,B11100000,
-            B00011110,B11100000,
-            B00111110,B11110000,
-            B00111110,B11110000,
-            B00111110,B11110000,
-            B00001111,B11000000,
-            B00000111,B10000000,
-            B00000011,B00000000
-          };
-
-          const unsigned char status_hotend1_b_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00100000,B00010000,
-            B00100001,B00010000,
-            B00100011,B00010000,
-            B00010101,B00100000,
-            B00010001,B00100000,
-            B00100001,B00010000,
-            B00100001,B00010000,
-            B00110001,B00110000,
-            B00001000,B01000000,
-            B00000100,B10000000,
-            B00000011,B00000000
-          };
-
-          const unsigned char status_hotend2_a_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00111111,B11110000,
-            B00111100,B11110000,
-            B00111011,B01110000,
-            B00011111,B01100000,
-            B00011110,B11100000,
-            B00111101,B11110000,
-            B00111011,B11110000,
-            B00111000,B01110000,
-            B00001111,B11000000,
-            B00000111,B10000000,
-            B00000011,B00000000
-          };
-
-          const unsigned char status_hotend2_b_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00100000,B00010000,
-            B00100011,B00010000,
-            B00100100,B10010000,
-            B00010000,B10100000,
-            B00010001,B00100000,
-            B00100010,B00010000,
-            B00100100,B00010000,
-            B00110111,B10110000,
-            B00001000,B01000000,
-            B00000100,B10000000,
-            B00000011,B00000000
-          };
-
-        #else
-
-          const unsigned char status_hotend1_a_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00111110,B11110000,
-            B00111100,B11110000,
-            B00111010,B11110000,
-            B00011110,B11100000,
-            B00011110,B11100000,
-            B00111110,B11110000,
-            B00111110,B11110000,
-            B00111111,B11110000,
-            B00001111,B11000000,
-            B00000111,B10000000,
-            B00000011,B00000000
-          };
-
-          const unsigned char status_hotend2_a_bmp[] PROGMEM = {
-            B00011111,B11100000,
-            B00111100,B11110000,
-            B00111011,B01110000,
-            B00111111,B01110000,
-            B00011110,B11100000,
-            B00011101,B11100000,
-            B00111011,B11110000,
-            B00111000,B01110000,
-            B00111111,B11110000,
-            B00001111,B11000000,
-            B00000111,B10000000,
-            B00000011,B00000000
-          };
-
-        #endif
-
-        #if STATUS_HOTEND_BITMAPS >= 3
-
-          #ifdef STATUS_HOTEND_ANIM
-
-            const unsigned char status_hotend3_a_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00111111,B11110000,
-              B00111100,B11110000,
-              B00111011,B01110000,
-              B00011111,B01100000,
-              B00011100,B11100000,
-              B00111111,B01110000,
-              B00111011,B01110000,
-              B00111100,B11110000,
-              B00001111,B11000000,
-              B00000111,B10000000,
-              B00000011,B00000000
-            };
-
-            const unsigned char status_hotend3_b_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00100000,B00010000,
-              B00100011,B00010000,
-              B00100100,B10010000,
-              B00010000,B10100000,
-              B00010011,B00100000,
-              B00100000,B10010000,
-              B00100100,B10010000,
-              B00110011,B00110000,
-              B00001000,B01000000,
-              B00000100,B10000000,
-              B00000011,B00000000
-            };
-
-          #else
-
-            const unsigned char status_hotend3_a_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00111100,B11110000,
-              B00111011,B01110000,
-              B00111111,B01110000,
-              B00011100,B11100000,
-              B00011111,B01100000,
-              B00111011,B01110000,
-              B00111100,B11110000,
-              B00111111,B11110000,
-              B00001111,B11000000,
-              B00000111,B10000000,
-              B00000011,B00000000
-            };
-
-          #endif
-
-        #endif
-
-        #if STATUS_HOTEND_BITMAPS >= 4
-
-          #ifdef STATUS_HOTEND_ANIM
-
-            const unsigned char status_hotend4_a_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00111111,B11110000,
-              B00111011,B01110000,
-              B00111011,B01110000,
-              B00011011,B01100000,
-              B00011011,B01100000,
-              B00111000,B00110000,
-              B00111111,B01110000,
-              B00111111,B01110000,
-              B00001111,B11000000,
-              B00000111,B10000000,
-              B00000011,B00000000
-            };
-
-            const unsigned char status_hotend4_b_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00100000,B00010000,
-              B00100100,B10010000,
-              B00100100,B10010000,
-              B00010100,B10100000,
-              B00010100,B10100000,
-              B00100111,B11010000,
-              B00100000,B10010000,
-              B00110000,B10110000,
-              B00001000,B01000000,
-              B00000100,B10000000,
-              B00000011,B00000000
-            };
-
-          #else
-
-            const unsigned char status_hotend4_a_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00111011,B01110000,
-              B00111011,B01110000,
-              B00111011,B01110000,
-              B00011011,B01100000,
-              B00011000,B00100000,
-              B00111111,B01110000,
-              B00111111,B01110000,
-              B00111111,B11110000,
-              B00001111,B11000000,
-              B00000111,B10000000,
-              B00000011,B00000000
-            };
-
-          #endif
-
-        #endif
-
-        #if STATUS_HOTEND_BITMAPS >= 5
-
-          #ifdef STATUS_HOTEND_ANIM
-
-            const unsigned char status_hotend5_a_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00111111,B11110000,
-              B00111000,B01110000,
-              B00111011,B11110000,
-              B00011000,B11100000,
-              B00011111,B01100000,
-              B00111111,B01110000,
-              B00111011,B01110000,
-              B00111100,B11110000,
-              B00001111,B11000000,
-              B00000111,B10000000,
-              B00000011,B00000000
-            };
-
-            const unsigned char status_hotend5_b_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00100000,B00010000,
-              B00100111,B10010000,
-              B00100100,B00010000,
-              B00010111,B00100000,
-              B00010000,B10100000,
-              B00100000,B10010000,
-              B00100100,B10010000,
-              B00110011,B00110000,
-              B00001000,B01000000,
-              B00000100,B10000000,
-              B00000011,B00000000
-            };
-
-          #else
-
-            const unsigned char status_hotend5_a_bmp[] PROGMEM = {
-              B00011111,B11100000,
-              B00111000,B01110000,
-              B00111011,B11110000,
-              B00111000,B11110000,
-              B00011111,B01100000,
-              B00011111,B01100000,
-              B00111011,B01110000,
-              B00111100,B11110000,
-              B00111111,B11110000,
-              B00001111,B11000000,
-              B00000111,B10000000,
-              B00000011,B00000000
-            };
-
-          #endif
-
-        #endif
-
-      #endif
-
+      #include "status/hotend.h"
     #else
       #define STATUS_HEATERS_HEIGHT 20
     #endif
-
-  #endif
-
-#endif // !STATUS_HEATERS_WIDTH && !STATUS_HOTEND1_WIDTH
-
-// LASER / SPINDLE
-#if !STATUS_CUTTER_WIDTH && HAS_CUTTER
-  #define STATUS_CUTTER_WIDTH 24
-  #define STATUS_CUTTER_X 80
-  #if ENABLED(LASER_FEATURE)
-    #ifdef STATUS_CUTTER_ANIM
-      const unsigned char status_cutter_on_bmp[] PROGMEM = {
-        B00000000,B00100100,B00000000,
-        B00000000,B01100110,B00000000,
-        B00000000,B11000011,B00000000,
-        B00000001,B10011001,B10000000,
-        B00000011,B00100100,B11000000,
-        B00000000,B01000010,B00000000,
-        B00000000,B01000010,B00000000,
-        B00000011,B00100100,B11000000,
-        B00000001,B10011001,B10000000,
-        B00000000,B11000011,B00000000,
-        B00000000,B01100110,B00000000,
-        B00000000,B00100100,B00000000
-      };
-      const unsigned char status_cutter_bmp[] PROGMEM = {
-        B00000000,B00100100,B00000000,
-        B00000000,B01100110,B00000000,
-        B00000000,B00000000,B00000000,
-        B00000001,B00000000,B10000000,
-        B00000011,B00000000,B11000000,
-        B00000000,B00011000,B00000000,
-        B00000000,B00011000,B00000000,
-        B00000011,B00000000,B11000000,
-        B00000001,B00000000,B10000000,
-        B00000000,B00000000,B00000000,
-        B00000000,B01100110,B00000000,
-        B00000000,B00100100,B00000000
-      };
-    #else
-      const unsigned char status_cutter_bmp[] PROGMEM = {
-        B00000000,B00100100,B00000000,
-        B00000000,B01100110,B00000000,
-        B00000000,B11000011,B00000000,
-        B00000001,B10000001,B10000000,
-        B00000011,B00000000,B11000000,
-        B00000000,B00000000,B00000000,
-        B00000000,B00000000,B00000000,
-        B00000011,B00000000,B11000000,
-        B00000001,B10000001,B10000000,
-        B00000000,B11000011,B00000000,
-        B00000000,B01100110,B00000000,
-        B00000000,B00100100,B00000000
-      };
-    #endif
-  #else
-    #ifdef STATUS_CUTTER_ANIM
-      const unsigned char status_cutter_on_bmp[] PROGMEM = {
-        B00000001,B11111110,B10000000,
-        B00000000,B11000000,B00000000,
-        B00000001,B10000000,B10000000,
-        B00000001,B00000000,B10000000,
-        B00000001,B11111100,B10000000,
-        B00000000,B11100000,B00000000,
-        B00000001,B11000000,B10000000,
-        B00000000,B10000001,B00000000,
-        B00000000,B01111010,B00000000,
-        B00000000,B00110100,B00000000,
-        B00000000,B00011000,B00000000,
-        B00000000,B00000000,B00000000
-      };
-      const unsigned char status_cutter_bmp[] PROGMEM = {
-        B00000001,B11111110,B10000000,
-        B00000000,B11000000,B00000000,
-        B00000001,B10000000,B10000000,
-        B00000001,B00000000,B10000000,
-        B00000001,B11111100,B10000000,
-        B00000000,B11100000,B00000000,
-        B00000001,B11000000,B10000000,
-        B00000000,B10000001,B00000000,
-        B00000000,B01111010,B00000000,
-        B00000000,B00110100,B00000000,
-        B00000000,B00011000,B00000000,
-        B00000000,B00000000,B00000000
-      };
-    #else
-      const unsigned char status_cutter_bmp[] PROGMEM = {
-        B00000001,B11000010,B10000000,
-        B00000001,B00011100,B10000000,
-        B00000000,B11100001,B00000000,
-        B00000001,B00001110,B10000000,
-        B00000001,B01110000,B10000000,
-        B00000000,B10000111,B10000000,
-        B00000001,B00111111,B10000000,
-        B00000000,B11111111,B00000000,
-        B00000000,B01111110,B00000000,
-        B00000000,B00111100,B00000000,
-        B00000000,B00011000,B00000000,
-        B00000000,B00000000,B00000000
-      };
-    #endif
-  #endif
-#endif // LASER / SPINDLE
-
-//
-// Default Status Screen Bed bitmaps
-//
-#if !STATUS_BED_WIDTH && HAS_HEATED_BED && DISABLED(STATUS_COMBINE_HEATERS)
-
-  #if ENABLED(STATUS_ALT_BED_BITMAP)
-
-    #define STATUS_BED_ANIM
-    #define STATUS_BED_WIDTH  24
-    #ifndef STATUS_BED_X
-      #define STATUS_BED_X   (LCD_PIXEL_WIDTH - (STATUS_BED_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
-    #endif
-    #define STATUS_BED_TEXT_X (STATUS_BED_X + 11)
-
-    const unsigned char status_bed_bmp[] PROGMEM = {
-      B11111111,B11111111,B11000000,
-      B01000000,B00000000,B00100000,
-      B00100000,B00000000,B00010000,
-      B00010000,B00000000,B00001000,
-      B00001000,B00000000,B00000100,
-      B00000100,B00000000,B00000010,
-      B00000011,B11111111,B11111111
-    };
-
-    const unsigned char status_bed_on_bmp[] PROGMEM = {
-      B00000010,B00100010,B00000000,
-      B00000100,B01000100,B00000000,
-      B00000100,B01000100,B00000000,
-      B00000010,B00100010,B00000000,
-      B00000001,B00010001,B00000000,
-      B11111111,B11111111,B11000000,
-      B01000000,B10001000,B10100000,
-      B00100001,B00010001,B00010000,
-      B00010010,B00100010,B00001000,
-      B00001000,B00000000,B00000100,
-      B00000100,B00000000,B00000010,
-      B00000011,B11111111,B11111111
-    };
-
-  #else
-
-    #define STATUS_BED_WIDTH  21
-    #ifndef STATUS_BED_X
-      #define STATUS_BED_X   (LCD_PIXEL_WIDTH - (STATUS_BED_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
-    #endif
-
-    #ifdef STATUS_BED_ANIM
-
-      const unsigned char status_bed_bmp[] PROGMEM = {
-        B00011111,B11111111,B11111000,
-        B00011111,B11111111,B11111000
-      };
-
-      const unsigned char status_bed_on_bmp[] PROGMEM = {
-        B00000100,B00010000,B01000000,
-        B00000010,B00001000,B00100000,
-        B00000010,B00001000,B00100000,
-        B00000100,B00010000,B01000000,
-        B00001000,B00100000,B10000000,
-        B00010000,B01000001,B00000000,
-        B00010000,B01000001,B00000000,
-        B00001000,B00100000,B10000000,
-        B00000100,B00010000,B01000000,
-        B00000000,B00000000,B00000000,
-        B00011111,B11111111,B11111000,
-        B00011111,B11111111,B11111000
-      };
-
-    #else
-
-      const unsigned char status_bed_bmp[] PROGMEM = {
-        B00000100,B00010000,B01000000,
-        B00000010,B00001000,B00100000,
-        B00000010,B00001000,B00100000,
-        B00000100,B00010000,B01000000,
-        B00001000,B00100000,B10000000,
-        B00010000,B01000001,B00000000,
-        B00010000,B01000001,B00000000,
-        B00001000,B00100000,B10000000,
-        B00000100,B00010000,B01000000,
-        B00000000,B00000000,B00000000,
-        B00011111,B11111111,B11111000,
-        B00011111,B11111111,B11111000
-      };
-
-    #endif
-
   #endif
 #endif
 
+//
+// Laser / Spindle
+//
+#if !STATUS_CUTTER_WIDTH && HAS_CUTTER
+  #include "status/cutter.h"
+#endif
+#ifndef STATUS_CUTTER_WIDTH
+  #define STATUS_CUTTER_WIDTH 0
+#endif
+
+//
+// Bed
+//
+#if !STATUS_BED_WIDTH && HAS_HEATED_BED && DISABLED(STATUS_COMBINE_HEATERS)
+  #include "status/bed.h"
+#endif
 #ifndef STATUS_BED_WIDTH
   #define STATUS_BED_WIDTH 0
 #endif
 
+//
+// Chamber
+//
 #if !STATUS_CHAMBER_WIDTH && HAS_TEMP_CHAMBER && ((HOTENDS <= 4 && !HAS_HEATED_BED) || (HOTENDS <= 3 && HAS_HEATED_BED))
-  #define STATUS_CHAMBER_WIDTH 21
-  #if STATUS_HEATERS_WIDTH
-    #if ENABLED(STATUS_COMBINE_HEATERS)
-      #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - 2 - (STATUS_CHAMBER_BYTEWIDTH) * 8)
-    #elif HAS_FAN0 && HAS_HEATED_BED && HOTENDS <= 2
-      #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - 2 - (STATUS_HEATERS_BYTEWIDTH - STATUS_CHAMBER_BYTEWIDTH) * 8)
-    #elif HAS_FAN0 && !HAS_HEATED_BED
-      #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - (STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
-    #else
-      #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - (STATUS_CHAMBER_BYTEWIDTH) * 8)
-    #endif
-  #endif
-
-  #ifdef STATUS_CHAMBER_ANIM
-
-    const unsigned char status_chamber_bmp[] PROGMEM = {
-      B00011111,B11111111,B11111000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00010000,B00000000,B00001000,
-      B00011111,B11111111,B11111000,
-      B00011111,B11111111,B11111000
-    };
-    const unsigned char status_chamber_on_bmp[] PROGMEM = {
-      B00011111,B11111111,B11111000,
-      B00010000,B00000000,B00001000,
-      B00010000,B10000100,B00001000,
-      B00010000,B01000010,B00001000,
-      B00010000,B01000010,B00001000,
-      B00010000,B10000100,B00001000,
-      B00010001,B00001000,B00001000,
-      B00010001,B00001000,B00001000,
-      B00010000,B10000100,B00001000,
-      B00010000,B00000000,B00001000,
-      B00011111,B11111111,B11111000,
-      B00011111,B11111111,B11111000
-    };
-
-  #else
-
-    const unsigned char status_chamber_bmp[] PROGMEM = {
-      B00011111,B11111111,B11111000,
-      B00010000,B00000000,B00001000,
-      B00010000,B10000100,B00001000,
-      B00010000,B01000010,B00001000,
-      B00010000,B01000010,B00001000,
-      B00010000,B10000100,B00001000,
-      B00010001,B00001000,B00001000,
-      B00010001,B00001000,B00001000,
-      B00010000,B10000100,B00001000,
-      B00010000,B00000000,B00001000,
-      B00011111,B11111111,B11111000,
-      B00011111,B11111111,B11111000
-    };
-
-  #endif
+  #include "status/chamber.h"
 #endif
-
 #ifndef STATUS_CHAMBER_WIDTH
   #define STATUS_CHAMBER_WIDTH 0
 #endif
@@ -881,427 +119,7 @@
 // Provide default Fan Bitmaps
 //
 #if !STATUS_FAN_WIDTH && STATUS_FAN_FRAMES > 0
-
-  // Provide a fan animation if none exists
-
-  #if STATUS_FAN_FRAMES <= 2
-
-    #define STATUS_FAN_Y      2
-    #define STATUS_FAN_WIDTH 20
-
-    #if ENABLED(STATUS_ALT_FAN_BITMAP)
-
-      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,
-        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 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 20
-
-    #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 20
-
-    #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
+  #include "status/fan.h"
 #else
   #undef STATUS_FAN_FRAMES
   #define STATUS_FAN_WIDTH 0
@@ -1325,7 +143,6 @@
 #endif
 
 #if ENABLED(CUSTOM_STATUS_SCREEN_IMAGE)
-
   //
   // Disable the logo bitmap if insufficient space
   //
@@ -1341,7 +158,7 @@
     #undef STATUS_LOGO_WIDTH
   #endif
 
-  #if !defined(STATUS_HEATERS_X) && ((HAS_MULTI_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN))
+  #if !defined(STATUS_HEATERS_X) && ((HAS_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN))
     #define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2)
     #if STATUS_HOTEND1_WIDTH
       #if HOTENDS > 2
@@ -1353,7 +170,6 @@
       #define STATUS_HEATERS_X _STATUS_HEATERS_X(1, STATUS_HEATERS_WIDTH, 4)
     #endif
   #endif
-
 #endif
 
 //
@@ -1367,14 +183,18 @@
 #endif
 #if STATUS_LOGO_WIDTH
   #ifndef STATUS_LOGO_X
-    #define STATUS_LOGO_X 0
-  #endif
-  #ifndef STATUS_LOGO_Y
-    #define STATUS_LOGO_Y _MIN(0U, (20 - (STATUS_LOGO_HEIGHT)) / 2)
+    #ifdef STATUS_HEATERS_X
+      #define STATUS_LOGO_X ((STATUS_HEATERS_X - (STATUS_LOGO_WIDTH) - 1) / 2)
+    #else
+      #define STATUS_LOGO_X 0
+    #endif
   #endif
   #ifndef STATUS_LOGO_HEIGHT
     #define STATUS_LOGO_HEIGHT (sizeof(status_logo_bmp) / (STATUS_LOGO_BYTEWIDTH))
   #endif
+  #ifndef STATUS_LOGO_Y
+    #define STATUS_LOGO_Y _MAX(0L, (28L - _MIN(28L, STATUS_LOGO_HEIGHT)) / 2L)
+  #endif
   static_assert(
     sizeof(status_logo_bmp) == (STATUS_LOGO_BYTEWIDTH) * (STATUS_LOGO_HEIGHT),
     "Status logo bitmap (status_logo_bmp) dimensions don't match data."
diff --git a/Marlin/src/lcd/dogm/status/bed.h b/Marlin/src/lcd/dogm/status/bed.h
new file mode 100644
index 00000000000..c484a129293
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/bed.h
@@ -0,0 +1,110 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/bed.h - Status Screen Bed bitmaps
+//
+
+#if ENABLED(STATUS_ALT_BED_BITMAP)
+
+  #define STATUS_BED_ANIM
+  #define STATUS_BED_WIDTH  24
+  #ifndef STATUS_BED_X
+    #define STATUS_BED_X   (LCD_PIXEL_WIDTH - (STATUS_BED_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
+  #endif
+  #define STATUS_BED_TEXT_X (STATUS_BED_X + 11)
+
+  const unsigned char status_bed_bmp[] PROGMEM = {
+    B11111111,B11111111,B11000000,
+    B01000000,B00000000,B00100000,
+    B00100000,B00000000,B00010000,
+    B00010000,B00000000,B00001000,
+    B00001000,B00000000,B00000100,
+    B00000100,B00000000,B00000010,
+    B00000011,B11111111,B11111111
+  };
+
+  const unsigned char status_bed_on_bmp[] PROGMEM = {
+    B00000010,B00100010,B00000000,
+    B00000100,B01000100,B00000000,
+    B00000100,B01000100,B00000000,
+    B00000010,B00100010,B00000000,
+    B00000001,B00010001,B00000000,
+    B11111111,B11111111,B11000000,
+    B01000000,B10001000,B10100000,
+    B00100001,B00010001,B00010000,
+    B00010010,B00100010,B00001000,
+    B00001000,B00000000,B00000100,
+    B00000100,B00000000,B00000010,
+    B00000011,B11111111,B11111111
+  };
+
+#else
+
+  #define STATUS_BED_WIDTH  21
+  #ifndef STATUS_BED_X
+    #define STATUS_BED_X   (LCD_PIXEL_WIDTH - (STATUS_BED_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
+  #endif
+
+  #ifdef STATUS_BED_ANIM
+
+    const unsigned char status_bed_bmp[] PROGMEM = {
+      B00011111,B11111111,B11111000,
+      B00011111,B11111111,B11111000
+    };
+
+    const unsigned char status_bed_on_bmp[] PROGMEM = {
+      B00000100,B00010000,B01000000,
+      B00000010,B00001000,B00100000,
+      B00000010,B00001000,B00100000,
+      B00000100,B00010000,B01000000,
+      B00001000,B00100000,B10000000,
+      B00010000,B01000001,B00000000,
+      B00010000,B01000001,B00000000,
+      B00001000,B00100000,B10000000,
+      B00000100,B00010000,B01000000,
+      B00000000,B00000000,B00000000,
+      B00011111,B11111111,B11111000,
+      B00011111,B11111111,B11111000
+    };
+
+  #else
+
+    const unsigned char status_bed_bmp[] PROGMEM = {
+      B00000100,B00010000,B01000000,
+      B00000010,B00001000,B00100000,
+      B00000010,B00001000,B00100000,
+      B00000100,B00010000,B01000000,
+      B00001000,B00100000,B10000000,
+      B00010000,B01000001,B00000000,
+      B00010000,B01000001,B00000000,
+      B00001000,B00100000,B10000000,
+      B00000100,B00010000,B01000000,
+      B00000000,B00000000,B00000000,
+      B00011111,B11111111,B11111000,
+      B00011111,B11111111,B11111000
+    };
+
+  #endif
+
+#endif
diff --git a/Marlin/src/lcd/dogm/status/chamber.h b/Marlin/src/lcd/dogm/status/chamber.h
new file mode 100644
index 00000000000..787a90884ae
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/chamber.h
@@ -0,0 +1,89 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/chamber.h - Status Screen Chamber bitmaps
+//
+
+#define STATUS_CHAMBER_WIDTH 21
+#if STATUS_HEATERS_WIDTH
+  #if ENABLED(STATUS_COMBINE_HEATERS)
+    #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - 2 - (STATUS_CHAMBER_BYTEWIDTH) * 8)
+  #elif HAS_FAN0 && HAS_HEATED_BED && HOTENDS <= 2
+    #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - 2 - (STATUS_HEATERS_BYTEWIDTH - STATUS_CHAMBER_BYTEWIDTH) * 8)
+  #elif HAS_FAN0 && !HAS_HEATED_BED
+    #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - (STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
+  #else
+    #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - (STATUS_CHAMBER_BYTEWIDTH) * 8)
+  #endif
+#endif
+
+#ifdef STATUS_CHAMBER_ANIM
+
+  const unsigned char status_chamber_bmp[] PROGMEM = {
+    B00011111,B11111111,B11111000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00010000,B00000000,B00001000,
+    B00011111,B11111111,B11111000,
+    B00011111,B11111111,B11111000
+  };
+  const unsigned char status_chamber_on_bmp[] PROGMEM = {
+    B00011111,B11111111,B11111000,
+    B00010000,B00000000,B00001000,
+    B00010000,B10000100,B00001000,
+    B00010000,B01000010,B00001000,
+    B00010000,B01000010,B00001000,
+    B00010000,B10000100,B00001000,
+    B00010001,B00001000,B00001000,
+    B00010001,B00001000,B00001000,
+    B00010000,B10000100,B00001000,
+    B00010000,B00000000,B00001000,
+    B00011111,B11111111,B11111000,
+    B00011111,B11111111,B11111000
+  };
+
+#else
+
+  const unsigned char status_chamber_bmp[] PROGMEM = {
+    B00011111,B11111111,B11111000,
+    B00010000,B00000000,B00001000,
+    B00010000,B10000100,B00001000,
+    B00010000,B01000010,B00001000,
+    B00010000,B01000010,B00001000,
+    B00010000,B10000100,B00001000,
+    B00010001,B00001000,B00001000,
+    B00010001,B00001000,B00001000,
+    B00010000,B10000100,B00001000,
+    B00010000,B00000000,B00001000,
+    B00011111,B11111111,B11111000,
+    B00011111,B11111111,B11111000
+  };
+
+#endif
diff --git a/Marlin/src/lcd/dogm/status/combined.h b/Marlin/src/lcd/dogm/status/combined.h
new file mode 100644
index 00000000000..69aad5b00e5
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/combined.h
@@ -0,0 +1,236 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/combined.h - Status Screen Combined Heater bitmaps
+//
+
+#undef STATUS_HOTEND_ANIM
+#undef STATUS_BED_ANIM
+#define STATUS_HEATERS_XSPACE 24
+
+#if HAS_HEATED_BED && HOTENDS <= 4
+
+  #if HOTENDS == 0
+
+    #define STATUS_HEATERS_WIDTH 96
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
+      B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
+    };
+
+  #elif HOTENDS == 1
+
+    #define STATUS_HEATERS_WIDTH 96
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+      B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+      B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+      B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+      B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+      B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+      B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
+      B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
+    };
+
+  #elif HOTENDS == 2
+
+    #define STATUS_HEATERS_WIDTH 96
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
+      B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
+    };
+
+  #elif HOTENDS == 3
+
+    #define STATUS_HEATERS_WIDTH 96
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000010,B00001000,B00100000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000100,B00010000,B01000000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00001000,B00100000,B10000000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00010000,B01000001,B00000000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00001000,B00100000,B10000000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000100,B00010000,B01000000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00011111,B11111111,B11111000,
+      B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00011111,B11111111,B11111000
+    };
+
+  #else // HOTENDS > 3
+
+    #define STATUS_HEATERS_WIDTH 120
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,B00000000,B00000100,B00010000,B01000000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,B00000000,B00001000,B00100000,B10000000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,B00000000,B00010000,B01000001,B00000000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,B00000000,B00010000,B01000001,B00000000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,B00000000,B00001000,B00100000,B10000000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000100,B00010000,B01000000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00011111,B11111111,B11111000,
+      B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00011111,B11111111,B11111000
+    };
+
+  #endif // HOTENDS
+
+  #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10)
+
+#else // !HAS_HEATED_BED || HOTENDS > 3
+
+  #if HOTENDS == 0
+
+    #define STATUS_HEATERS_WIDTH  0
+
+  #elif HOTENDS == 1
+
+    #define STATUS_HEATERS_WIDTH  12
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00111111,B11110000,
+      B00111111,B11110000,
+      B00111111,B11110000,
+      B00011111,B11100000,
+      B00011111,B11100000,
+      B00111111,B11110000,
+      B00111111,B11110000,
+      B00111111,B11110000,
+      B00001111,B11000000,
+      B00000111,B10000000,
+      B00000011,B00000000
+    };
+
+  #elif HOTENDS == 2
+
+    #define STATUS_HEATERS_WIDTH  36
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,
+      B00000011,B00000000,B00000000,B00000011,B00000000
+    };
+
+  #elif HOTENDS == 3
+
+    #define STATUS_HEATERS_WIDTH  60
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
+      B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
+    };
+
+  #elif HOTENDS == 4
+
+    #define STATUS_HEATERS_WIDTH  84
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
+      B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
+    };
+
+  #else // HOTENDS > 4
+
+    #define STATUS_HEATERS_WIDTH  108
+
+    const unsigned char status_heaters_bmp[] PROGMEM = {
+      B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
+      B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111000,B01110000,
+      B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B11110000,
+      B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,B00000000,B00111000,B11110000,
+      B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,B00000000,B00011111,B01100000,
+      B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,B00000000,B00011111,B01100000,
+      B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
+      B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,B00000000,B00111100,B11110000,
+      B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
+      B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
+      B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
+      B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
+    };
+
+  #endif // HOTENDS
+
+#endif // !HAS_HEATED_BED || HOTENDS > 3
diff --git a/Marlin/src/lcd/dogm/status/cutter.h b/Marlin/src/lcd/dogm/status/cutter.h
new file mode 100644
index 00000000000..0e3b9dd1885
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/cutter.h
@@ -0,0 +1,123 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/cutter.h - Status Screen Laser / Spindle bitmaps
+//
+
+#define STATUS_CUTTER_WIDTH 24
+#define STATUS_CUTTER_X     80
+
+#if ENABLED(LASER_FEATURE)
+  #ifdef STATUS_CUTTER_ANIM
+    const unsigned char status_cutter_on_bmp[] PROGMEM = {
+      B00000000,B00100100,B00000000,
+      B00000000,B01100110,B00000000,
+      B00000000,B11000011,B00000000,
+      B00000001,B10011001,B10000000,
+      B00000011,B00100100,B11000000,
+      B00000000,B01000010,B00000000,
+      B00000000,B01000010,B00000000,
+      B00000011,B00100100,B11000000,
+      B00000001,B10011001,B10000000,
+      B00000000,B11000011,B00000000,
+      B00000000,B01100110,B00000000,
+      B00000000,B00100100,B00000000
+    };
+    const unsigned char status_cutter_bmp[] PROGMEM = {
+      B00000000,B00100100,B00000000,
+      B00000000,B01100110,B00000000,
+      B00000000,B00000000,B00000000,
+      B00000001,B00000000,B10000000,
+      B00000011,B00000000,B11000000,
+      B00000000,B00011000,B00000000,
+      B00000000,B00011000,B00000000,
+      B00000011,B00000000,B11000000,
+      B00000001,B00000000,B10000000,
+      B00000000,B00000000,B00000000,
+      B00000000,B01100110,B00000000,
+      B00000000,B00100100,B00000000
+    };
+  #else
+    const unsigned char status_cutter_bmp[] PROGMEM = {
+      B00000000,B00100100,B00000000,
+      B00000000,B01100110,B00000000,
+      B00000000,B11000011,B00000000,
+      B00000001,B10000001,B10000000,
+      B00000011,B00000000,B11000000,
+      B00000000,B00000000,B00000000,
+      B00000000,B00000000,B00000000,
+      B00000011,B00000000,B11000000,
+      B00000001,B10000001,B10000000,
+      B00000000,B11000011,B00000000,
+      B00000000,B01100110,B00000000,
+      B00000000,B00100100,B00000000
+    };
+  #endif
+#else
+  #ifdef STATUS_CUTTER_ANIM
+    const unsigned char status_cutter_on_bmp[] PROGMEM = {
+      B00000001,B11111110,B10000000,
+      B00000000,B11000000,B00000000,
+      B00000001,B10000000,B10000000,
+      B00000001,B00000000,B10000000,
+      B00000001,B11111100,B10000000,
+      B00000000,B11100000,B00000000,
+      B00000001,B11000000,B10000000,
+      B00000000,B10000001,B00000000,
+      B00000000,B01111010,B00000000,
+      B00000000,B00110100,B00000000,
+      B00000000,B00011000,B00000000,
+      B00000000,B00000000,B00000000
+    };
+    const unsigned char status_cutter_bmp[] PROGMEM = {
+      B00000001,B11111110,B10000000,
+      B00000000,B11000000,B00000000,
+      B00000001,B10000000,B10000000,
+      B00000001,B00000000,B10000000,
+      B00000001,B11111100,B10000000,
+      B00000000,B11100000,B00000000,
+      B00000001,B11000000,B10000000,
+      B00000000,B10000001,B00000000,
+      B00000000,B01111010,B00000000,
+      B00000000,B00110100,B00000000,
+      B00000000,B00011000,B00000000,
+      B00000000,B00000000,B00000000
+    };
+  #else
+    const unsigned char status_cutter_bmp[] PROGMEM = {
+      B00000001,B11000010,B10000000,
+      B00000001,B00011100,B10000000,
+      B00000000,B11100001,B00000000,
+      B00000001,B00001110,B10000000,
+      B00000001,B01110000,B10000000,
+      B00000000,B10000111,B10000000,
+      B00000001,B00111111,B10000000,
+      B00000000,B11111111,B00000000,
+      B00000000,B01111110,B00000000,
+      B00000000,B00111100,B00000000,
+      B00000000,B00011000,B00000000,
+      B00000000,B00000000,B00000000
+    };
+  #endif
+#endif
diff --git a/Marlin/src/lcd/dogm/status/fan.h b/Marlin/src/lcd/dogm/status/fan.h
new file mode 100644
index 00000000000..65f8e9c2300
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/fan.h
@@ -0,0 +1,443 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/fan.h - Status Screen Fan bitmaps
+//
+
+#undef STATUS_FAN_WIDTH
+#define STATUS_FAN_WIDTH 20
+
+#if STATUS_FAN_FRAMES <= 2
+
+  #define STATUS_FAN_Y 2
+
+  #if ENABLED(STATUS_ALT_FAN_BITMAP)
+
+    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,
+      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 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
+
+  #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
+
+  #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
diff --git a/Marlin/src/lcd/dogm/status/hotend.h b/Marlin/src/lcd/dogm/status/hotend.h
new file mode 100644
index 00000000000..559fa50018e
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/hotend.h
@@ -0,0 +1,336 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/hotend.h - Status Screen Hotends bitmaps
+//
+
+#define STATUS_HOTEND1_WIDTH  16
+
+#define MAX_HOTEND_BITMAPS     5
+#if HOTENDS > MAX_HOTEND_BITMAPS
+  #define STATUS_HOTEND_BITMAPS MAX_HOTEND_BITMAPS
+#else
+  #define STATUS_HOTEND_BITMAPS HOTENDS
+#endif
+
+#if HOTENDS == 1 || ENABLED(STATUS_HOTEND_NUMBERLESS)
+
+  const unsigned char status_hotend_a_bmp[] PROGMEM = {
+    B00011111,B11100000,
+    B00111111,B11110000,
+    B00111111,B11110000,
+    B00111111,B11110000,
+    B00011111,B11100000,
+    B00011111,B11100000,
+    B00111111,B11110000,
+    B00111111,B11110000,
+    B00111111,B11110000,
+    B00001111,B11000000,
+    B00000111,B10000000,
+    B00000011,B00000000
+  };
+
+  #ifdef STATUS_HOTEND_ANIM
+
+    const unsigned char status_hotend_b_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00100000,B00010000,
+      B00100000,B00010000,
+      B00100000,B00010000,
+      B00010000,B00100000,
+      B00010000,B00100000,
+      B00100000,B00010000,
+      B00100000,B00010000,
+      B00110000,B00110000,
+      B00001000,B01000000,
+      B00000100,B10000000,
+      B00000011,B00000000
+    };
+
+  #endif
+
+#elif HOTENDS >= 2
+
+  #ifdef STATUS_HOTEND_ANIM
+
+    const unsigned char status_hotend1_a_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00111111,B11110000,
+      B00111110,B11110000,
+      B00111100,B11110000,
+      B00011010,B11100000,
+      B00011110,B11100000,
+      B00111110,B11110000,
+      B00111110,B11110000,
+      B00111110,B11110000,
+      B00001111,B11000000,
+      B00000111,B10000000,
+      B00000011,B00000000
+    };
+
+    const unsigned char status_hotend1_b_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00100000,B00010000,
+      B00100001,B00010000,
+      B00100011,B00010000,
+      B00010101,B00100000,
+      B00010001,B00100000,
+      B00100001,B00010000,
+      B00100001,B00010000,
+      B00110001,B00110000,
+      B00001000,B01000000,
+      B00000100,B10000000,
+      B00000011,B00000000
+    };
+
+    const unsigned char status_hotend2_a_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00111111,B11110000,
+      B00111100,B11110000,
+      B00111011,B01110000,
+      B00011111,B01100000,
+      B00011110,B11100000,
+      B00111101,B11110000,
+      B00111011,B11110000,
+      B00111000,B01110000,
+      B00001111,B11000000,
+      B00000111,B10000000,
+      B00000011,B00000000
+    };
+
+    const unsigned char status_hotend2_b_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00100000,B00010000,
+      B00100011,B00010000,
+      B00100100,B10010000,
+      B00010000,B10100000,
+      B00010001,B00100000,
+      B00100010,B00010000,
+      B00100100,B00010000,
+      B00110111,B10110000,
+      B00001000,B01000000,
+      B00000100,B10000000,
+      B00000011,B00000000
+    };
+
+  #else
+
+    const unsigned char status_hotend1_a_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00111110,B11110000,
+      B00111100,B11110000,
+      B00111010,B11110000,
+      B00011110,B11100000,
+      B00011110,B11100000,
+      B00111110,B11110000,
+      B00111110,B11110000,
+      B00111111,B11110000,
+      B00001111,B11000000,
+      B00000111,B10000000,
+      B00000011,B00000000
+    };
+
+    const unsigned char status_hotend2_a_bmp[] PROGMEM = {
+      B00011111,B11100000,
+      B00111100,B11110000,
+      B00111011,B01110000,
+      B00111111,B01110000,
+      B00011110,B11100000,
+      B00011101,B11100000,
+      B00111011,B11110000,
+      B00111000,B01110000,
+      B00111111,B11110000,
+      B00001111,B11000000,
+      B00000111,B10000000,
+      B00000011,B00000000
+    };
+
+  #endif
+
+  #if STATUS_HOTEND_BITMAPS >= 3
+
+    #ifdef STATUS_HOTEND_ANIM
+
+      const unsigned char status_hotend3_a_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00111111,B11110000,
+        B00111100,B11110000,
+        B00111011,B01110000,
+        B00011111,B01100000,
+        B00011100,B11100000,
+        B00111111,B01110000,
+        B00111011,B01110000,
+        B00111100,B11110000,
+        B00001111,B11000000,
+        B00000111,B10000000,
+        B00000011,B00000000
+      };
+
+      const unsigned char status_hotend3_b_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00100000,B00010000,
+        B00100011,B00010000,
+        B00100100,B10010000,
+        B00010000,B10100000,
+        B00010011,B00100000,
+        B00100000,B10010000,
+        B00100100,B10010000,
+        B00110011,B00110000,
+        B00001000,B01000000,
+        B00000100,B10000000,
+        B00000011,B00000000
+      };
+
+    #else
+
+      const unsigned char status_hotend3_a_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00111100,B11110000,
+        B00111011,B01110000,
+        B00111111,B01110000,
+        B00011100,B11100000,
+        B00011111,B01100000,
+        B00111011,B01110000,
+        B00111100,B11110000,
+        B00111111,B11110000,
+        B00001111,B11000000,
+        B00000111,B10000000,
+        B00000011,B00000000
+      };
+
+    #endif
+
+  #endif
+
+  #if STATUS_HOTEND_BITMAPS >= 4
+
+    #ifdef STATUS_HOTEND_ANIM
+
+      const unsigned char status_hotend4_a_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00111111,B11110000,
+        B00111011,B01110000,
+        B00111011,B01110000,
+        B00011011,B01100000,
+        B00011011,B01100000,
+        B00111000,B00110000,
+        B00111111,B01110000,
+        B00111111,B01110000,
+        B00001111,B11000000,
+        B00000111,B10000000,
+        B00000011,B00000000
+      };
+
+      const unsigned char status_hotend4_b_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00100000,B00010000,
+        B00100100,B10010000,
+        B00100100,B10010000,
+        B00010100,B10100000,
+        B00010100,B10100000,
+        B00100111,B11010000,
+        B00100000,B10010000,
+        B00110000,B10110000,
+        B00001000,B01000000,
+        B00000100,B10000000,
+        B00000011,B00000000
+      };
+
+    #else
+
+      const unsigned char status_hotend4_a_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00111011,B01110000,
+        B00111011,B01110000,
+        B00111011,B01110000,
+        B00011011,B01100000,
+        B00011000,B00100000,
+        B00111111,B01110000,
+        B00111111,B01110000,
+        B00111111,B11110000,
+        B00001111,B11000000,
+        B00000111,B10000000,
+        B00000011,B00000000
+      };
+
+    #endif
+
+  #endif
+
+  #if STATUS_HOTEND_BITMAPS >= 5
+
+    #ifdef STATUS_HOTEND_ANIM
+
+      const unsigned char status_hotend5_a_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00111111,B11110000,
+        B00111000,B01110000,
+        B00111011,B11110000,
+        B00011000,B11100000,
+        B00011111,B01100000,
+        B00111111,B01110000,
+        B00111011,B01110000,
+        B00111100,B11110000,
+        B00001111,B11000000,
+        B00000111,B10000000,
+        B00000011,B00000000
+      };
+
+      const unsigned char status_hotend5_b_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00100000,B00010000,
+        B00100111,B10010000,
+        B00100100,B00010000,
+        B00010111,B00100000,
+        B00010000,B10100000,
+        B00100000,B10010000,
+        B00100100,B10010000,
+        B00110011,B00110000,
+        B00001000,B01000000,
+        B00000100,B10000000,
+        B00000011,B00000000
+      };
+
+    #else
+
+      const unsigned char status_hotend5_a_bmp[] PROGMEM = {
+        B00011111,B11100000,
+        B00111000,B01110000,
+        B00111011,B11110000,
+        B00111000,B11110000,
+        B00011111,B01100000,
+        B00011111,B01100000,
+        B00111011,B01110000,
+        B00111100,B11110000,
+        B00111111,B11110000,
+        B00001111,B11000000,
+        B00000111,B10000000,
+        B00000011,B00000000
+      };
+
+    #endif
+
+  #endif
+
+#endif