CTE 5" (CTE50) Screen making arduino very hot and image quality too low.

Hi Guys,

I have recently bought a CTE 5" TFT with touch screen and Font IC. I got most of it working fine but I have 2 problems at the moment.

  1. The display is making Mega 2560 very hot while if used with Due it behaves normally. Though searching in this forum and internet I got some hunch that the 3.3V backlight might be drawing too much current and stressing out the Arduino mega's 3.3V regulator/PWM generators. There is a jumper/SMD register spot marked as R9 which may activate the SSD1963 internal 3.3V PWM generator and migh reduce the stress on Arduino.. But I dont know what value Registors to put there or just solder them on.. could not find any documentation on this.. Any lead will be appreciated...

  2. Image quality when used with Mega is very very bad.. its like 8bit image quality.. while on Due its quite good. Is that a hardware limitation or anything can be modified in the sketch/Library to fix this?

Hardwares in use: CTE 5" 3.3V TFT with SSD1963 Arduino Mega 2560 CTE TFT/SD shield for Arduino Mega v1.15

Welcome to the forums.

Sorry you didn't get any replies sooner, but I have not been checking recently, due to a project I have been working on full time.....

Have you tried a DC adaptor (9V 1A) would be ideal....

Hope this helps.



PS If it is a crappy Sainsmart copy of a CTE shield, I would check JP1, JP2, JP3, JP4 VERY closely!! You will probably find blobs of solder on them all......... but should only be solder on JP2 and JP4... Also, if you have a DUE, why would you want to use it on the Mega??

Hello Graham,

Thanks for the reply.. Better late than never ;)

Do you mean running the Mega with 9V adapter or the Screen itself? I have tried running arduino on the adapter.. the heating problem still happens..

The display I have is original CTE. And the shield is not from saintsmart.. Its build quality is quite good and so is soldering .. There is no JP on the screen.. but on the shield JP2 and 4 are shorted, as it should be to produce 3.3V signals.. no issue there!

Any idea about the image quality problem? or is it a limitation of mega?

I am running it on mega coz most of my sensors are 5V.. But if this doesnt solve i will probably move to Due with level shifters!


Yes I meant run the Arduino using the DC Adaptor.

I have a Mega, with CTE shield, 5" CPLD and 5" SSD1963 displays. I don't experience any undue heating, and the picture quality is the same as when run on the DUE.

Have you tried disconnecting all accessories and just run the screen and the UTFT demo? You should not be experiencing any difference in picture quality between the Mega and the DUE besides the speed.

Just a thought? Do you have a JP7 and JP8 in the bottom right corner near the regulator? Which of those is selected?



There is no difference while running UTFT demo.. the different comes when i am loading images from the font IC. Its showing some jittery 8bit quality images like during pre-windows 95 era.

Yes I tried all accessories removed! Didnt create any difference!

JP7 and JP8 both are open..

Ah, it makes all the difference if you share all the facts to begin with ;) :P. Yes I am aware of the UTFT_CTE library problems when running on the Mega but you didn't say that to begin with....


I don't know if it will help with your heating problem, but you could try a blob of solder on JP7. (Select 5V input signal). When you say 'hot' how hot are we talking about? Unpleasant to touch? Can't touch? Perceivably warm?

You could also try putting a blob of solder on JP9, stick some raw images on an SD card and try my UTFT_SdRaw library...... See if that gives you satisfactory image quality?



The screen is 3.3V.. hopefully soldering JP7 wont send 5V signal to the screens right? The 5" screen is quite costly, want to be sure if that won't damage anything ..

My intuition is that somehow font IC part is causing the quality issue as rendering through UTFT library is producing proper colours.. Also mega has a slow SPI.. so was wondering if that is what causing it.. Is there anything i can slow down SPI in UTFT_CTE library? I had fixed sd card issue using Quarter speed in SPI for mega before.. I will load an image from the SD card to confirm soon!

The stable temperature on mega regulator is quite warm, i hook up a DS18b20 to measure it to be around 49C.. I won't say it is too harmful but I wish to run this project for months continuously.. heating will reduce the life of the project!

I can only tell you the way mine is currently configured. My CTE50 is obviously 3.3V too.... and I have zero detectable warmth anywhere. I read it as Input signal voltage being what comes from the Arduino...? That is how mine is set, but you raise a valid point, let me confirm and get back to you.

Do you mean the Mega regulator or the Shield regulator? In either case mine are not warm....

If you really want to slow down your SPI, you can in UTFT_CTE\hardware\avr\HW_AVR.h

line 4 SPI_CLOCK_DIV? Mine works fine at SPI_CLOCK_DIV2.



Edit: With JP7 made I can confirm 3.3V on DB0-DB15.

Damn! i feel so stupid now… The image is not bad quality, they are actually inverted by the UTFT_CTE library in mega.

I tried doing :

for (x_1 = 0; x_1<w ; x_1++)
 for (y_1 = 0; y_1<h ; y_1++){
 byte one = _SPIread();
 byte two = _SPIread();
 _UTFT->LCD_Writ_Bus(two, one,16);

Didn’t help! Images are still inverted… Thamks for the UTFT_SDraw library, that showed that the image is actually colour inverted… Now since I am total noob about this , can you please tell me how to fix this?

On the other point, its Arduino regulator LM358 thats getting pretty warm.

JP7 done.. still getting warm.. shall I go for JP8 too?

LM358 is not a regulator, it’s an op-amp/comparator used to control power source switching. It should not be getting warm at all.

If you have inverted colour in UTFT_SdRaw, change the iswap parameter from 0 to 1 or 1 to 0.

int load(int x, int y, int sx, int sy, char *filename, int bufmult = 1, bool iswap = 0);



My bad! but i can only trace the heat source to that through the back side as I have no access on top due to the shield… By the time i open the shield the board cools off significantly to detect the component decisively

@graham, yes your library is very flexible… I will use it for loading the big images… But I want to use the font IC for smaller icons as that will be significantly faster while switching between different screens… So can the UTFT_CTE can be somehow modified to colour-invert the images properly?

Perhaps its the 3.3V regulator that gets warm. It's rated for 150mA - how much current are you drawing at 3.3V?

How do i measure that? The shield sits covering all pins... (I am total noob) .. But I am guessing a lot since its a 5" screen all 3.3V

What does it's specification sheet say? Start there.

This SHOULD be irrelevant since there is a 3.3V regulator on the TFT shield which takes its ergs from the 5V rail.... As stated previously I have NO detectable warmth anywhere using a 5" screen!! I don't even use an external DC supply, USB only. I think you should carefully inspect your shield....

Do you have things such as multimeter and Dupont jumpers? If so, start by removing the TFT shield and connecting 5V and GND only and check your 3.3V.... This is connected to the Arduino 3.3V line, if there is a severe discrepancy I suppose it could cause loading of the Arduino regulator.......... but I can assure you it has NOTHING to do with the load of the TFT.......



I connected shield 5V to arduino 5V and the GND to GND.. The 3.3V pin on Shield is 0V wrt GND.. Also the LED+ and 3.3V female socket for the Screen also shows 0. Then i opened th 5V wire from shield.. and connected arduino 3.3V to shield 3.3V .. then all 3.3V pins on the shield got So I guess its drawing all its power from arduino 3.3V..

This makes sense.. There is no 3.3V regulator on the shield .. just level shifter!

The specs sheet for Screen says max current draw can be 220mA. 40mA max for the LED backlight..