If you need to buy a display to connect to Arduino (or other boards as the Raspberry PI) don’t waste your money on the Nokia 5110 display. While these Nokia displays are quite cheap, around 2.5€, they are monochrome, and suffer from an assembly issue (at least mine) that the display contacts to the supporting board become loose (it uses some kind of adhesive) and the display looses contrast. Pressing the display against the supporting board makes it ok, but only for a while. The only valid reason that I can see for using one of these displays, if you need one, is memory size available for your program, since driving it is quite easy.
So, for a bit more money, and at less than 4€, we can buy these gorgeous 1.8 SPI TFT display. It is a world apart from the Nokia 5110 display. It has a higher resolution, it has color, it is bright, it is much better.
I’ve bought mine from eBay but there are several versions of this display regarding the controller chip. These versions from the exterior are virtually indistinguishable. The eBay seller of mine, shows a QDTech picture and also provided a Arduino library, that off course didn’t work…
Anyway , to use this display:
Connect the VCC and BL (backlight) pin to your power source (in my case, 5V), and connect the GND to ground.
Connect the RST pin to the RST Arduino Pin directly.
The other data lines should be connected to Arduino through 1K resistors.
We can drive the display by using any pin from Arduino, but to have the best performance we should use the hardware SPI pins 13 and 11.
Note that the pins names on the TFT board can change, depending in what version was shipped, but in my case was:
- TFT SCLK -> Arduino Pin 13 (Serial Clock)
- TFT DIN -> Arduino Pin 11 (Data)
- TFT D/C -> Arduino Pin 8 (Data/Command)
- TFT CS -> Arduino Pin 10 (Chip Select)
All these pins are connected in serial with an 1K resistor.
After the connection it took a while to find out the correct library to use to drive my TFT version.
The eBay description provided the QDTech driver and UTFT library which didn’t work. In fact the UTFT library was too big that I couldn’t even upload the code to my Arduino Uno without cutting out some of the sample code.
In my case the correct library for my display was the Adafruit ST7735 library available here: https://github.com/adafruit/Adafruit-ST7735-Library But this doesn’t mean that it is the correct library for your display. It seems there are some different chips for this display like the above ST7735, the S6D02A1 and the QDTech. We need to test several of the libraries to get the right version.