Start a new topic

Displaying Images received by UART and addressing single pixels


I'm building an imaging device and I’d like to use Nextion as HMI. What I would really need though is to have a possibility to display an image acquired by my device and sent to Nextion via UART.

I'm primarily interested in displaying 2D matrix of data (for instance in a range between 0 and 255 or between 0 and 1) as grayscale images, but in next stage it could also support 3D data matrix where 3rd dimension would stand for values of RGB to recreate colour image.

Additional extremely useful feature would be possibility to add pixels to the image separately (similar like adding values to the waveform component) with declaration of x and y pixel position, and of course its value.

I hope sincerely that ITEAD Studio will find this feature interesting and will consider its implementation.

9 people like this idea


Shall I read the silence with respect to this proposition as a negative decision or is it still under consideration? If it will not be taken I will have to look for different display for my project, therefore it would be nice to hear what's your opinion about it?

Best regards

1 person likes this
Perhaps the micro-SD card reader could be leveraged here to store the images.


1 person likes this

Maybe really instead of large chunk of data at one time (one whole image), addressing pixel by pixel a image-like component in a way similar to the waveform, but with x and y addressing of position and the magnitude of the received value would be displayed as shades of grayscale levels. Then, in perfect world, there could be also an option to save content of this component as an image (for example on micro-SD card)...

1 person likes this
In my particular application, I want to give the user the ability to add images to be used as button icons (64x64 pixels) so that they can customize the interface.


3 people like this

   I think this is a great feature to add.


  This was one of the first things that I thought...I work with Access Control and show the user image would really be great! Of course that the image need to be small and compact (no more than 6kB because of the 115kbps limit), as a .gif or a .jpeg file, then send it to be stored in the micro-SD card to be called dynamically.

  But the possibility of draw something like a small bitmap, dynamically is a good start.

This is a "Proof of Concept" ...
In general, it works, you can upload any grafic to a HMI display.

Prerequirements of my demo are

- a normal HMI display

- only BMP files are supported

- the color of Pixel 0,0 (topleft corner) is used as transparent color

Pload BMP,x,y

x and y are the Pixel coordinates, where the BMP is displayed. this parameters are optional, if omitted, 0,0 is used

ComPort and Initial Baudrate are set within Pload.cfg

The demo contains a batch file for demonstration ...

In general

- the display is set to 115200 Baud

- the BMP is transferred

- the display is reset to origin BaudRate Baud

Most limits are only within my software demo, NOT within the method itself.

Be aware, even with 115200 Baud bigger grafic files need its time.

The protocol-overhead is around 20 times bigger than the plain BMP data!!!

Best in terms of upload speed and size balance are BMP files below 100x100 Pixel.

Have fun



Not being able to load images dynamically is a drawback for many developers. Support for this would make the Nextion displays incredibly powerful.

Perhaps the next level Intelligent series of Nextions could have a quad core with NVidia GPU

1 person likes this

I am now reviewing all of the Feature Requests, this will take some time, patience please.

- image over uart request - being carried forward

- For all practical purposes - UART is not a good medium for transferring images.

Can be done by user code - considered implemented

"Can be done by user code - considered implemented" 

Looking at the Instructions, not seeing it. Perhaps you could provide a url to docs for this or an example ?
I need this to display generated QR codes on the display.



Addressing single pixel is to set it, not get it.

Dynamic picture over Serial in under 15 sec

Not fast over serial.

 - however, why don't you consider embedding it as a picture resource.

You might like to read whole thread.

Thx for reply. Did read the whole thread. Pload post above is compiled demo, not example. Looking a the instructions again one could use fill, line, or draw to accomplish it.  

"however, why don't you consider embedding it as a picture resource."
Yea, perhaps you might like to read the whole thread.   

Login or Signup to post a comment