Unofficial Nextion/TJC User Forum

Enhanced Nextion library for Arduino, NodeMcu, Esp8266


As nextion interface library was not well managed/updated… I made a fork from there, and corrected many bugs and enhanced it… There is still to many things to do… But at least it now works better and is more stable, and usable…

Ciao jyberg,
thank you for your effort in this area. In an first “trial” I’ve gone into the waveform stuff.
No doubt, the scaling is a regular issue, which with your library becomes solved from scratch. That’s great.
Unfortunately the documentation has not been maintained in this specific case. I assume here, that the documentation in general has not been taken into consideration improving the code.
To avoid the nasty manual go through of each module to “find out” how it has been improved I’d rather remain on the old and buggy but nevertheless documented library.

Its a pity for your excellent work and invested time if the documentation is not updated accordingly.

Nevertheless best regards


yes library version is not 100% backward compatible and yes it is OK to continue to use original version.
I just wanted to share this version link here becaue it may be usefull for someone, who is faiting with original version problems. As I see that here is good discussion and information sharing about Nection displays.

Library header files functions “documentation” is in same level as original and main changes / enhancements are listed in github readme document. It was not my purpose to document every change/corrected bug. One example in original library getText function was returning read text length. When return value is 0 how you know was readign sucsessfull or was text length 0. So return value changed to bool to indicate sucsess, and lenght as referense in function parameter. There was lot of similar issues.


Ciao jyber,

really I wanted to motivate you to continue your contribution in this and in the same time make you aware, that if the documentation (as an example) is not in line your work might suffer in the usability.

A further observation, concerning always waveform only. My first pitfall using it was that “addValue” was not in .cpp anymore. My first reaction was, to not pursue to use your enhanced library. Wondering, that addValue still continued to work I had a closer look at the .h file - where now, surprisingly, the coding for addValue is.
As and aged developer, as I am, this is a sign that it will take an awful amount of time class by class, function by function to be sure to use them properly - seen that the documentation, examples etc. are definitively not reliable anymore.

Your change, as far that I can judge them, are really worth to use as THE standard with Nextion HMI’s.
The boolean return is a MUST nowadays. Your addittional params in Waveform for scaling facilitate the usage massively. I assume there are lot of further such improvements from you in this enhanced library. But it is really intended to make it so hard to use them on a “trial and error” approach?

Give yourself a push and establish a longterm usable library - we all will highly appreciate and if you’re looking for a donation for this work let us know.


The reason why addValue code is in .h file is that it is template function. So it supports all native datatypes. (Double, float, int, uint…), That causes instantiation problrms if code is in the cpp and declaration in .h files. And yes my purpose is still enhance the library, e.g change it so that it it supports multiple displays, but it requires quite mutch of changes to code base.