3.2 inch, ILI9341 screen goes to white with pinkish font after running for a while...?

roarkhen

Active member
I've got a 3.2 ILI9341 hooked up to a teens 4.0. I'm using it as a tach display (arc band w/ rpm text in center). Works great. Except, every once in a while when running for a while (say over a couple of hours). The screen turns white and the font is a pale pinkish color. If I power cycle the unit it goes away and resumes to normal, which in my case is black background with green, yellow, or red text and graphic.

I'm not sure what could be causing this. Here's how i have it wired, pretty straight forward i think.

Just looking for ideas, thanks!

/*
* This uses a PJRC 3.2" TFT ILI9341 w/ XPT2046
* with a teensy 4.0
*
* ----------- Begin ili9341 pins. --------
* TFT pins<................> Teensy 4.0 pins
* vcc vin
* gnd gnd
* CS 10
* RST 3.3v
* DC 9
* MOSI 11
* SCK 13
* LED 100ohm vin
* MISO 12
* T-CLK 13
* T-CS 8
* T-DO 12
* T-DI 11
* T-IRQ 2
* ----------- End ili9341 pins. --------
*/
 
I have seen similar colors when the SPI bus signals are marginal. Make sure your lines aren't too long or that connections aren't flaky causing intermittent contact.

You could also try adding series dampening resistors to pins 11 (MOSI) and 13 (SCK) at the Teensy end. 50-100 ohms usually work OK.

Also make sure you are powering display from 5V and not 3.3V.
 
Thanks, I'll give that a try (resistors). it's already on a board, so i'll have to cut some traces and slap the resistors on. If this solves the problem i'll add the resistors to the next iteration of the board.

jfyi, the display is on the 5v power bus, and the traces are no longer than an inch.
 
If you are on a PCB with only an inch of trace, then there is probably something else going on. The resistors won't hurt anything and I now put them in on any SPI data output lines but I am usually running more like 4-6 inches and often with several devices on the same bus.

If the LCD is socketed, you might try reseating it and check for any marginal contacts. If this is a tachometer application, I'm wondering if the board is subject to vibration that might be causing intermittent contacts with the socket.
 
It could be EMC related. Spark ignition are the primary source of problems.
Try filtering every signal connected to your board. Diodes, capacitors, etc...
 
Back
Top