Success #2

Working 2.8 inch LCD TFT on Arduino UNO (S6D0139)

Another cheap display from ebay, that I couldn't get to working for a long time

I finally decided to persevere and try to deduce the reasons why

Then I happened to find, through lots of searching a reference to the driver IC used on this display.  (link to data sheet below)

http://www.rockbox.org/wiki/pub/Main/CreativeZENXFi/DS-S6D0139V0-5Preliminary.pdf

I then had a look inside the LCDTFT.cpp library file to see if I could decode the byte sequences sent to this device, to determine why the display is so bright

The sequence below has been altered from the original, a couple of byte sequences have been commented out, but the most important one is the line

//    0x0002, 0x0700, //  field 0 b/c waveform xor waveform

Commenting out that line sorted my display perfectly. No more whitewash colours.

 

Hopefully this will help others with the same display

static const uint16_t _regValues[] PROGMEM = {
 0x0000, 0x0001, // start oscillation
 0x0007, 0x0000, // source output control 0 D0
 0x0013, 0x0000, // power control 3 off
 0x0011, 0x2604, //
 0x0014, 0x0015, //
 0x0010, 0x3C00, //
// 0x0013, 0x0040, //
// 0x0013, 0x0060, //
// 0x0013, 0x0070, //
 0x0013, 0x0070, // power control 3 PON PON1 AON

 0x0001, 0x0127, // driver output control
// 0x0002, 0x0700, // field 0 b/c waveform xor
 0x0003, 0x1030, //
 0x0007, 0x0000, //
 0x0008, 0x0404, //
 0x000B, 0x0200, //
 0x000C, 0x0000, //
 0x00015,0x0000, //

 //gamma setting
 0x0030, 0x0000,
 0x0031, 0x0606,
 0x0032, 0x0006,
 0x0033, 0x0403,
Posted on Jan 1
Written by Andrew Ord