[SOLVED] Display confusion

I would like to add a display to my ESP8266/ESP32 project, however I am not sure which one and whether I need to buy a shield to go with it?

There are many displays designated as ILI9486/ILI9488 on eBay. I also toyed with the idea of a slightly bigger 7in display designated as SSD1963 Controller ,RA8875, but despite the mention of Arduino in the description I have been informed that these may not be compatible with the ESP. However from my research I have found this library which would seem to suggest that at least the ILI9486/ILI9488 is compatible.

There is also some confusion over the operating voltage. Some of these displays are described as requiring a 3.3V voltage source yet there is a pin clearly marked 5V on the board and a regulator. Others seem to omit the regulator altogether.

As for the Nexion, the cost is far too expensive to justify especially for an Arduino project!

Then there is the issue of a shield and I have seen photos which include one. There are usually sold separately. Are these essential? They do seem to have some additional electronics on them. Or can the display be connected directly to the ESP/Arduino?

I would appreciate any insights. Anyone used either of these with an ESP and got it working successfully?

https://www.ebay.co.uk/itm/165302280623
https://www.ebay.co.uk/itm/294558505723 (7in)

Adafruit has a good selection of displays, and provides very detailed tutorials for setup and use.

Post a link to the actual display that you have bought. e.g. Ebay sale page.

All TFT controllers use 2.8V - 3.3V logic and 3.3V power.
Boards often contain an external 3.3V Regulator. So you can use 5V power e.g. from USB.

ESP8266 boards can only use SPI.
ESP32 can use Parallel or SPI.

Since ESP uses 3.3V logic there is no need for external buffers or level shifters.

Yes, if you possess an Arduino Display Shield it is convenient to buy an Arduino Uno-format ESP32 board (especially for Parallel)

SPI Displays use less pins. And don't really come on Shields.

The only way to get accurate replies is to provide links to your hardware.
Otherwise we have to guess. Mistakes can be expensive.

David.

David, I did provide links to the boards I was looking at and that I have in my watch list?

I don't actually have a display at present. I purchased a 7in one some months ago. It had an LT7381 controller and was supplied with a Hunda LT7381 library for Arduino and some basic display design software. However, I couldn't get the hardware to work despite it being described as Arduino compatible. As it turned out, it also didn't display anything when used with the supplied USB adaptor and design software for the PC, so it may have been faulty anyway. I posted something at the time but the controller is quite new and there was not much feedback. I ended up sending it back and getting a refund although it still cost me to send it back to china.

The reason I posted was because the project is now at the stage where the LCD display really needs to be added and I intended to get advice before making another purchase. In the meantime I have been working on the project using a 20x4 display.

Thank you for that information. Since I am using an ESP8266, it sounds like I need to look for a board that uses SPI for the display. From what I can tell, it seems that some of the cheap ones from china only use SPI only for the SD card which further confuses things.

The LT7381 board referenced earlier was meant to work over SPI and that is how I tried to use it. I will make sure that whatever I get as its replacement can also be driven via SPI. I expect that the ESP8266 has insufficient pins for parallel?

I don't posses an Arduino shield which is why I was trying to ascertain whether I need something like that. What is their purpose? A lot of photos show the display plugged into one and then into typically a Mega 2560. I don't understand what the purpose of the shield is? Is it just a convenient way to provide a means of fitting the board to an Arduino with level shifting? SPI needs only 4 wires. Can't these be connected directly to the ESP SPI pins?

I will have a look at Adaftruit. Thanks.

Yes, it means you can plug and go.
Especially since most Arduinos have 5V logic. i.e. incompatible with modern electronics in the civilised world.

Since ESP have 3V logic you can connect directly to electronics. But it does mean that you need to connect the wires correctly !!

I have never used LT7381 chip. It looks interesting. Definitely worth getting to work.

Note that Graphics chips might have "features" in the Silicon. For example RA8875 is impressive but has many "errors" in silicon.

My apologies. I must have jumped to GitHub and ignored the other links.
Both are "Uno format" shields. Both will work with ESP32. Either with TFT_eSPI or MCUFRIEND_kbv.
I would never buy the red Shield for Uno or Mega2560. (there is no 3.3V regulator)
The Blue Shield is ok.

But seriously, you are better off with regular SPI displays on the ESP. (use TFT_eSPI library)

David.

I thought at the time it was worth investigating, but unfortunately the unit that arrived appeared "dead", i.e ever displayed anything even with the "plug and play" PC software, I strongly suspect that my unit was faulty.

I hadn't cottoned on the fact that the pins at the rear of these displays were actually arranged to fit a Uno or Mega and so constitute a "UNO format shield" but having had another look after seeing your comment I realised that they are designed to just plug in.

Thank you for mentioning that. Its a good point. I doubt that even an ESP can supply enough current via its regulator to drive one of these so I don't think I would wire one up to the ESP 3.3V pin either.

I tend to agree and that's the way I want to go I think. There are plenty of those tiny OLED displays about but I need something bigger, at least 3.5in, but preferably 5in. I will keep looking and check Adafruit but do you have an example of what to look for?

The ESP regulator should be fine. It is designed for high current.
It is the 3.3V reg on Uno, Mega2560 that is intended for low 3.3V current i.e. reference.

There are 3.5 inch 320x480 SPI displays. Choose ST7796, HX8357 over ILI9488, ILI9486. (ILI948x require 3 SPI bytes per pixel)
SSD1963 have more pixels but only available in Parallel.

David.

I searched for ST7796 and that turned up some 4in displays which I hadn't seen before. I found this touch screen version from China:

There is a UK seller but they are selling only the non-touch version. I am not sure at this stage whether I will be adding add touch capability to the project or not, but I figure that since the cost difference (at least from China) is minimal, it might be useful to have to experiment with.

A search on HX8357 turned up a lot of those 3.5in displays without the regulator. I guess these would probably OK with the ESP provided they are powered from 3.3V.

I see from searching that SSD1963 has a higher resolution (800x480) and larger displays (5in and up) and naturally cost a bit more. For this project I won't be needing a particularly high resolution as I will only be displaying text. The ST7796 at 480x320 and with a 4in display are probably adequate so this is the one that I think I will be purchasing. It has the flexibility of being able to be powered from 5V as well as 3.3V and I have seen projects online where it was connected and working with an ESP8266 which along with your recommendation gives me enough confidence to make a purchase.

Incidentally, I also found an article that mentioned removing a diode which had been added into the circuit in error. That is quite easy to deal with.

Thank you for your help with this.
I will update the thread to let you know how I get on.

Yes, the Red SPI display with ST7796S works fine.

I had never seen the D1 discussion. Never had any problem with /CS.
You can enable / disable the SDO (MISO) pin in software. i.e. enable it to read the screen memory or controller registers. disable when done. Most operations only use the SDI pin (MOSI)

David.

1 Like

David, the display came in the post today. After a bit of time spent configuring User_Setup.h in the Bodmer TFT_eSPI library and making sure it was correctly connected up to the ESP8266, all seems well. I have not tested touch yet, but I ran some of the example programs and they seemed to display just fine. The next step will be to add it to my project.

Thank you for steering me in the right direction!

Bodmer has written excellent libraries. They should all work with your ESP8266.

ESP32 has two cores, more SRAM and more GPIO pins and is faster.
So you will get "better" performance but both ESP8266 and ESP32 do pretty well.

Oh, it is wise to start with a ready-made User_Setup. i.e. stick to his proven wiring.
Once you have gained familiarity you can configure a "custom" setup of your own.

David.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.