ST7796S only shows white screen


Today, my screen with an ST7796s controller arrived. It looks exactly like this one here: 3.95inch Arduino Display-UNO - LCD wiki

On the label, it says ST7796s Driver and Bus 8Bit. I plugged it onto my Mega2560 as displayed on the link above.

I downloaded the MCUFriend_kbv lib (version 2.9.9) from the Arduino Library Manager. Then, I made the following modifications to the library:


The "graphicstest_kbv.ino" sample project reports an ID of 0xD3D3, so I forced the ID to 0x7796.

But it only shows a white screen, nothing else.

What I tried is to download MCUFriend 3.0 from github (no luck either) and I tried USE_MEGA_8BIT_PROTOSHIELD and USE_MEGA_8BIT_PORTC_SHIELD (also, no luck). [tt]Not using "[color=#643820]USE_SPECIAL", [/color]the display reports an ID of 0x0 which seems to mean that the display is write-only.[/tt]

Any help is highly appreciated!

Your link shows a Blue Uno shield.

Leave IDE. Delete any badly installed library(s)
Install MCUFRIEND_kbv via IDE Library Manager. v2.9.9-Release

Plug the shield into the Uno, Mega, ...
Run all the examples.

Report back.

USE_MEGA_8BIT_PORTC_SHIELD and USE_SPECIAL is for Red Mega2560 Shields (with 8/16-bit jumpers)


Dammit. One of the pins was bent :frowning:

It is working correctly now with v2.9.9 MCUFriend.

Jolly good. That Blue Shield has AMS1117 regulator and the correct 74LVC245 buffers. It should work fine.

Thanks for your fast reply. Correctly seating the shield, it is working correctly now in the default configuration with no changes to any settings in the MCUFriend library.