0 votes
in ESP8266 WiFi Color Kit by (120 points)
edited by

Hello there,

I've recently got the ESP8266 color screen kit and wanted to play a bit with it (as am interested in the weather color station).

So the soldering I've made is fine, checked the connections (visually and using a meter) and the backlight fire when requested, but nothing is displayed on screen which remain completely white, either with the color weather or any of the examples that come with the Mini Grafx library.

Also the touchscreen driver seems to report incorrect values, but the driver seems to correctly get information from the SPI chip (the XPT2046), which don't get valid information from the touch screen itself.

I've checked on the PCB for the connection between the screen and it's PCB, it seems fine but not 100% sure as we can't lift the screen a lot.

So I've added some log in the colour weather app to see what is happening and I get this:

Setting backlight
15
Initing screen
Initing touchscreen
SPISFS mounted
PIFFS opened:
Touch loaded
Update data
Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Connecting to WiFi
.Updating time...
Updating conditions...
Requesting URL: /api/<WUNDERGRROUND_API_KEY>/conditions/lang:EN/q/CH/Zurich.json
start document
Updating forecasts...
Requesting URL: /api/<WUNDERGRROUND_API_KEY>/forecast10day/lang:EN/q/CH/Zurich.json
start document
Updating astronomy...
Requesting URL: /api/<WUNDERGRROUND_API_KEY>/astronomy/lang:EN/q/CH/Zurich.json
start document
Setup done.
loop

DST Rules Updated:
DST Start: Sun Mar 26 02:00:00 2017
DST End:   Sun Oct 29 02:00:00 2017

loop
loop
loop

During all the time the screen stay white with the backlight on.​

Could something as stupid as during manufacturing they change the LCD panel and it does not use the same driver? 

Is something wrong like the soldering is badly made? I'm not sure.. :/

But if I'm correct just that code:

#include <MiniGrafx.h>
#include <ILI9341_SPI.h>
#define TFT_DC D2
#define TFT_CS D1
#define TFT_LED D8

// defines the colors usable in the paletted 16 color frame buffer
uint16_t palette[] = {ILI9341_BLACK, // 0
                      ILI9341_WHITE, // 1
                      ILI9341_YELLOW, // 2
                      0x7E3C
                      }; //3

int BITS_PER_PIXEL = 2; // 2^2 =  4 colors


ILI9341_SPI tft = ILI9341_SPI(TFT_CS, TFT_DC);
MiniGrafx gfx = MiniGrafx(&tft, BITS_PER_PIXEL, palette);

void setup() {
Serial.begin(115200);
  // The LED pin needs to set HIGH
  // Use this pin to save energy
  // Turn on the background LED
  Serial.println("Setting backlight");

  Serial.println(TFT_LED);
  pinMode(TFT_LED, OUTPUT);
  digitalWrite(TFT_LED, HIGH);    // HIGH to Turn on;
 
  Serial.println("Initing screen");

  gfx.init();
  gfx.fillBuffer(2);
  gfx.commit();
}

void loop()
{
}

should be enough to test the screen...

Edit: I review my comment about the touch screen. I misconfigured TouchTest for CS/INT and with proper values (CS=D3, IRQ=D4) it works properly, which me that the HW SPI is working fine on the ESP8266 side.

Still need to understand why the screen does not react...

2 Answers

0 votes
by (2.9k points)
Please check if the voltage and current you provided are matching what your module needs. Some of the models may need 300mW.
by (120 points)
edited by
That's an interesting question, unfortunately with a good battery pack (20000mAh able to output at least up to 5A) a short cable and my USB meter m, it show that it only take about 100mA, so no consumption is not an issue, and even a PC USB port should be able to give more than 300mA..

Edit: misread it was 300mW not mA (which ok most PC will not output 300mW)
0 votes
by (10.0k points)
I am also puzzled why it wouldn't react. We tested all the modules before shipping them so I can exclude a change in the chip as you suggested. You are right, the sample code you provided should set the display to yellow and do nothing else. If you come to the certain conclusion that the display is faulty I will send you a replacement...
by (120 points)
I am too as everything I try tend to say that the screen should receive data...

I will try to read some values from the screen later today to see where it could fail.

I see two potential issues:
- If I remember correctly the screen wasn't package in an antistatic bag, so, maybe during shipping it got a bad discharge? hard to say
- the problem could be also on the flex that connect the PCB to the screen, during transport if the flex was not fell fixed to the glass it may have moved during transport and it is just bad luck from my side.
The whole module seems difficult to disassemble but will try to see if I can check the LCD flex on the LCD side without breaking the touchscreen
by (120 points)
Ok, I wanted to gently push the flex with a piece of paper and found how to safely remove the touchpanel :-D

But well gently pushing on the flex didn't improve anything.. Will try later to to so read from the LCD driver
by (120 points)
Sorry to come back that late, up to now everything I've tried tend do show that the screen is faulty for some unknown reason.. :/
by (10.0k points)
Hi Manuel. I will contact you by email to discuss a possible solution...

Welcome to ThingPulse Q&A, where you can ask questions and receive answers from other members of the community.

https://thingpulse.com

...