Basic first-time use
For most users the deployment of the Nextion firmware is straightforward - simply copy the compiled firmware image to a FAT32-formatted microSD card, insert the microSD card into the Nextion LCD, and then apply 5VDC to the power pins on the panel. It should power up the panel, recognize the .TFT file, and update the panel automatically. Once the firmware update has completed you can remove power and eject the microSD card.
Compiled TFT files are included for the Basic and Enhanced versions of the panel. This project does not currently utilize any features offered in the Enhanced panel, and some users have reported the Enhanced device does not fit in the provided enclosure. It is strongly recommended that you do not use the enhanced display.
Once the project is assembled, future updates to the Nextion firmware can be handled over-the-air by utilizing the built-in web interface or by issuing an MQTT command with a URL to the target TFT file.
With the Nextion firmware flashed you can proceed to the Electronics Assembly section to test the assembled system.
If you want to edit the existing HASP interface, you will likely need to delete some pages in order to add your own work as the project consumes nearly the entire memory space of the Nextion basic panel. If you’d like to start a new interface from the ground up, copy over the existing Page 0 page as the ESP8266 firmware makes use of page 0 for user interactions and WiFi setup. The Home Assistant automations will probably need to be changed if any major modifications are made to the HMI.
Nextion Instruction Set
The Nextion accepts and sends commands over the serial interface. A detailed guide to the Nextion instruction set can be found here. A mostly-complete list of all available instructions and their use is available here.
Nextion color codes
The Nextion environment utilizes RGB 565 encoding. Use this handy convertor to select your colors and convert to the RGB 565 format.
HASP Nextion Object Reference
HASP Default Fonts
The Nextion display natively supports monospaced fonts. The HASP HMI includes the Consolas font in 4 sizes and the Webdings font in 1 size.
|Number||Font||Max characters per line||Max lines per button|
|0||Consolas 24 point||20 characters||2 lines|
|1||Consolas 32 point||15 characters||2 lines|
|2||Consolas 48 point||10 characters||1 lines|
|3||Consolas 80 point||6 characters||1 lines|
|4||Webdings 56 point||8 characters||1 lines|
HOW TO: Run this software with an ESP8266 only
One feature of the Nextion Editor is the Nextion Simulator, which allows the user to debug an HMI being edited. You’ve probably used this if you’ve worked on editing your own HMI file. You can run through the screens using your mouse to issue touch commands and feed it commands and see output in the text boxes provided.
The Nextion simulator allows you to run hardware-in-loop with your microcontroller. If you have a second USB UART kicking around (you could use a second WeMos or Arduino if you have one handy), connect the UART RX to pin D4 and the TX to pin D7 which are the pins you’d use to hook up a real panel. In the Nextion Simulator you can then select “User MCU Input”, select your UARTs COM port, set the Baud to 115200, then click Start.
Now the Simulator will accept input from and send output to your flashed ESP8266 without having a Nextion on hand!