Hello everyone,
I have been working on a web-based HMI editor for ESP32, and I would like to share it with the Arduino community and get some real-world feedback.
ESP-HMI Editor:
The project is currently under construction, so I am looking for people who are willing to try it, find problems, and suggest improvements.
What is ESP-HMI Editor?
The idea is to create a Nextion-style visual HMI development environment, but instead of requiring a separate HMI controller, the UI can run directly on an ESP32 connected to an LCD.
The editor currently provides:
- Visual page designer
- Nextion-style widgets and attributes
- Multiple pages
- Buttons, text, numbers, gauges and other UI elements
- GPIO / sensor binding
- Arduino
setup()andloop()integration - Arduino sketch export
- Font generator from TTF/OTF fonts
- Image resizing tools
- GMOV/animation generator
- LCD simulator / instruction terminal
- ESP32 device configuration
- Custom LCD resolution and driver configuration
- Touch configuration
- Host MCU UART support
- ESP32-CAM snapshot support
- GitHub project storage
For example, the generated Arduino sketch can be used with commands such as:
hmiSetInt("nTemp.val", temperature);
hmiSetInt("vaRun.val", 1);
hmiSetInt("tmPoll.en", 1);
The goal is to make ESP32-based HMI development easier without having to manually build every screen and widget in code.
Hardware Tested So Far
This is where I need the community's help.
I do not own every type of ESP32 LCD/HMI available, so I cannot test the editor on all hardware myself.
So far I have mainly tested it with:
- SPI-based LCDs
- Elecrow CrowPanel 7-inch
The editor has support/configuration options for different resolutions, LCD drivers, touch drivers and GPIO configurations, but I cannot guarantee that every combination works yet.
I would really like people to test it with other displays
If you have an ESP32 LCD/HMI such as:
- ILI9341
- ILI9488
- ST7789
- ST7796
- Other SPI TFT displays
- Different touch controllers
- Elecrow CrowPanel variants
- Other ESP32 HMI boards
- Custom ESP32 + LCD combinations
please give it a try.
You don't need to make a complicated project. Even a simple test such as:
- Create a page
- Add some widgets
- Export the Arduino project
- Upload it to your ESP32
- Test the LCD/touch
- Report what works and what doesn't
would be extremely useful.
What I Need From Testers
If you find a problem, please post:
ESP32 board:
Example: ESP32-S3
LCD:
Example: 3.5" ILI9488 SPI
Resolution:
Example: 480 × 320
Touch controller:
Example: XPT2046
Problem:
Describe what happened.
Error message / serial output:
Please include it if available.
Photos or screenshots are also very welcome.
Known Status
This project is not finished yet.
There may be bugs, unsupported LCD drivers, incorrect pin configurations, rendering problems, touch-coordinate issues, memory problems, or other issues that I haven't encountered yet.
That's actually one of the reasons I am posting it here.
I would like to develop it together with people who use different ESP32 displays and discover problems that I cannot reproduce on my own hardware.
Why I Am Sharing It Now
I could wait until everything is finished, but that would mean testing only the hardware I personally have.
Instead, I would prefer to get the project into the hands of other ESP32/LCD users while it is still being developed.
If you have a different display sitting on your desk, please try it.
Even if it doesn't work, that is useful information for me.
A report such as:
"ILI9488 + ESP32-S3 works, but touch coordinates are rotated"
or
"ST7789 does not display anything after uploading the generated sketch"
is much more useful than simply saying that it works.
Feedback and Feature Requests
I am also interested in suggestions for:
- New widgets
- LCD drivers
- Touch controllers
- ESP32 boards
- Animation features
- Better Arduino integration
- HMI scripting
- Sensor support
- UI improvements
- Bug fixes
- Other features you would like to see
If you use the editor and have an idea that would make it more useful, please post it here.
Current Goal
My long-term goal is to make ESP32 HMI development feel more like using a dedicated HMI editor:
Design → Configure → Compile → Export → Upload
without having to manually write the complete display code.
But it is still a work in progress, and I would really appreciate help from the community to make it compatible with more hardware.
Try it here
ESP-HMI Editor:
Please let me know:
What LCD/ESP32 combination did you test?
Did it work?
What problems did you find?
All feedback, including bug reports and criticism, is welcome.
Thanks!
ESP-HMI Editor Discord Community
I've created a Discord community for ESP-HMI Editor where we can discuss development, report bugs, test different ESP32 displays, request features, and share projects.
Join the ESP-HMI Editor community: esp-hmi-editor
If you have an ESP32 display that I haven't tested yet, please join and help us test it! ![]()
![]()