In the Simbuilders Facebook group I saw an interesting idea to use an Arduino LCD screen for the cockpit AC/DC electrical metering panel that reports the various electrical voltages and currents.
While searching for LCD displays for the Arduino I found the Nextion HMI touch displays. These are intelligent displays that can be programmed with the free Nextion Editor.
Most of the programming can be done visually, with a number of standard components: text, scrolling text, number, button, progress bar, picture, crop, hotspot, gauge, waveform (display up to 4 waveforms per page), slider, timer, variable, dual-state button, checkbox, radio button.
A lot of sample code and projects can be found on the website of the manufacturer, a.o. an intelligent fish tank controller, weather station etc.
The editor has a built-in simulator that can be used to simulate the designed program before uploading it to the board.
Uploading from the PC is done over a USB to serial TTL-3V3 cable.
After a very short learning curve and by looking at the examples I was able to create an electrical metering panel in less than an hour.
For the first experiments I added little hotspots to the screen to manually decrement or increment the values via the touchscreen, but in the end the values must be updated real-time from flightsim.
A problem I ran into is that the supplier where I explicitly ordered the international Nextion version of the display sent me a Chinese TJC version instead.
This Chinese variant is supposed to be sold in China mainland only (probably for a lower price) and can only be programmed with a Chinese version of the editor: there are built-in checks that prohibit programming the TJC display from the Nextion editor and vice versa.
But except these checks and the language of the screen texts both editors are exactly indentical and can even be installed and run in parallel.
Unfortunately there is also a check on the uncompiled .HMI file format in which the editor designs are stored, so it appeared not possible to create the design in the international version of the editor and open and upload it to the board with the Chinese version.
But with the experience that I meanwhile had with the international Nextion editor, the occasional help of Google Translate with live camera translation and Windows copy & paste I just recreated my design in the Chinese editor and in that way was able to upload the design to the display.
Updating the display from a host system (PC or Arduino) over the serial line is easy: the same commands that would be used to program it in the editor can be sent over the serial line.
E.g. the value in a number field with object ID ‘acvolts’ can be updated by sending a command ‘acvolts.val=110’ over the serial connection.
Next step is to connect the display to an Arduino and Flightsim and think about the extra possibilities that a touch screen display in the overhead panel offers.
The preliminary Nextion and TJC HMI files used in the video plus variants using a 7-segment font can be downloaded from the Downloads page.