The Nextion HMI

Hello all,
Been a while. I know I say this all the time, but I really will try to post more stuff with more regularity as well.
Thus, I've returned with this comeback post! *evil laugh*
A couple of months ago, I stumbled on IteadStudio's Nextion IndieGoGo campaign. Their pitch was simple: we all know how much of a pain it is getting GUIs onto embedded systems in a reasonably-priced and sensible manner, so we've come up with our Nextion HMI (human machine interface). I was intrigued by the idea and paid for one of the cheaper perks.
I received the screen two or three months ago but hadn't really gotten round to examining it properly, not until a few days ago.
Essentially, the Nextion line is a series of resistive touch-capable TFT screens bundled with a UI development environment, making it possible to design flexible UIs on your computer, then deploy them to the screen itself over a simple serial connection (to clarify, you'll need a USB to Serial adapter to communicate with the screen). Naturally, these UIs consist of pages, which you can roughly relate to Forms in the desktop programming parlance. Each page can naturally hold a number of widgets, such as Text (a text label), Buttons (regular and dual-state buttons), Sliders, etc etc. As of the time of this writing, Nextion Editor (which is used to develop and deploy UI designs to the screen) is at version 0.29, and supports a relatively wide selection of widgets with more on the way. The widgets are also rather powerful, providing rudimentary event support. For example, a Button widget can be configured to perform some action when it is drawn on screen, when it is pressed, or when it is released, which comes in handy for many event-driven GUI apps. Naturally you must express these actions in the Nextion instruction set but its a cinch to learn and the documentation is helpful...
Once I'd installed the latest version of Nextion Editor, I connected the screen using my trusty FTDI Breakout (we love you, Sparkfun!). After making a simple "Hello World" UI, I simply clicked the Upload button, selected the correct Serial Port and let 'er rip. It said something about updating firmware which I allowed, and afterwards the thing actually worked!
Sadly this post will not include any photos, but I promise to write a follow-up post detailing how to get up and running with this nifty little screen. I really think its worth a look.

M.

Comments

Popular posts from this blog

Bitbanging SPI on the Raspberry Pi (via spi-gpio)

Getting Started with Logic Analyzers and Pulseview

Enabling SPI1 on the Raspberry Pi B+/Zero/2/3