Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

crowpanel-hmi-esp32

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.


📸 Screenshots

Boot Screen Dashboard
Boot Dashboard
Monitor I/O Status
Monitor IO
Settings About
Settings About

🖥️ Hardware

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

📐 RGB Bus Pin Map

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

📄 Software Stack

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.


📋 Screen Overview

1. Boot Screen

Animated progress bar (0→100%) with SYSTEM ONLINE confirmation before entering the main UI.

2. Dashboard

  • 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

3. Monitor

  • 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

4. I/O Status

Digital Inputs State Digital Outputs State
START ON MOTOR ON
STOP OFF PUMP ON
SENSOR ON FAN OFF
E-STOP OFF VALVE ON

5. Settings

  • Display Brightness slider — 85%
  • Toggle rows — Auto Update (ON), Sound (OFF), Demo Mode (ON)

6. About

  • Device info panel — CrowPanel / ESP32-S3 / 800×480 / SYSTEM OK / Demo v1.0

⏱️ Timing & Animation

Parameter Value
Page auto-switch interval 5000 ms
Animation frame update 60 ms
Data update interval 500 ms

🎨 Color Palette

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

🚀 How to Flash

  1. Open the project in Arduino IDE or PlatformIO
  2. Install LovyanGFX library (v1.x)
  3. Select board: ESP32S3 Dev Module
  4. Set Flash Size: 16MB, PSRAM: OPI PSRAM
  5. Upload and open Serial Monitor at 115200 baud

📁 File Structure

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

👤 Author

S Navaneeth Krishna B.Tech EEE — Muthoot Institute of Science and Technology (MITS), Kerala GitHub · LinkedIn


📌 Tags

ESP32-S3 CrowPanel LovyanGFX HMI Embedded-C++ Industrial-HMI Arduino RGB-LCD SCADA-UI EEE

About

SCADA-style environmental monitoring HMI dashboard built using LVGL on ESP32 CrowPanel 5.0 display

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages