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.
It's a device which sadly fails to live up to its promise.
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
- 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.
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:
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.
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!
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.
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.
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.
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.