ITDB32 / SSD1289 With Due

So I have tried everything suggested in previous posts about using the SainSmart 3.2" TFT LCD with the Due. Plugged a 9VDC power supply into the board, deleted and re-added the newest libraries for UTouch, UTFT, specified the correct model and pinModes as OUTPUT. Yet still I get just a grey screen. Threw some serial verification in to see if it at least registers 'touches' seems to indicate that the screen is seeing the touch functions. What the hell am I missing? I'm using all of the example sketches from Henning Karlsen (word! Thanks for the good work!) but this is kicking my arse!


There seems to have been extensive problems with Sainsmart 3.2" TFT, not only with DUE, but MEGA also. You do not need external psu with this display.

My own setup is :-

Arduino DUE ( clone apparently :frowning: )
CTE TFT LCD/SD Shield for Arduino Due v1.04
Sainsmart TFT_320QVT

If you are using the CTE shield, have you uncommented the code in UTFT\hardware\arm\HW_ARM_defines.h ?

// CTE TFT LCD/SD Shield for Arduino Due
// -------------------------------------
// Uncomment the following line if you are using this shield
#define CTE_DUE_SHIELD 1      < -----------------   !!! uncomment this line
// For this shield: RS=25, WR=26, CS=27, RST=28

Failing this, maybe you could include your init code?

Again for the CTE shield, and Sainsmart 3.2" TFT, the following code works for me.

#include <UTFT.h>
#include <UTouch.h>
#include <UTFT_Buttons.h>
UTFT		myGLCD(ITDB32S,25,26,27,28);
UTouch		myTouch(6,5,32,3,2);
UTFT_Buttons	myButtons(&myGLCD, &myTouch);
extern uint8_t	SmallFont[];
extern uint8_t	BigFont[];

void setup()
// Open serial communications and wait for port to open:
while (!Serial) {
Serial.println("Initialising LCD.");
int butskip=myButtons.addButton( 85,  219 ,70,  20, "Skip");
Serial.println("LCD initialised.");
Serial.println("Waiting for Skip button.");
int skip=2;
while(skip==2) {
		Serial.println("Skip button detected");

void loop()