Review Nextion HMI Touchscreen with GPIO


I don't think the people who sent me this touchscreen are going to be very happy with this review. But that's the peril of asking bloggers to assess your kit, isn't it?

The good folks at Sonoff have sent me a review unit of their "7.0" Nextion Enhanced HMI Capacitive Touch Display with Enclosure". A USB powered touchscreen - with a range of hackable goodies.

A screen with some wires

It's a device which sadly fails to live up to its promise.

Specs

Let's get the specs out of the way, then see how it works!

  • Display Resolution: 800 x 480
  • Realtime Clock, if you add a battery
  • GPIO
  • Up to 32G Micro SD card (FAT32 file format)
  • Internal flash data storage space: 32MB
  • EEPROM: 1024 bytes
  • RAM: 8192 bytes (not a typo - miniscule RAM)
  • Instruction buffer: 1024 bytes
  • Colour: 65536 colours
  • Brightness: 0~230 nit
  • Display Interface: Serial
  • Board Size: 181mm*108mm
  • Weight: 598 g
  • Cost $88 - $108 depending on options

So, a pretty simple screen with some connectivity options. This isn't an Android tablet, it's more like a Raspberry Pi - waiting for you to have adventures with it.

Just a note on that - this is not a display screen. You can't just plug in an HDMI cable - you program the display directly either using an Arduino Foca to flash it or saving the interface to an SD card.

The output is ideally suited to an Arduino, but you can make it work with a Raspberry Pi.

The price is simply far too high for the spec and functionality. For less money you can get a range of HDMI & USB touch screens which will work directly with a Pi or any computer.

What's in the box?

This touchscreen comes in a range of styles - this is the one with a plastic enclosure. Want to 3D print your own mount? Model files are available - which is pretty nifty!

It's powered by a standard USB 5V/1A supply. You get this little adapter if you don't want to wire the power in directly.

Software

Nextion provide software for creating interfaces like this:

The GUI design software is Windows only. That's an annoying limitation. There seems to be no way to run on a Mac. I was unable to get the software to run in WINE for Linux. Instead, you need to install PlayOnLinux, use WineTricks to install DotNet, and then use this script to install the Nextion Editor. It took a few hours and was a pain in the arse!

Eventually, after installing, you'll get to this rather complex screen:

A complex and confusing configuration screen

Good luck figuring out what it does. There is a Quick Start Guide - which is rather long-winded. It's probably best to start with the demo file

Demo Project

I downloaded the demo project, loaded it into the editor, and then hit compile. Then got confused.

The editor doesn't tell you where it has saved the compiled file. It wasn't in the same directory as the demo. Weirdly, the compiled .tft file was automatically placed in this folder:

./.PlayOnLinux/wineprefix/Nextion/drive_c/users/edent/Application Data/Nextion Editor/bianyi/example.tft

I copied the file to a micro SD card and shoved that into the Nextion. It is possible to transfer the files directly via the serial port, but I wasn't sure how well it would work with Linux.

I inserted the card, powered it on, and got this screen.

Nextion Screen Uploading

9600 Baud. Wow. The demo file is around 5MB. That should take around 90 minutes to install! After two hours, it still hadn't moved. I pulled out the SD card, rebooted it, and got the demo screen!

Nextion Screen Displaying Contents

Well... it works. The screen is a bit murky and has very restricted viewing angles. Turn it a few degrees and colours go weird. The contrast on the colours isn't great. When on, the screen is tiny compared to the casing around it. The screen reacted rapidly to touches.

Support

There is a support forum and a wiki. I found both to be rather disorganised - they left me with more questions than answers.

As with all tinkering hardware, I don't expect a fully polished website - but I found it really hard to find out basic information like how to upload new images. I'll admit to being rather intimidated by the hostile nature of the Q&A section.

Verdict

I know I've been sent this product free of charge to review - but I cannot recommend it.

The lack of Linux support really grates. This screen is aimed at the maker community and we don't all run Windows! Given that it is expressly designed to work with Arduino and Raspberry Pi, it is unfathomable that Linux support is so poor.

Creating a UI is also painful. The software allows for rich and intricate GUIs - but it is hidden behind an atrocious interface. For something this complex, I'd expect decent tutorials and instructions - but there are none.

Uploading GUIs takes ages. It is impossible to make a quick change to something. For a prototyping board, that's unacceptable. I want to be able to design a GUI, try it out, fiddle with it, then change it again. I can't.

I think that, ideally, it would make sense for an interactive display like this to run a tiny embedded browser and have the GUI designed in HTML, CSS, and JavaScript. Even if it is compiled down to something which could be run on a low power device, that's got to be better than working with the default editor.

If you want an interactive screen - I'd recommend a cheap Android tablet. If you desperately need GPIO pins - get a Raspberry Pi and HDMI touchscreen. Either one of them will have a WiFi connection - which this is sorely lacking.

You can buy the Nextion Touch Display direct from the manufacturer.


Share this post on…

  • Mastodon
  • Facebook
  • LinkedIn
  • BlueSky
  • Threads
  • Reddit
  • HackerNews
  • Lobsters
  • WhatsApp
  • Telegram

7 thoughts on “Review Nextion HMI Touchscreen with GPIO”

  1. says:

    Generally speaking, the HMI product line is not made to server as a main display for RPI nor any other platform with linux system. A plain HDMI display is more than enough for these systems.

    Nextion HMI is born for embedded systems like Arduino and other MCUs developers. These guys are suffering from GUI development. Think about that, making GUI in C language for a ST or Atmel microcontroller is a nightmare. And here comes Nexiton to help you turn your technology into art.

    I think you would have to write exactly the same about 4dSystems, MikroElektronica and all the others out. None of them offer MAC or Linux software support, none of them offer a plain HDMI connect ... And indeed their virtual Designer Software is even more complex ...

    BTW, the major market of Nextion product line is industrial market.

    Yep, as a marketing director from ITEAD, obviously I am not happy with this review. But the foundation we work with the reviewers is "tell the readers what you really think". So, it's OK, the cooperation continues.

    Actions speak louder than words. Would you please do an experiment?

    Step #1

    Adopt Arduino and a plain LCD, develop the same thing, same function like the demo

    Step #2

    Do it again follow the demo video.

    And tell the readers what you think.

    Thanks.

    BR Jerry Shi ITEAD Studio

    Reply
  2. KonJarek says:

    I find this review very unfair. I have experience with PLC HMI interfaces that costs 500USD at least and most of them have worst capabilities than Nextion. Saying that Nextion has poor Linux support is not correct too. Every program communicating by RS232 can communicate with Nextion screen. Keeping graphical interface inside screen is great idea in Arduino projects where computer's memory would be insufficient. At this time I'm making "intelligent home" project on which I'm going to consolidate weather station, internet interface, home temerature controlls, LPG and carbon-monoxide allarms and home heating system on one main device with screen control. Without Nextion visualisarion would be very poor. On Nextion I can make photo-based screens with many buttons and bars. It's ideal for my project. Of cours Nextion is not an perfect product. I have previous version of it. 16MB memory insufficient. I think that using SD-card as additional store would be useful. Another thing that could be done better is lack of transparrency of images. Mabe Itead should think about adding custom masks for crop images?

    Reply
    1. @edent says:

      I'm sorry you feel this way - but nothing I've written is untrue. The lack of Linux support refers to the Nextion Editor GUI design software. The colour reproduction on the screen is not great. The screen is small. It does take a long time to upload files to the display. I believe you when you say that other vendors produce worse products - but I haven't been asked to review them.

      Reply
  3. xarvia says:

    Thanks for the review. I'm currently awaiting delivery of my Nextion screen but in the meantime have built my interface with their Nextion Editor. In comparison to other HMI offerings in this price bracket, I've found the Nextion editor on par with ease of use, albeit the documentation is relatively poor and the best learning resource are user contributed projects in their forums. I'm really hoping that the colour reproduction and view angles aren't as bad as you suggest...

    For my particular application I want a HMI that will respond to several digital inputs and potentially transmit data to other devices by serial. The Nextion has the advantage that it can do this out of the box (albeit I will add some power regulation and optically isolate the digital inputs) without an additional MCU. Other offerings like 4D Systems or MikroElektronica's MikroMedia are substantially more expensive. If my project was a one of I'd investigate the MikroMedia displays, however as I'm developing a low volume consumer product the higher cost of those would eliminate any possibility of making a profit!

    Reply
  4. Drazen says:

    Let’s suppose I do a project for industrial segment market using the Nextion display. How is it supposed to be upgraded in the field later on if I wanted to change some GUI elements? Unless I don’t see some obvious solution, the idea to change / reprogram SD cards in the back of the dosplay using some custom tools is a show stopper to me. Slow speed serial port update gets just marginally better in the age where complete applications are updated over the net. Any comment on that aspect?

    Reply
  5. De Clarke says:

    I have been working with a Nextion (original 4.3 inch) for a few months now and yes, I do agree that there's a rough-edges feel to the Editor, the doco could definitely be friendlier, and ITEAD is not oriented towards support for Makers and hobbyists. Nor are they interested in porting their editor to any OS other than WinDoze. Fair enough. They sell by the hundreds of thousands to OEMs.

    OTOH, once you get the hang of the thing, it can be a pretty quick way to whack out a fairly sophisticated UI for an Arduino or rPi project. I am using it to replace 32+ mechanical switches (in version 1) for a custom USB game controller. When done, I'll write up my own review and war story 🙂 I think it is still quite a bit easier than building from scratch using a raw FTF display and touch screen, but I could be wrong (haven't tried the competition). The closest smart touchscreen is the Linux-based product at about 8x the price, so I'm not too unhappy with the price point.

    Worst aspect imho is the absolute black-box proprietariness of the HMI project file. No export tools to convert your designed GUI to JSON or XML (or even csv) for porting or mogrifying into other code. Also, a seemingly arbitrary lack of introspection into some features of the Editor. I could go on griping, but the fact is, I've shopped around and then decided to stick with it; but I've also decided to use the smarts embedded in the Nextion as little as possible, and run as much as possible on the Arduino Due. That way, I haven't sunk quite so much of my dev time into the proprietary black box that is the Nextion Editor and HMI file 🙂

    Reply

What are your reckons?

All comments are moderated and may not be published immediately. Your email address will not be published.

Allowed HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <p> <pre> <br> <img src="" alt="" title="" srcset="">