3.5" tft touch screen for arduino mega


I recently bought an arduino mega and also a touch screen. (m.benl.ebay.be/itm/3-5-inch-TFT-Touch-Screen-480x320-for-Arduino-Mega-2560-/172124199076?nav=SEARCH) On the ebay page it seems the screen is connected to the screen without any shield but it says that the input voltage for the screen is 3.3v, I thought the output of an arduino mega was 5v. Do i need to get some sort of shield or what am I supposed to do?

Thanks for posting the link. The photos makes everything clear.

The Shield should plug directly into the Mega2560.

It should work with UTFT or TFT_HX8537 libraries. It says R61581 but this is similar to HX8537, ILI9481. Likewise, the Touch should work with UTouch or XPT2046_Touchsceeen libraries.

I am wary of the microSD. Try it for yourself. It may be unreliable if the resistor-pack is 10k. With 1k or 2k it should be fine.

Ask if you want help. I recommend the TFT_HX8537 but you must configure it for "ILI9481"


Thank you Im new to progamming with the arduino but I will try it out as soon as I get the screen!

Looks like an 8 bit interface, if that is the case then the Mega HX_8357 library will not work as it only supports 16 bit displays.

Oops. Yes, it does look like 8-bit interface. I don't think UTFT will be any good.

There is another 8-bit Mega Shield in a current thread.


I have some issues wiring the screen up, a series of pins does not really align with the arduino so I dont know where to insert them.

If the pins do not line up, do NOT try wiring by hand.

Post a link to the actual screen that you have bought.

The rules are quite simple:

if a shield's pins do not match your Arduino, do NOT wire it by hand, buy an Adapter Shield. The Adapter shield will look after any 3.3V level-shifting.

A Uno Shield will plug into a Uno, Mega, Due. A Mega shield has too many pins to fit on a Uno.

You still need to read the documentation. Shields often have jumpers or solder-bridges e.g. to select for 3.3V or 5V


I have managed to get the screen working and I am working on a little test program to test the touchscreen. The screen itself works, I use the UTFT library and can draw some basic shapes. But when I tried to use the touch part of the screen, I didn’t work out like I wanted. For the touch I use the UTouch library, I am not sure if this is the correct one for my screen and I think this might be the issue. But maybe it has something to do with my code. I draw a simple button on the screen and when I press the button I want to get a message in the serial monitor. The button drawing part works fine though. Here is my code: (the memorysaver and utouchcd are automaticly added when I add th other 2 librabries)

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

extern uint8_t BigFont;

UTFT myGLCD(CTE32HR,38,39,40,41);
UTouch MyTouch( 6, 5, 4, 3, 2);

int x, y;

void setup() {



myGLCD.setColor(0, 255, 0);
myGLCD.fillRoundRect (180, 130, 300, 200);
myGLCD.setColor(255, 255, 255);
myGLCD.drawRoundRect (180, 130, 300, 200);
myGLCD.setBackColor(0, 255, 0);
myGLCD.print (“BUTTON”, CENTER, 160);

void loop() {
while(true) {
if (MyTouch.dataAvailable()) {

if ((x > 180) && (x < 300) && (y > 130) && (y < 200)) {
Serial.println(“BUTTON click”);