Nextion HTTP Update - Anyone had Success?

Hi - I have an Enhanced 5" Nextion screen (it does not include SD card commands like the Intelligent series). e:this is the datasheet.

I've got an ESP32 WROOM board that is able to perform HTTP updates to itself when the user chooses to do so (via nextion gui). I'm trying to find a way to do the same for the Nextion screen.

I thought I'd need an SD card to upload to and an intelligent screen to navigate the files, but Nextion's super friendly support reps ( :neutral_face: ) informed me that it's quite possible on an Enhanced screen.

This is important for me because they only have 5" Enhanced, there's no 5" Intelligent series.

I found a library that'd make HTTP uploads to the Nextion (HTTP GET > stream to serial) that'd been adapted for ESP boards. It's modified from the NexUpload library.

When I got it working, it was running just fine - it connects to my server, downloads the compiled Nextion TFT (in the UART screen mode), then - right when it gets to 100% and does a file check, it suddenly says Update Failed: check Error!.

After that the screen just hangs until you restart, and whatever you downloaded is discarded.

Has anyone else gotten this library to work? Is there a chance I'm doing it wrong? I have an 8.5mb TFT that I'm downloading and streaming through the serial to a board that does not have an SD that too much? I think these boards have 32mb flash memory..

Has anyone had success using a different method (preferably HTTP) ?

Any help would be greatly appreciated - in the meantime, I'm going to set up some tests using a smaller TFT just to make sure.

Hello JT,
Interesting thing you've found.

When I see something like this I ask myself 'how could this work?'. In the context of Nextion that means asking if there are appropriate commands available on the serial port that would allow a complete configuration change using only data sent via the serial port. A quick (I might have missed something) look at the Nextion instruction set shows that there are file transfer instructions that work with the Intelligent series, but not the Advanced or Basic version. I conclude either I missed something (quite possible) or it can't work with anything other than the Intelligent versions.

If you discover how to make it work please let us know.

I spoke to the guy who made the port and he said he merged some improvements for the Enhanced protocol to the library, so I'll try that out today if I can.

**Developer has updated the library (ver 0.5) to support core changes for Enhanced / Intelligent series screens. Tested working now - OTA updates via HTTP are possible with ESP boards + any Nextion screen with the library mentioned above.