Arduino 1.44 in SPI TFT Display Tutorial

An Entry Level Color Display

144 Display TFTBased on the ILI9163, this is a head on competitor with the Nokia 5110 in terms of being small and low cost.  It boasts a SPI Interface, 128 x 128 pixel resolution, color and is easily integrated into Arduino projects.

This tutorial will get you communicating to your display using a couple of readily available libraries.

With a little practice, you should be producing rich color graphics for your project in no time.

Getting One of These Displays.

Like the 5110, nearly everyone selling Arduino compatible components is selling on of these.

eBay     Amazon

1.44 in. ILI9163 Display Pin Outs

While some of the vendors claim that this display can be used at 5 volts,  I use is at 3.3 volts with an 8 bit, bi-directional level converter.

ILI9163 1_44 in Display Pin Outs

Arduino ILI9163 1.44 in TFT Display Tutorial

This simple tutorial prints ‘Hello World’ to your display.  Its intent is to keep things simple as you learn how to interface the display to your Arduino.

Get the Necessary Libraries

This tutorial uses the AdaFruit_GFX and the TFT_ILI9163 libraries.

The Ada Fruit library can be found HERE.

Sumotoy’s TFT ILI9163 libary is also on Github via this LINK.

If you’re new to libraries, the Arduino site has instructions for putting them to use.

Connecting Your Arduino to the ILI9163 Display

As I mentioned previously,  there are sellers who will claim that this will work as a 5 volt device.  There are also YouTube videos that show that it works just fine in this mode.  I’ve opted to treat it as a 3.3 Volt module.  It works this way as well.

Arduino 144 ILI9163 Display TFT Tutorial

Copy, Paste and Upload the Tutorial Sketch

// Henry's Bench
//  1.44"  128 * 128  SPI  V1.1 Display Tutorial

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <TFT_ILI9163C.h>


// Definition of WHITE
#define WHITE   0xFFFF

/*
Your Connections to an Uno (Through a Level Shifter)

 LED to 3.3V
 SCK to D13
 SDA to D11
 A0 to D8
 RST to D9
 CS to D10
 GND to GND
 VCC to 3.3V 
 */
 
#define CS 10
#define DC 9

// Declare an instance of the ILI9163
TFT_ILI9163C tft = TFT_ILI9163C(CS, 8, DC);  

void setup() {
  tft.begin();
  tft.fillScreen();
}

void loop(){
  testText();
  delay(500);
}

unsigned long testText() {
  
  tft.setCursor(29, 63);
  tft.setTextColor(WHITE);  
  tft.setTextSize(1);
  tft.println("Hello World!");
}
  

Testing Your Sketch

If successful,  you will see ‘Hello World!’  in the middle of your TFT Screen.  If not, double check your connections.

Using the ILI9163 Library Examples

The ILI9163 library you installed contained several examples that show case the capabilities of the device.   However you will need to edit one of the lines in each example to allow them to work.

Find the line:   TFT_ILI9163C tft = TFT_ILI9163C(_CS, _DC);

Change it to read: TFT_ILI9163C tft = TFT_ILI9163C(CS, 8, DC);