Industrial-style HMI dashboard running on the Elecrow CrowPanel 5.0" (ESP32-S3-WROOM-1, 800×480 RGB LCD), written in C++ using LovyanGFX — no LVGL, no SquareLine Studio, fully custom-drawn UI from scratch.
Demo Version 1.0 — Automatic tab navigation, no touch required.
| Boot Screen |
Dashboard |
 |
 |
| Monitor |
I/O Status |
 |
 |
| Settings |
About |
 |
 |
| Component |
Details |
| Display |
Elecrow CrowPanel 5.0" |
| MCU |
ESP32-S3-WROOM-1 |
| Resolution |
800 × 480 px |
| Interface |
16-bit RGB parallel |
| Backlight Pin |
GPIO 2 |
| PCLK Frequency |
15 MHz |
| Signal |
GPIO |
| D0–D4 |
8, 3, 46, 9, 1 |
| D5–D10 |
5, 6, 7, 15, 16, 4 |
| D11–D15 |
45, 48, 47, 21, 14 |
| HSYNC |
39 |
| VSYNC |
41 |
| HENABLE |
40 |
| PCLK |
0 |
| Layer |
Tool/Library |
| IDE |
Arduino IDE / PlatformIO |
| Graphics |
LovyanGFX (lgfx v1, ESP32-S3 RGB Panel) |
| Language |
C++ (Arduino framework) |
| UI Rendering |
Custom draw calls — fillRect, drawLine, fillRoundRect, drawFastHLine |
No LVGL. No external UI builder. All screens are hand-coded using LovyanGFX primitives.
Animated progress bar (0→100%) with SYSTEM ONLINE confirmation before entering the main UI.
- System status panel —
OK indicator + SYSTEM ONLINE text
- System Load — CPU and RAM progress bars
- Live telemetry tiles — Temperature, Voltage, Motor status
- Live Activity Graph — animated sine wave at the bottom
- Four metric tiles — TEMP (32.6°C), VOLTAGE (3.76V), CURRENT (4.2A), RPM (1240)
- Live Performance graph — animated cyan sine wave with gridlines
- Motor running indicator at the bottom
| Digital Inputs |
State |
Digital Outputs |
State |
| START |
ON |
MOTOR |
ON |
| STOP |
OFF |
PUMP |
ON |
| SENSOR |
ON |
FAN |
OFF |
| E-STOP |
OFF |
VALVE |
ON |
- Display Brightness slider — 85%
- Toggle rows — Auto Update (ON), Sound (OFF), Demo Mode (ON)
- Device info panel — CrowPanel / ESP32-S3 / 800×480 / SYSTEM OK / Demo v1.0
| Parameter |
Value |
| Page auto-switch interval |
5000 ms |
| Animation frame update |
60 ms |
| Data update interval |
500 ms |
| Name |
Hex |
| Background |
#071018 |
| Header / Sidebar |
#09151D / #08141C |
| Panel |
#0C1821 |
| Cyan (accent) |
#00D9FF |
| Green (OK/ON) |
#39E75F |
| Yellow (temp) |
#FFD43B |
| Red (fault/OFF) |
#FF4057 |
| Border |
#164054 |
- Open the project in Arduino IDE or PlatformIO
- Install LovyanGFX library (v1.x)
- Select board:
ESP32S3 Dev Module
- Set Flash Size:
16MB, PSRAM: OPI PSRAM
- Upload and open Serial Monitor at
115200 baud
crowpanel-hmi-esp32/
├── src/
│ └── main.cpp # Full HMI source
├── images/
│ ├── boot.jpg
│ ├── dashboard.jpg
│ ├── monitor.jpg
│ ├── io_status.jpg
│ ├── settings.jpg
│ └── about.jpg
└── README.md
S Navaneeth Krishna
B.Tech EEE — Muthoot Institute of Science and Technology (MITS), Kerala
GitHub · LinkedIn
ESP32-S3 CrowPanel LovyanGFX HMI Embedded-C++ Industrial-HMI Arduino RGB-LCD SCADA-UI EEE