If this appears to be not working or broken with a blank screen, then possibly the driver library is not quite right.
Jaycar now have a custom build of libraries on their website, which works fine. Download the file, and follow the instructions in the "XC4630 Notes.txt" file. These drivers and examples work fine for me.
Unfortunately this wasn't available last year when I was trying to first get it working. (I was just sitting down now to write up what you can do, but see that it's all much easier now).
The Jaycar libraries are based on the Adafruit libraries, which are hosted in GitHub. For posterity (or if you want to use a more up to date version of the libraries), I had to do the following to get them to work.
1. Download the libraries
- Adafruit GFX Library (zip download)
- Adafruit TFTLCD Library (zip download)
- Adafruit Touch Screen Library (zip download)
2. Import the libraries into the Arduino software
- Sketch | Include Library | Add .ZIP Library... (once for each)
3. Open an example
- File | Examples | TFTLCD-Library-master | graphicstest
4. Fix the hardware identifier
This is the bit that took a while to figure out. For reference, the serial number on my TFT LCD is: QR4 5265S01 G3/2 TP28017.
- It seems that the readID() function in the Adafruit library does not work with this particular hardware.
- In the example graphicstest program, Locate line 60: uint16_t identifier = tft.readID();
- Change it to: uint16_t identifier = 0x9341;
- Or, equivalently, change line 84 to: tft.begin(0x9341);
The tftpaint program also worked for me with a similar change.
Hope this helps someone.