nextion lcd display pricelist

A few weeks ago, I wrote this article about using a text variable as an array, either an array of strings or an array of numbers, using the covx conversion function in addition for the latter, to extract single elements with the help of the spstr function. It"s a convenient and almost a "one fits all" solution for most use cases and many of the demo projects or the sample code attached to the Nextion Sunday Blog articles made use of it, sometimes even without mentioning it explicitly since it"s almost self-explaining. Then, I got a message from a reader, writing: "... Why then didn"t you use it for the combined sine / cosine lookup table in the flicker free turbo gauge project?"105 editions of the Nextion Sunday blog in a little over two years - time to look back and forth at the same time. Was all the stuff I wrote about interesting for my readers? Is it possible at all to satisfy everybody - hobbyists, makers, and professionals - at the same time? Are people (re-)using the many many HMI demo projects and code snippets? Is anybody interested in the explanation of all the underlying basics like the algorithms for calculating square roots and trigonometric functions with Nextion"s purely integer based language? Are optimized code snippets which allow to save a few milliseconds here and there helpful to other developers?Looking through the different Nextion user groups on social networks, the Nextion user forum and a few not so official but Nextion related forums can be surprising. Sometimes, Nextion newbies ask questions or have issues although the required function is well (in a condensed manner for the experienced developer, I admit) documented on the Nextion Instruction Set page, accessible through the menu of this website. On top of that, there is for sure one of my more than 100 Sunday blog articles which deals not only with that function, but goes often even beyond the usual usage of it. Apparently, I should sometimes move away from always trying to push the limits and listen to the "back to the roots!" calls by my potential readers...Do you remember the (almost) full screen sized flicker free and ultra rapid gauge we designed in June? And this without using the built-in Gauge component? If not, it"s time to read this article first, to understand today"s improvements. The June 2022 version does its job perfectly, the needle movement is quick and smooth, and other components can be added close to the outer circle without flickering since there is no background which needs constantly to be redrawn. But there was a minor and only esthetic weak point: The needle was a 1px thin line, sometimes difficult to see. Thus, already a short time after publishing, some readers contacted me and asked if there were a way to make the needle thicker, at least 2 pixels.Recently, when playing with a ESP32 based NodeMCU 32S and especially with its WiFi configuration, I did as (I guess) everybody does: I loaded an example sketch to learn more about the Wifi library. When you set up the ESP32 as an access point, creating its own wireless network, everything is pretty straightforward. You can easily hard code the Wifi name (SSID) and the password. But what about the client mode ? Perhaps one needs to use it in different environments. And then, a hard coded network name and password are definitively not the best solution. Thus, I thought, why not use a Nextion HMI for a dynamic WiFi setup functionality?Although the Nextion MIDI I/O interface  has been primarily designed as an add-on for Nextion HMI screens to transform these in fully autonomous MIDI devices as shown in previous blog posts here, it is also of great use for any Arduino based electronic music project! Many MIDI projects for Arduino suffer from a lack good hardware support. There are sophisticated code, excellent libraries and an infinity of use cases, but afterwards, things tend not to work in a rather rough environment in the studio or on stage. That"s because two resistors and a few Dupont wires on a breadboard besides the Arduino are not really an interface which could drive your Synth, Sequencer, or Drum machine over a 5m long MIDI cable.

nextion lcd display pricelist

After using a 3.5 inch Nextion display for building a thermostat, I quickly envisioned using these displays with my latest version of a digital clock. The Nextion display is a leap forward in LCD touch displays. The built-in microprocessor makes building a professional looking touch display interface quite easy and takes a lot of overhead off the microprocessor connected to the display.

If you aren’t familiar with the Nextion displays, you should refer to Mike Holler’s excellent series of articles on these in previous issues of Nuts & Volts. The learning curve for these displays is a little steep and these articles are a great help. I haven’t used the Nextion library in my projects but rather have sent and received direct commands to the Nextion displays through the serial interface.

Nextion displays come in a variety of sizes with different capabilities and features. My digital clocks used the 3.5, 5, and 7 inch sizes. The 3.5 and 5 inch models used are the Nextion basic model while the seven inch is the intelligent model. The Nextion web page at

A four-pin header is on the PCB for connecting the Nextion display. The Rx line on the Nextion display goes to the Tx (pin 17) on the ESP32 and Tx on the Nextion display to Rx (pin 16). The Nextion displays come with a wire connector that has mating connectors for header pins. The DS3231 RTC board has four pads provided at the opposite end of the board from the header pins. A four-pin header is soldered into these pins and then the long ends of the header pins are soldered into the PCB. The socket for the battery on this board should face up. The battery isn’t needed as the time is obtained from the Internet every minute.

The procedure I used for writing software for the clock functions and communicating with the Nextion display was to first program a Nextion display page (Figure 3) using the Nextion Editor and then add code for the ESP32 in the Arduino IDE (integrated development environment) to utilize the Nextion display page.

The first page of the Nextion display, page 0, has a background image and four textboxes numbered t0 to t3 and is laid out bottom to top. Textbox 0, t0 in the Nextion program is at the bottom of the page and was made as large as possible because it displays the current time. The three textboxes above the time are used to display the city name of the home location, date, day of the week, sunrise, sunset, and the local temperature and humidity from the BME280.

A string is created using the hour, minute, and second variables and is then added to the string page0.t0.txt”. The closing quote marks are added. So, what we’re sending is page0.t0.txt=”12:34:56” where in our program we use the \” to define a quote mark which is inside the quote marks that define the string. This is a standard format for sending a string to a textbox in the Nextion display.

Each textbox needs a font associated with it; the font number is selected in the Attribute window in the lower right of the Nextion Editor after clicking on a specific textbox. Fonts must be created with the Font Generator (Figure 4) which is found in the Tools menu.

A selection is made from the list of fonts available on your computer running the Nextion Editor. Its height, or size, is also selected and there’s a checkbox for making it bold.

Your available fonts will appear in the Fonts window by clicking on the Fonts tab at the very bottom left of the Nextion Editor. Once fonts are created, they can be selected for any textbox on any page.

page 0: Displays home location, date, and day of the week from 0 to 14 seconds. Displays home location, sunrise, and sunset from 15 to 29 seconds. Jumps to page 3 to display weather details from 30 to 44 seconds. Displays local temperature and humidity from the BME280 from 45 to 59 seconds.

The state of a dual-state button is shown in the small textbox to the right. The Home Weather button jumps to page 2, where the home location can be chosen. The Weather Page button jumps to page 3, the weather page. The Picture Frame button jumps to page 4, which displays a series of images that have been added through the Nextion Editor. The Colors button jumps to page 5, where colors can be selected for the textboxes on page 0.

Lastly, there’s a brightness slider to reduce the brightness of the display which is a useful addition for people who don’t want a bright light when used in the bedroom.

Notice here that page 0 of the Nextion display was used by sending differing text to the appropriate textboxes. The use of page 1 is quite different. The dual-state buttons send a Component ID to the ESP32 microcontroller, telling it which button was pressed. This is programmed in the Nextion Editor by checking the Send Component ID box located in the Event window.

When the Component ID is received by the ESP32, the current state is echoed back as a single character to the Nextion display and shown in the small textboxes to the right of the dual-state buttons. The Component ID is received in the mySerialEvent() function and then is passed to the get_Nextion_command() function The remaining five buttons and the brightness slider are all programmed in the Nextion Editor. Their actions only affect things in the Nextion display so the ESP32 doesn’t need to deal with these actions.

Pressing the Home button jumps to page 0. To program this into the Nextion display, the Home button is selected and the Nextion command “page 0” (without the quotes) is entered in the Events window of the Nextion Editor after selecting the Touch Release Event button. For the Home Weather, Weather Page, Picture Frame, and Colors buttons, the Nextion command for the Touch Release Event is page 2, page 3, page 4, and page 5, respectively. With the Brightness slider, h0, we finally get into writing a small piece of code for the Nextion display.

As the slider is moved, the dim system variable that controls the brightness of the Nextion display is changed. The value of h0 can range from 0 to 100, but 20 was chosen as the darkest allowed. This system variable is documented in the Instruction Set page which is accessed from the Help tab of the Nextion Editor.

It should be noted here that the majority of buttons on page 1 create actions solely contained within the Nextion display itself, without intervention of the ESP32 microcontroller. This is one of the great advantages of the Nextion displays. The built-in Nextion display microcontroller can take care of many of the desired changes we want in the Nextion display.

When one of the buttons is pressed, the Component ID of that button is sent to the ESP32. So, what does the Component ID actually look like when sent to the ESP32? The easiest way to see this is to use the Debug tool in the Nextion Editor.

Each second the program checks to see if a string of characters has been sent from the Nextion display. If so, the characters are stored in an array called bstring[] and then the get_Nextion_command() function is called.

The memory available allows over 40 pictures to be displayed. All pictures used with a 3.5 inch Nextion display (which are full frame) should measure 480 x 320 pixels.

My pictures consist of the usual family, myself at travel locations, some scenery, and a few birds. The .HMI and .TFT files created by the Nextion Editor (and available in the downloads) will contain my pictures.

To substitute your own, first resize your pictures to 480 x 320 pixels. In the Nextion Editor, pictures are imported in the lower left window. If the heading doesn’t show Picture, then click on the Picture tab at the bottom of the window. Pictures are added with the plus symbol and deleted with the minus symbol (Figure 10).

This page has a timer and a variable which are selected from the Toolbox at the upper left. These components will not appear on the page but do show up at the bottom of the Display page. Settings for these components are selected after you click on one and then review the Attribute window on the lower right.

Page 5 shown in Figure 11 has two variables attached: va0 which stores the color number 0-5 for textbox0 on page 0 that displays the time every second; and va1 which stores the color number 0-5 for the remaining three textboxes on page 0.

It should be noted here that all this code is handled by the Nextion microcontroller, so the ESP32 doesn’t have to use any of its processing time to deal with these colors.

The seven inch Nextion display I purchased was from the Intelligent series, which has additional features. The seven inch displays are 800 x 480 pixels in size.

Digital clocks made with Nextion displays are a great design. The hardware needed is reduced compared with an LED display, which requires either hardware drivers like TTL 7447s or a scanning structure that creates overhead for the microcontroller.

The Nextion display provides numerous components that enhance the appearance of the display and images are available for backgrounds or use with components.

Because of the sophistication of the display, the amount of software that needs to be written to exploit this increases. The pages that appear in the display itself must be programmed with the Nextion Editor. The attached microcontroller also needs additional code to exploit the Nextion display

The Nextion display will not only send things like Component IDs you have programmed into the display but will also send status and error information.

Check the Instruction Set page from the Help Menu of the Nextion Editor for these codes. If the variable debug_min is set to true (its default value), all data sent from the Nextion display will be echoed to the Serial Monitor.

Check the connections to the BME280 board on the Nextion display. Looking at the PCB with the USB connector on the ESP32 to the right and the volume shaft on the PAM8403 to the left, the four-pin header for the BME280 is laid out horizontally at the bottom of the board and has the power pins on the right. The four-pin header for the Nextion display runs vertically and has the power pins at the top.