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...