128x160 screen whiteout when running on external power only

I have two TFT screens. One is a 128x128 and the other is a 128x160.
I have wired then to my Nano using cs=10, dc=9 and rst=8.
I am using the standard arduino tft library but I have also tried the Adafruit ST7735 which works but has the same issue.

The 128x128 works perfectly.
The 128x160 works perfectly when running while the nano is connected to my pc but when I run it off external power the screen is almost completely white. If you look at an angle you can just about see the text on the display. If I hold the reset button then the screen display corrects itself.

Some sort of weird timing thing where it works when it effectivly gets reset via the usb connection?

Has anyone encountered anything similar?

This suggests your 128x160 display must be driven with a lower logic level voltage. This theory fits your symptoms because when a Nano is driven by USB the processor supply voltage is typically around 4.6V due to cable voltage drops and the diode on the Nano. When driven from Vin the processor gets the full 5V which overdrives the display driver which leads to loss of contrast.

If this diagnosis is correct, then you need a logic level converter or you could try 1K2 series resisits in all the Nano output lines.

Thanks that makes sense.
The LCD is switchable from 5V to 3.3V as it has a regulator and a link on the pcb to switch between them but it might well not have the logic level converter.

I will experiment tonight by running it off my power supply at a lower voltage and then try the resistors and the level converters. I happen to have some level converters spare as I expected I might need them when I got a ESP1866 to play with.

These controllers are all 3.3V

Using 5V logic is likely to blow your chip. Ebay vendors do not care. They will say anything to an Arduino punter. And of course, blown chips mean extra replacement sales.

If you had bought from Adafruit, they would have provided the necessary level conversion. And charged you more for the display.

David.

bodmer:
This suggests your 128x160 display must be driven with a lower logic level voltage. This theory fits your symptoms because when a Nano is driven by USB the processor supply voltage is typically around 4.6V due to cable voltage drops and the diode on the Nano. When driven from Vin the processor gets the full 5V which overdrives the display driver which leads to loss of contrast.

If this diagnosis is correct, then you need a logic level converter or you could try 1K2 series resisits in all the Nano output lines.

Thanks. Adding the logic level converters fixed the problem.