sainsmart 5" TFT backlight control

Hi, I have a 5" sainsmart touch display which uses the ssd1963 driver. I'm wanting to dim the backlight through the GUI via PWM however I'm not sure how to hook it up to the arduino. This is what I have.

On the back of the display there is a area called backlight control with 3 options.

1 - 1963_PWM
2 - LED_A
3 - Always On

The LED_A has a surface mount resistor or something jumping it, the other 2 have nothing. I'm guessing that needs to be changed first? Also what pin do I hook up from the display to the arduino?

Any help would be appreciated.

Hi Rob,

I have a CTE DUE TFT shield, the 3 jumpers on that shield are LED_A = 5V, 3.3V or PWM (9). I have a CPLD display which is cheating I know :wink: since UTFT support CPLD brightness.

The settings I have are LED_A = 3.3V on the shield, and on the back of the display is another 3 jumpers, LED_A = LED_A , PWM, Always on. So that means my display is getting 3.3V and then modulation is done on board the display.

In the information for UTFT, it says brightness is ONLY supported on CPLD displays. What I am thinking is, if you set your shield to LED_A=PWM, and leave your display set to LED_A, you could use PWM on whatever pin your shield routes it to? in my case, my shield routes PWM to pin 9, however there are not actually any header pins fitted to the shield for that block of pins so I am unable to test the theory for you :(.

Not sure if this helps you in any way......



Hi Graham, thanks! That worked exactly as you expected. It's a nice feeling to change the brightness with a slider. :slight_smile:

can you tell me what you've changed? I think I don't get it.

The description I gave for Rob was fairly comprehensive, what don't you understand? More importantly which model of shield and display are you using?


I've got a sainsmat 5" with ssd1963 and a shield

On the TFT i can find 3 jumpers (as rob) - LED_A is connected per default

On the shield I can find:

JP1 - 5V (NC)
JP2 - 3.3V (Connected)

JP3 - 5V (NC)
JP4 - 3.3V (Connected)
JP5 - PWM (44) (NC)

JP6 - enable (NC)

SD Card
JP9 - enable (can't find - doesn't matter)

Signal input
JP7 - 5V (NC)
JP8 - 3V (NC)

What jumpers has to be connected?
Sorry to ask that silly questions but I can't find any (good) documentation.

regards and thanks

ok - after reading some more threads (and reading this one about 5 more times) I begin to understand.

I disconnect jumper JP4 and connect JP5. Pin44 is connected with my shield (I think - but can pin44 do PWM output???)

just with:


Yes, that is exactly what you need to do. It should work, because my other shield has pin 44 as the PWM pin.



worked fine! thank you

Dear Graham and NatroN

I have a very similar situation, plugging a Sainsmart MEGA shield on a MEGA2560 R3 Arduino board, so as to use their CTE50 5" screen.

I cannot find any documentation regarding the "Signal Input" jumper JP7-JP8 :frowning:

The CTE50 LCD datasheet says it should operate with a 3.3V input, so I am guessing I should short JP2 and JP4, but what about the "Signal Input" jumper: is it the voltage coming from the MEGA, in which case I need to tell the shield it's 5V indeed, and thus short JP7?

Thanks a bunch for your help :slight_smile:
(newbie) Greg

PS: note I am using the 7" MEGA shield since they have run out of 5" MEGA shields. Sainsmart support have confirmed via email this setup was going to work.

Hi all

I actually found your answer before you even had to reply Graham :slight_smile:

Thanks ever so much for your numerous posts, including Problems with SainSmart 7" 7 Inch TFT LCD Shield+TFT LCD Shield for Arduino MEGA - Displays - Arduino Forum

So in summary,

Soldering JP2, JP4, JP7, and JP9
initialising my screen in the UTFT 800x600 library demo with UTFT myGLCD(CTE50,38,39,40,41);
making NO modification to the HW_AVR_defines.h nor HW_ARM_defines.h

I finally have a screen that works :slight_smile: Only 2 months lost :o

PS: I can confirm it had been Sainsmart'ed indeed: JP1-JP2-JP3-JP4 were all soldered!

Thanks guys, this worked for my CTE70, SainSmart 7" display and CTE board. I unsoldered JP4, and soldered JP5 (PWM), and then used the following two lines of code in my setup:

analogWrite(44,255); // 2nd parameter 0-255, 255 brightness high, lower numbers dimmer

This worked great to dim the brightness of the display! Now I can have the display get dimmer automatically at night, brighter during the day. Perfect and easy!

So while the two lines work to get it going (you need them or the display will be dark), after that, I'll have more code to change the display brightness.