Connect 3.2 TFT LCD with SSD1289 directly to Arduino mega

I assume you want to use the UTFT libraries?

UTFT manual states :-

Module Model for UTFT Controller Notes ITDB02-2.4E ITDB24E_8 S6D1121 8bit mode ITDB02-2.4E ITDB24E_16 S6D1121 16bit mode

Regards,

Graham

Hello tecleador, Mubase, cico_32, Ivanche and franlol.

I am using a 3.2" TFT screen from 'elecfreaks'. The driver is "TFT01_32WD". I had the same 'white screen problem" as you.

The strange solution for me was in the way I upload the program to the board.

If the sketch program was 'text-copied', it compiled, but didn't work: only white screen.

But then I found that under the "File" -> "Sketchbook" -> "Libraries" menu, the same sketches that were failing before, were now perfectly running. I don't know the reason. Perhaps the IDE has some links to the libraries that you miss when copy-pasting the sketch text.

That worked for me and I hope it works for you.

Now I am having problems with the touch calibration, but that's another issue.

Good luck.

Hey Folks,

I was having a very similar problem with stuff not showing up properly.

First thing you should do is calibrate your touch screen. If you go into the UTouch library in your arduino file there is a calibration file within the examples. Open it and follow the directions. The MOST important point here is that you absolutely need to choose your LCD module to calibrate it properly. Given this is about the SSD1289, your module is likely SSD1289 so use what is listed below.

Next thing is make sure you are using SSD1289 (or whatever the correct module is) as your module parameter in whatever sketch it is you’re trying to get to work.

UTFT myGLCD(SSD1289,38,39,40,41);

#include <UTFT.h>
#include <UTouch.h>

// Define the orientation of the touch screen. Further 
// information can be found in the instructions.
#define TOUCH_ORIENTATION  PORTRAIT

// Declare which fonts we will be using
extern uint8_t SmallFont[];

// Uncomment the next two lines for the Arduino 2009/UNO
//UTFT        myGLCD(SSD1289,19,18,17,16);   // Remember to change the model parameter to suit your display module!
//UTouch      myTouch(15,10,14,9,8);

// Uncomment the next two lines for the Arduino Mega
UTFT        myGLCD(SSD1289,38,39,40,41);   // Remember to change the model parameter to suit your display module!
UTouch      myTouch(6,5,4,3,2);

// ************************************
// DO NOT EDIT ANYTHING BELOW THIS LINE
// ************************************

just bought 2 chinese megas and the ssd1298 screens. in the product screen shot looked like the tft to mega was plug and play. in a matter of speaking. hense the pins dont line up. it was a combo deal so i was at fault i guess. yea tft screen doesnt plug in to work… apparently needs a sheild. would have made for a triple threat for the buy, <dissapointed

Why not post a link to the actual product(s) that you bought?

I would expect a "display + Arduino" combo deal to fit together.

You just have to keep a healthy scepticism. e.g. deals that say "2 items" when it is actually "Arduino + USB cable" and not two "Arduinos"

Sometimes the Chinese Vendors know what they are selling. Sometimes it is nothing more than "something in a box". Just like they sell toys or novelties.

David.

I thought I would post here being the first hit on google on the topic of getting these to go, , I tested a few sketches using the UTFT & UTouch libraries on a project for the last few days trying to get my SSD1289 3.2 tft lcd touchscreen to work on anything other than the calibration and button test examples, I found that the issue wasn't my code. It was my baud rate. I can't explain why but I thought I would share,

on 9600 the examples in the library worked no worries but not my larger sketch and others such as UTFT Buttons examples simply opening the serial monitor and changing the baud rate to 57600 or around there would make my buttons work when I touched them. My problem is solved

Cheers.

HELP !!! UK Hi guys, complete newbie to Arduino but want to get into it, i recently bought an Arduino Mega 2560 and a 3.2 inch TFT LCD touch screen which is the WBYJB02, i can`t find any data sheets, info, pin diagrams or anything for this LCD.

I downloaded the UTFT Zip (http://www.rinkydinkelectronics.com/library.php?id=52) which showed me a pin placement for the Arduino Mega and followed it to the letter and then ran the Arduino software, the backlight comes and the screen flickers every now and then but that`s all.

I tried to change the model parameters in the (Remember to change the model parameter to suit your display module!UTFT myGLCD(ITDB32S,38,39,40,41);) with every single one listed in the Keywords folder one by one, i let each one upload and waited to see if any of them would work, but non did, the LCD i have doesn`t appear to be in the list anywhere which is very frustrating.

Can anyone offer some help or advice please, i didnt get ashield` because i wanted to hard wire it myself to better understand how these things work.

Iv`e scoured the internet looking for the WBYJB02 LCD but apart from links to websites where you can buy one there are no actual data sheets or spec out there. Thanks for your time.

mancave:
complete newbie to Arduino but want to get into it,

Very admirable, it is a rewarding pastime.

mancave:
i recently bought an Arduino Mega 2560

mancave:
i didnt get ashield`

These two statements are incompatible for a self proclaimed newbie!

mancave:
because i wanted to hard wire it myself to better understand how these things work.

And how is that working out for you so far?

mancave:
Can anyone offer some help or advice please

Get a shield.

If you had got a DUE instead of a Mega, OR you had got a Mega TFT shield you would most likely be looking at pretty demo sketches on your screen by now. For sake of argument, lets assume you have got valid connections for each of the 23 wires you need to connect which in itself is no trivial undertaking! Did you also take into account the TFT is almost certainly a 3.3V device and the Mega is a 5V device and that 20 of those connections need voltage level translation? If not, there is a distinct possibility you have damaged your TFT.

Regards,

Graham

Hi guys. I have this problem in screen.

http://imgur.com/xF9JiAh

I used pin: LED A -> 5V VCC -> 5V RD -> 3.3V GND -> GND DB0 -> D37 DB1 -> D36 DB2 -> D35 DB3 -> D34 DB4 -> D33 DB5 -> D32 DB6 -> D31 DB7 -> D30 DB8 -> D22 DB9 -> D23 DB10 -> D24 DB11 -> D25 DB12 -> D26 DB13 -> D27 DB14 -> D28 DB15 -> D29 RS -> D38 WR -> D39 CS -> D40 RSET-> D41

2.4'TFT 240*320 V1.3 Arduino Mega 2560

ghlawrence2000:
For sake of argument, lets assume you have got valid connections for each of the 23 wires you need to connect which in itself is no trivial undertaking! Did you also take into account the TFT is almost certainly a 3.3V device and the Mega is a 5V device and that 20 of those connections need voltage level translation? If not, there is a distinct possibility you have damaged your TFT.

Nothing else to say. Refer to my previous statement.

Regards,

Graham

i fixed that with the library mcu_friend

This thread is about connecting a 40-pin 3.3V Display Module. You require a 40-pin Adapter Shield to connect to a Mega.

If you want to do it by hand, you must wire up 21 level shifters for 21 3.3V pins for a 5V Mega. You can use straight wires for a 3.3V Due.

Yes, MCUFRIEND_kbv will drive it if you get the 3.3V signals. So will UTFT.

David.

Just to advise anyone who has wired their display according to the first post, the LEDA should not be wired to 5v if you did your screen will work but im sure you have noticed it getting very hot, just split the 3.3v arduino pin into two wires so you can power both the LEDA and RD tft pins.

  1. Display:
    LEDA → 5V <— NOT CORRECT: should be 3.3v
    VCC → 5V
    RD → 3.3V
    GND → GND
    DB0->DB7 to pin D37->D30
    DB8->DB15 to pin D22->D29
    RS → D38
    WR → D39
    CS(pin6) → D40
    RSET-> D41

  2. Touch Screen:
    Default pin number in example code:
    DCLK->D6
    CS(pin30) ->D5
    IN ->D4
    OUT->D3
    IRQ ->D2

  3. SD Card:
    SCK → D52
    MISO → D50
    MOSI-> D51
    CS → D53

All of the 40-pin displays are 3.3V devices. You must use 3.3V logic.

This means a Mega TFT Adapter Shield if you are using a 5V Mega2560.

You can wire pins directly to a 3.3V Due. But quite honestly, it is easier to buy a Due TFT Adapter Shield.

If you don't want to buy an Adapter Shield, you need 21 level converters for a Mega2560. These can be integrated circuits or resistors.

David.

hii!!!I have a TFT display with 34 pins and i dont know how to connect it and how to write the code for it !!!..please somebody send me the connections and the code!!!
IC == SSD1289
controller == ILI9341

If you have a 3.3V Arduino like Due, Teensy3.x, STM32, … you just connect the displlay pinns to your 3.3V MCU.

If you have a 5V Mega2560 you just need to buy twenty one level shifters. Connect each 3.3V signal via a level shifter,

40-pin 3.3V displays are easy. You can buy a 40-pin Adapter Shield for Mega2560. The display plugs into Adapter which plugs into Mega2560.

You can connect the 34-pin display to the 40-pin Adapter with individual wires.

David.

david_prentice: If you have a 5V Mega2560 you just need to buy twenty one level shifters. Connect each 3.3V signal via a level shifter, David.

Hi David, I have exactly the same touch display as pramodkalhara and found the following wiring to Mega 2560 R3 without adapter shields. I bought about 30 pairs of 7.5 KOhm/3.9KOhms resistors to shift the levels. But I can not understand which are the pins that I need to wire the resistors between. According to my understanding they are 25 but you say they are only 21?!

Here is my plan to match the pins: Display Mega 2560 CS D40 RD 3.3V RS D38 WR D39 RST D41 DB0-DB7 D37-D30 DB8-DB15 D22-D29 BL 3.3V VDD 3.3V VDD 3.3V GND GND GND GND MISO D3 MOSI D4 PEN D2 T_CS D5 CLK D6

MISO, MOSI and T_CS can be alternatively connected to D50, D51 and D53 respectively

The XPT2046 is 5V tolerant. The SD card is 3.3V The TFT controller is 3.3V

Personally, I would consider all output signals as 3.3V. i.e. use potential divider And the only input signals are SD_MISO, and T_MISO. These connect directly to MISO (D50) on your Mega.

You can not expect me to give instructions without a photo of your pcb (which shows each signal on the 17x2 header)

David.