Nextion display problems

posted in: Uncategorized | 26

I’ve been experimenting with various ways to display information on my PiStar based hotspot, including the small OLED displays.

I found the the OLED is to far to small, so I splashed out and bought what I thought was an official Nextion 2.4 inch display, from a eBay vendor.

 

I was aware that there are clones of the Nextion, which don’t work with the official Nextion editor and don’t accept data files produced by the official Nextion editor.

But I specifically ordered a board which looked like a Nextion made by Itead and had a Nextion part number (beginning with NX)

 

The photo on the product I ordered looked like this.

 

 

 

 

When the display arrived, I noticed that the PCB did not match the photo in the eBay listing, but it did have the correct model number and also had what looked like the Nextion logo.

 

Clearly the board is completely different, despite seeming to have identical model numbers.

 

 

I became suspicious about whether this board was an authentic Nextion,  when I was unable to upload the “TFT” configuration files via SD card.

The upload always stopped whilst displaying “SD Card Update…..” rather than going on to copy the graphics and configuration data from the SD card.

 

 

Assuming there was something wrong with the “TFT” file I got from the web, tried connecting the display via a USB to serial converter to my PC,  and I managed to use the official Nextion editor to upload a set of screens I downloaded from the MMDVM github account (G4KLX)

 

The display then seemed to work OK with PiStar, but I thought I’d try a different screen layout, and this is when the problems started …

When I tried to upload the new layout using the Nextion editor and the USB to serial adaptor, I found that the Nextion editor would no longer connect to the display.

However, when I reconnected it to Pi Star, I found it was still working.

 

Not to be deterred, I thought I’d try to upload via SD card again, and after trying various micro SD cards, I eventually found an old 4Gb card, which was probably 4 years old, which was recognised by the display, and I was able to upload a different layout.

 

After removing the SD card and removing and reconnecting the 5v input to the Nextion, the new layout worked OK, but unfortunately this was the last time I was able to use the display.

 

Because I thought I’d try another different screen layout, and after uploading that layout using the micro SD card, when I removed the SD card and removed and reconnected the 5v input to the “Nextion”, I found it was no longer receiving any data from PiStar.

 

Just in case something had happened to my hotspot board, I connected the USB serial adaptor to the Nextion output on the hotspot and used a terminal program on the PC to confirm that the hotspot was still sending serial data to the display.

 

Currently I have no idea whether this board was an official Nextion or not. I didn’t buy it direct from ITead (my mistake), and instead bought it from an eBay vendor in China, via eBay, because the vendor offered free shipping.

The vendor claims it is an authentic Nextion, but offered $4 compensation, which I rejected because I’d rather give negative feedback on eBay and warn other potential buyers that these boards may not be genuine.

 

My advice to anyone who is thinking about attaching a Nextion to their PiStar hotspot, is to buy direct from ITead, even though its likely to cost $10 more (about 30% more) than from third party vendors, because you are guaranteed to get a genuine board, and are also likely to get support from ITead if you end up having the sorts of problems I’ve had.

 

 

Even if my board was not genuine, I still don’t understand why it failed.

What appears to have happened is that initially the serial Tx line probably stopped working, hence the Nextion editor would not connect to the display, but the display still seemed to work when I connected it to my hotspot, since PiStar only sends data to the display and does not expect a response from the display

Subsequently, I think the Rx line into the display probably also failed.

 

I’ve used STM32 microcontrollers a lot, and I’ve never had a problem before with the serial Tx and Rx lines, even if I connect them the wrong way around. So I find it surprising that the serial lines on this STM32F030 have failed one after the other.

 

I did not disconnect the serial Tx and Rx lines from the hotspot, when I removed and reconnected the 5v input wire, to the display, when I was uploading via micro SD card, but again I have never had a problem with other STM32’s with leaving input signals connected when the MCU is not being powered.

However perhaps the STM32F030 used on these nextion’s is not very robust, and leaving the serial wires connected when I power cycled the display was enough to damage them.

 

Now that I’m left with a “bricked” display, I’m going to try to connect to the 5 pads on the back of the PCB, which I presume are the SWD debugger / programmer connections, but I’m going to need to work out which pads are which connections, because the Nextion is not open source and there is no documentation about what these pads are connected to.

 

Hopefully I’ll be able to use the screen for something, but for the moment its going into my junk box 😉

26 Responses

  1. bob rosso
    |

    r u the guy who publishes your own firmware updates for the Radioditty GD77?

  2. Roger Clark
    |

    AFIK only Radioddity publishes firmware for the Radioddity GD-77

  3. bob rosso
    |

    ty

  4. Rick Swenton
    |

    Hi Roger. Thanks for writing this up with so much detail. It may help many of us in the future. The models beginning with “NX” are the ones that work with the standard Nextion editor. The models beginning with “TJC” apparently are Chinese versions and require a different editor. Sometimes someone buys a TJC board on Ebay and finds out they can’t program it. I have several 3.5″ Enhanced boards on Pi-Star. I had one fail with loss of touch sense. Another failed with a washed out contrast. Another seemed to be sensitive to a screen press area when not pressed. The Pi-Star was rebooting from false presses in the upper left corner. I used the editor to rotate the screen image 180 deg and rotated the physical screen 180 deg. No longer rebooting.

    The board you received is quite a mystery. The way the Chinese copy things you just never know if you are getting the genuine item. Perhaps there may be others out there who will join the conversation with similar experiences to your mystery board.

    I fell for an inexpensive Kenwood speaker mic on Ebay. The genuine one was way more expensive. The one I received was way more poor in quality but with all the genuine-looking Kenwood logos.

    73

    Rick, W1RHS

  5. Roger Clark
    |

    Hi Rick

    Thanks for your comment.

    Its been really hard to get any concrete details of whether my board was genuine or not. All I know is that it gradually stopped working 🙁
    I tried looking on ITead’s website to see photos of their official boards, and they don’t appear to look like the board I received.

    I knew the models with part numbers starting with TJC are the Chinese version, which only work with the Chinese editor software and don’t accept the Nextion TFT files either.
    But in my case I thought I was buying an official Nextion board, and my board did work with the Nextion (English language) editor…

    However its completely possible that its a clever clone, since the STM32F030 MCU that ITead use on this specific board, has a flaw in the chip, which allows the firmware to be read out – If you have some clever hardware which does not adhere to the normal SWD programmer clock timings.
    The hack to read the firmware is well documented, so it would not be that hard for a company in China to build the necessary hardware to extract the official firmware, and then make their own / cheaper board

    As a general note, while my “Nextion” was working, I did try to modify the screen layouts with additional programming running on the Nextion, as I wanted to display a list of recent callsigns, but I don’t think its practical to do this using the rudimentary programming language that the Nextion can run.

    I’ve now started to build my own replacement for the Nextion, using a STM32F103C8 aka BluePill board, connected to a 2.9 inch ePaper display, and I have got that working reasonably well.

    But I’ll need to write a separate blog post about building my own Nextion alternatives, which are more flexible, since I’m programming the code using the Arduino IDE, and I can do store and process the data being sent by PiStar, rather than only displaying the data thats currently being set by PiStar etc

    I’ll try to write a blog post about this in the next couple of days.

  6. ken
    |

    thank you

  7. Andrea Conte
    |

    Hi Roger.

    I’ve got the same problem, with a Nextion NX 4832K035_011.

    My problem is that the display don’t comunicate with Pstar, trough the serial modem port. I’ve tried differents
    configuration, but nothing to do.

    I work with ON7LDS HS, that use a 115bps comunication. But i think that the problem is due to micro supply.
    The modem (HS HAT) works at 3V3, while the nextion display works at 5V. So if the com speed is 9600 baud ,
    may be all works well. At 115 bps, the problem is bigger.

    I also found some problem to load the file in the Nextion.

    First time i used a FTDI 5V USB, and some time the editor was unable to find the display. Then i tried with a 3V3
    FTDI USB cable, and it works everytime.

    Anyway Nextion produces two different kind of Board. The T board NX3224 T is a BASIC display, while the K board
    is a Enhanced board, with a different lay-out.

    Andrea

  8. Roger Clark
    |

    Thanks Andrea

    I will check what voltage is on the power pins on the “modem” board, (MMDVM Dual Hat), but it has 5V written on the silk screen.

    I have not tried a FDTI USB to Serial, but initial I was able to use a PL2102 based adaptor, which also has a 5V output, but this only worked one time, and after that I had to upload via SD.

    When connecting to the DualHat, the “Fast” option does not seem to make any difference. It always sends at 9600. I think the “Fast” setting only sends at 115200 when you use a direct connection to the Raspberry Pi serial pins.

    I think I would have the same problem on my “T” series board, because I think they are designed to use 5V supply.

    I am now making my own display, and I will write a blog post about it today or tomorrow when I have finished the programming.

  9. Andrea Conte
    |

    Hello Roger,

    i’m very happy to find a person, to speak about my Nextion Problems.

    I write some ideas:

    1) Nextion works at 5V, but with FTDI 5V USB to TTL adpater …. didn’t work
    2) In a document … i found that the problem could be the serial speed, not always the Nextion wake up at the right speed
    3) When I use a 3V3 FTDI USB to TTL, i was able to download the firmware from the editor (Power supply 5V.)

    4) Never used PL2102 …

    5) PI-Star support differents Lay Out, for the nextion displays.
    6) In general all works at 9600baud. If you use ON7LDS HS, it works at 115200baud
    7) ON7LDS HS supports extra commands and the touch screen.

    7) If you use ON7LDSHS, you need to instal NextionDriver written from ON7LDS
    8) Warning !!! PI-STAR doesn’t save correctly information in the MMDVM.INI, so check two or three times the parameter

    9) The microprocessor used in the modem is powered at 3V3, while the Nextion works at 5V
    10) In my idea, the hardware connection, need two shifter level (make with transistor) from 3V3 to 5V

    11) After many and many test, at the moment i used a USB to TTL cable.
    12) As soon as possible, i’ll try a shift level, to connect the display at the serial port of the modem

    So, my conclusion is that, the modem serial port, works with Nextion, but not at 115200 speed. Works
    quite well at 9600. You cannot use serial port on Raspberry, because there is already connected the modem.

    At the moment …

    I’ve got a GITHUB account

    https://github.com/andrea-conte

    I now … it’s empty at the moment

  10. Rick Swenton
    |

    Adding comments about Andrea’s message.

    There are three ways to run a Nextion screen on Pi-Star. One is to use a Serial to TTL converter and run it on the USB Port. The second is to use the modem connector on the later MMDVM_HS_HAT boards. The third is to connect to the GPIO Bus and use AMA0 (I think) but you can’t also have a modem board there at the same time because they use AMA0 too. This would work if your modem is external such as BlueStack on USB. Most people use USB or HAT Modem pins for their screens.

    I always use a high quality FTDI serial to TTL converter when I use USB. you have to keep in mind that unless you run more wires the Nextion only gets its power through the TTL converter from the USB Port. You have to keep an eye on the 5v at the screen. I use short USB cables. I have seen one screen at 4.6v. This was when I had a screen AND DVMega both on USB Ports on the Pi. Apparently the 5v sourcing through USB on the Pi may not be robust,

    The Nextion screen generally works as a one-way display all the time using either USB or HAT Modem pins. Andrea is correct that it works well at 9600 baud. I have never been successful getting a Nextion to work in Pi-Star at 115200 baud..

    If you want to use the touch screen input and your HMI supports this you have to use USB only and install the ON7LDS Nextion Helper (NextionDriver). The driver will process screen touches and report many more Pi-Star variables to the screen if requested by the HMI. The modem port on the HAT is not bi-directional so the screen presses will not get through.

    I am not an expert at this. These are just my experiences. Good luck with your new screen design!

    73. -Rick, W1RHS

  11. Roger Clark
    |

    Thanks Guys.

    When I get chance I will try a FDTI USB to Serial, but I still believe the display has a hardware fault.

    I’m currently concentrating on getting my own (home made) display working, which uses ePaper, and also since its using my own firmware, I can process the data to display the information I want, rather than being more restricted when I used the Nextion display.

    I was hoping to publish a blog post about my ePaper display this weekend, but I still have some bugs in my firmware which I need to fix.

  12. andrea
    |

    Hi Roger,

    Try this …. open the Editor. Set the speed in auto and choose the right con port.

    Try different Times ti Connect the display. And you CAN see if there is a speed setting error.

    I read that sometime the Nextion loose this parameter.

    Once connected, you CAN senso the Bauds=115200 command.

  13. Roger Clark
    |

    I tried the selecting the Com port and also tried different speeds.

    It worked one or two times but then stopped working.

    I measured the Rx and Tx data pins resistance to ground with my multimeter, and the value didn’t look good.
    Around 1k to GND.

    I think somehow the STM32F030 has become damaged so that its serial pins no longer function correctly.

    PS. I compare with the resistance on a STM32F103, and the resistance was almost 1M ohm
    Its possible that the STM32F030 and STM32F103 have different internal hardware for serial, but it seems unlikely

  14. Andrea Conte
    |

    OK. Roger. I’m sorry for your Nextion.

    Tomorrow i’ll check the resistance on my display.

    But at the first time, i also had the same problem to connect the display. The 5V USB cable didn’t work.
    It worked some time. The comunication was difficult. While with the 3V3 always works fine.

    Anyway is not good Job connect the 3V3 micro directly, with out a level shifter, because the Nextion is 5V
    powered.

    You’re still using PL2102 ?

    Great Job make a your own display.

    I’m not sure the PI-star protocol is public …..

    There is a file on ON7LDS guthub account.

  15. Andrea Conte
    |

    This is a comment for Rick.

    ok. Rick. All you write is correct.

    I’m working with a NX4832K035_011 display. I’m using a FTDI CABLE and a FTDI chip adaper bougth on ebay, this
    in not original.

    Actually the display works on /dev/ttyUSB0 in two-ways.

    I’m using ON7LDS HS screen 3 and that’s means that the comunication is at 115200.

    Someone, write that sometime the Nextion Display at boot doesn’t understand the com speed and stop to work.
    So is better give the command bauds=115200 in the editor command window

    I try also to connect the display at modem port (HS_HAT DB9MAT 56AL single), but it works only at 9600.

    But it necessary specify that PI.star make a lot of confusion.

    Often, saved parameters in the MMDVM are loose, so if you set the port ….. when you reboot the modem,
    it change itself

    As you say, to work at 115200, you need install NextionDriver, written from ON7LDS.

    There is a document on how to set the parmeters.

    Be careful, the actual rel should be 1.02 (shoul be)

    Ciao

  16. Roger Clark
    |

    OK.

    Perhaps I loaded some TFT data that caused a problem, but I tried going back to an old TFT file, which was working a few days ago, but it still didn’t work with PiStar 🙁

  17. Roger Clark
    |

    Andrea

    Thanks for you help, but I just tried a FDTI USB to serial and the editor will not connect.

    Re: Protocol

    The Nextion protcol is documented by iTead, and there is some information about the MMDVMHost use of Nextion, including the ON7LDS version

    I’m using the ON7LDS L3 protocol because it sends additional internal status codes to the Nextion, which are normally not used by the layout, but are very useful when writing my own parsing firmware.

  18. Nicolas Monroy
    |

    Hi Roger,

    I bought 5 Nextion Enhanced HMIs in the last year. Now 4 out of five have thir serial ports gone (bought directly from Itead’s website). Some weeks ago I opened a ticket telling them to replace them and they replied me that I broke them all and it’s my fault, they treated me like a thieve because I mistakenly gave them an old serial number which I reclaimed warrant some months ago…
    Now I am working with other HMIs (Stone for example) with fantastic results and customer support.
    Please avoid buying this Nextion rubbish, they have a flaw with the serial port burning and they are not good at customer service, very rude people. Never buying that stuff again.

    1

  19. Nicolas Monroy
    |

    Roger,

    I forgot to mention, I checked the electronics on the “enhanced” versions of the original Nextions and I found they are using as CPU the gd32f103, which is an unlicensed clone of the STM uC. Additionally, they omitted a TVS diode on the RX/TX lines (even having the pads to solder it) this of course to reduce costs but leaving the device completey unprotected against ESD or spikes.
    That is the reason they are breaking down in my case (the RX line is at 70 Ohms as you stated before…) nothing to do without having the firmware…

    Thanks for your post!

  20. Roger Clark
    |

    Thanks Nicolas.

    I thought my board was either a fake or that I did something wrong, but it sounds like some sort of design fault.
    My boards did exactly the same and its now a brick.

    I bought though a vendor on eBay and they refused to give a refund, so all I could do is leave a maximum negative review and hope other people don’t buy from them

  21. Roger Clark
    |

    I think my board had a STM32 on it, but I could be wrong.

    The GD32 is not an illegal product, and I think GigaDevices license the ARM core from ARM.
    They designed and build the GD32 based on the STM32 data sheet, but I think probably because the data sheet was not 100% clear in some places, the GD32 didnt end up being identical to the STM32.

    Also GigaDevices also decided to add extra features using the “Resevered” bits in various registers.
    including things like enhancing the USB clock divider so that the GD32 USB will work when the chip operates on 48,72,96 and 120Mhz instead of just 48, and 72Mhz in the STM32.

    The downside of this, is that they rely on those “reserved” bits not being miss-configured by the firmware, since on the STM32 it doesnt matter if those binary bits are a 0 or a 1

    Hence in theory you are supposed to only use GD32 devices if you compile the firmware using the GigaDevices SDK.

    But of course lots of people (including Nextion), think that they can just load STM32 firmware on it, and hope for the best.
    In most cases it will be OK, but not always and these sorts of bugs are hard to track down.

    BTW.
    There is also another clone of the STM32 called a CS32 which is appearing on a lot of boards.
    This is a different chip from the GD32, as the GD32F103C8 only has 64k memory, where as the CS32F103C8 and most STM32F103C8 devices have 128k memory.

  22. Lars
    |

    Nextion support is the worst in the world.

  23. Roger Clark
    |

    I don’t know about iTead themselves, but buying from a third party e.g. via ebay, like I did was a problem. Because the supplier claimed I’d broken the display and I was unable to get a refund.

  24. Rafa EA3BIL
    |

    Hi Roger (and all others, of course…):

    About the issues shown by “Chinese versions”…
    Did you know about this “Tool” to have them “reanimated from ‘coma’ “?:
    https://github.com/makeitlab/software_tools/tree/master/TJCUpload

    It comes from point 4, Section “If Download Stopped at 0%”, for the document available in here:
    https://translate.google.com.au/translate?hl=en&sl=ru&u=http://robotclass.ru/tutorials/arduino-nextion-tjc/&prev=search

    I hope it helps to have your Nextion “back to life”…
    Or at least, users owning TSJ screens, to have them working with the dessired layouts.

    73’Rafa.

  25. Rafa BIL
    |

    BTW…
    One of the comments to the article does say this:

    Igor says 07/20/2016 at 16:52 :
    I would like to note that the tft file created with the Nextion Editor program works correctly after downloading to the TJC display only if the version of the program is less than or equal to v032. Downloading a tft file obtained using higher versions, including the current one, leads to an error and loss of display performance, then you can restore it only by downloading the working file from the SD card.

    Note:
    Current version for Nexton Editor is 053 (as far as I know).
    So, maybe the “work arround” needs to add some sme steps ?….?

  26. Roger Clark
    |

    The Nextion I have (broken) is not the TJC.

    The problem seems to be that for some reason the serial lines into the MCU get damaged very easily, so both the Txd and Rxd failed on my Nextion within 2 weeks.

    I’ve had multiple reports of other people having the same hardware failure, so I’m not sure if it was a bad batch of boards, but its totally put me off using Nextion displays.

    I’m going to build my own instead.

Leave a Reply