Quite a while ago now I did a project based on the little Nextion displays, resistive touch-LCD displays which run on serial commands and come with an editor to make simply touch displays for even the simplest of micros.
Well, that project has proven to capture a lot of interest and I have one of those displays running 24-7 in a holiday rental property – and it has been doing that for a couple of years now. I’ve not done anything new with the displays for a while but this morning, a new generation display turned up for me to take a look at.
The NX8048K070_011C is a new 7” Enhanced HMI Capacitive Touch Display complete with case (also available without the case) from Itead – the company who also produce the Sonoff units we’ve discussed many times in this blog.
The unit runs on 5v at 550ma and is to use the company’s own words, a powerful 7.0” HMI TFT capacitive multi-touch display with a beautiful enclosure, with 32MB Flash data storage space, 1024 byte EEPROM, 8192 byte RAM, and GPIO supported.
The “GPIO supported” means there’s an 8-bit port connector. There is also an SD connector for storing info and a small 4-way connector for power, serial in and serial out.
So first things first – the advert headlines with $88 but in fact that is for the resistive version – for the capacitive version, add $20 for a total of $108 + shipping. The shipping via normal e-parcel was $11.40 (I’m only using dollars here because the ad is in dollars). DHL shipping is a horrifying $57 – but then I would not use DHL even if they threatened to cut off my toes. I STILL think the best thing ITEAD have done is the original Sonoff – and I say that because of the price. Right now they are going at $4.85, which for a boxed unit controlling the mains via WIFI is just stunning. The later units are in better boxes and are more powerful but by the time you reach $20 each the price to control a lamp is starting to get a little less enticing.
Anyway, I digress. So the Nextion displays work in a strange way – you don’t write directly to them like a typical Raspberry Pi display – but then you don’t have that overhead either. Once set up – which you do with the free “Nextion Editor” – the display merely needs serial text commands to do updates hence the simple 4-wire interface.
I’d rather hoped the rather nice display case would have some kind of feet – but instead it comes complete with 4 wingnuts which come complete with elongated bolts for mounting into existing installations.
One of the most annoying features of the original Nextions was the SD – you could not actually store data in it – that has now been addressed along with supplying real time clock, GPIO (well, on an ESP8266 you lose 2 wires to run the display so it can be useful to get that and more back) and of course the smoother capacitive touch display.
The actual display itself is only 800*480 which means you can see the dots but from any distance at all this is fine. The design of the case means it would easily fit into a cavity in a control panel and the whole thing is quite sturdy. I do wonder however why they made such a large case compared to the actual size of the LCD itself – as you can see in the photo.
As if to demonstrate the new features, when I powered up the Nextion display – it showed a swipe as you might find on modern smartphones – once I’d swiped, I was asked for a password (1111) – I put that in and the display proceeded to demonstrate the time and date. Might have made for a more posh demo if it hadn’t been set to 2044 – but never mind.
So, simple operation, nice easy, light touch compared to the older (but cheaper) resistive displays) but at the end of the day, ease of use or otherwise comes down to the Nextion Editor – because they have done their own thing you really need to be able to use the editor to set the display up.
I downloaded the latest Nextion editor (free) on my Windows PC. After all this time it is still 0.47 – you might think considering the amount of time the Nextions have been out they would at least be to 1.0 – but then perhaps one should not judge a book by it’s cover.
It did occur to me that just MAYBE you could fit a little ESP8266 or NANO into that case – but on opening – no – not unless you cut off any connectors. Oh, and I found out why the clock was wrong – there is indeed a battery connector on the board – but no battery was fitted – well, that accounts for that!
At this point, rather than going through all the fine detail of the , here’s a video.
Also take a look at my Nextion WIFI Touch Display – the size is different but the general idea is the same. I’d like to hear from anyone who’s been using these displays for any length of time to hear what they think of the current editor – and what do you think of the price (please don’t write in to say you’ve used an old tablet – already had that discussion). Is this good – or is there something better out there?
Hi Pete,
Thanks for such inspiring articles… and your previous article on nextion… https://tech.scargill.net/nextion-wifi-touch-display/
…. I am still searching for image files for your such impressive 3d buttons LEDs and sliders. (I saw the PowerPoint file, but not the original image files) suggestions? I would like to try to use them in a node-red template… for now, I have rudimentary svg status leds and buttons… 🙂
Hi Pete… so glad to hear you’re on the mend.
I’m trying to find a way to check wifi/mqtt connection to Nextion so that I can change background colour to show connection status. Any guidance?
John
I’ve got one of the 7″ capacitive units as the control interface for my central heating controller running on a PIC18F26K22. I agree the NEXTION is too expensive but it’s dead easy to drive once you get the hang of its quirks. Thanks to Pete for explaining how to use the cropped images to best effect.
I think cost is a relative thing – if you’re playing about as I often do then cost is paramount, on the other hand if someone gives you a paying job, it is possible that time is more important than the cost of such a display. They do make life easy in some respects compared to doing it yourself. I do wish they’d put a little more effort into the editor however.
Do you know Arduino code which will insert a new line in textbox t0 in NEXTION page?
\n or \r is not working
It’s a shame the Nextion GUI editor does not have more built in controls, graphs and fonts etc. Although 4DSystems displays are far more expensive they do have a very nice editor and it comes with lots of nice GUI elements out of the box. The Nextion software developers should take a close look at this. 🙂
Well, maybe they’ll read this – I have to say the editor has always been lagging behind and had some atrocious programming initially – it keeps improving but I try to minimise the use of it and do as much as I can in images and externally. 4D Systems however – you’re paying for it as you say….
Hi Pete ,
I am a follower of your blog. I’m about to buy the Nextion displays but I’ve discovered some based on the ESP8266 !
I think I’m going to buy a kit for testing , I leave the address and I would like your opinion about it .( http://www.4dsystems.com.au/product/gen4_IoD/ )
Greetings
Saludos desde Argentina .
Marcelo
That 4D systems board and development kit looks interesting – let us know how you get on with that.
I’ve been playing with an early 2.4″ version I got when it was a kick starter project but I’ve only recently started to do something with the HMI designer.
The editor has come on a long way since the first version, I like the attempt at intellisense when writing the code but some other aspects are a bit fiddly to get used to.
The debug mode is good so you can try out the code on the PC and you can even interact with a connected display.
It’s a pain in the a*?se having to convert any fonts you want to use before hand.
I tried simulating commands from an arduino using a terminal editor on the PC and took a while to get it to work (Baud rate is 9600 not 115k!!!) but once you get it working it’s fairly simple to use even without the arduino library.
BTW I couldn’t get pete’s terminal to work with it but I used one called termite OK
Hi Pete
Nexion display is ok, but expensive. As long as a cheap 7″ capacitive tablet is about 40-50$ (free shipping). For those money you get capacitive screen + processor + storage + camera + speakers + mic + power supply + case. You can design your own interface in Node Red and start chrome browser in kiosk mode at startup.
Finally: less money, better performance, maintenance free
I did try to avoid a “tablet” conversation but clearly failed. Ok, so the tablet – that is assuming you know how to and have time and inclination to write software for the tablet – and make sure that software starts up reliably on power up – and there’s the matter of how much current the tablet uses…. and accessing it serially…
Then there is kiosk mode- I have yet to come across a tablet setup that can reliably ensure that EVERY time it powers up it goes into KIOSK mode AND that the browser recovers from intermittent loss of WIFI – indeed it is the last item that stopped me progressing that. I had a small tablet on my desktop displaying Node-Red Dashboard and when the WIFI packed in I got one of those daft “oops there seems to be a problem” messages – which needed manual intervention – at that point after trawling the web for a permanent workaround – I gave up. If you know better and have a 100% solution for this – please do share.
Sorry Pete, I didn’t want to minimize Nexion capabilities. It is a good device for industrial application. For home use is a little bit expensive.
Regarding Node Red is a gorgeous tool. Unfortunately for most of home automation needs, it is very big and has so many dependencies……
Never forget KISS principle – for a small home you need OPI zero with Mosquitto + Apache + mysql. Use Bash or Python to handle MQTT messages. On client side create a static web page using HTML + JS.
https://github.com/mqttjs/MQTT.js is a good library to handle mqtt messages over websockets and connect directly to mosquitto (the mqtt. js library automatically handle lost wifi connections)
Of course you need some practice, but compare to C language used in arduino is easier.
That’s ok it isn’t my product 🙂
That’s funny as I don’t find Node-Red big or cumbersome at all – my script installs everything without interaction… ( https://tech.scargill.net/a-christmas-script/) including all the items you speak of above – except that I use SQLITE rather than MYSQL as it is lighter on writing – and excessive writing to SDs is not a good idea – something we discussed in depth in a previous blog entry.
Everyone thinks differently – I find it FAR better to write something in a function (JS) in Node-Red than to mess around with Bash or Python and static web pages can be easily created inside Node-Red and of course thanks to Node-Red-Dashboard quite complex control pages can also be created. I’ve used that MQTT library – it works well – but generally I simply use a node in Node-Red to do this – again – reliably. I use C, C#, JS or whatever is appropriate at the time.
Have to agree with Peter on Node-red. Node-red has served me well now for about 8 months and running on my Pi3 is rock solid. Recovery from power loss (happens a lot around here) is good with all MQTT devices just reconnecting once Node-red and Mosquitto are up and running. Nice happy wife factor for sure. The only issue I have with it and not down to Node-red itself is when my Linux PC is doing any heavy downloads, the response time from Node-red and MQTT is very slow. I could do with having a separate WiFi network just for the home automation to avoid this issue and bridge this so I can still access from my main computer.
Dave – just a thought – and I guess this would apply to any of us… routers (except cheap ones) usually allow some kind of prioritisation? Is it possible I wonder to prioritise traffic on the one port that MQTT uses? i.e. 1883 ??
Or limit your downloads…
There is a QoS option but not for PORT. I can only find a MAC address option as the rest are all games.