LCD messed up if connecting usb to arduino

I am using microLCD (PICASO intelligent display) with arduino nano v3.0. This LCD is running on Picaso_Serial_4DLib Display(&DisplaySerial) library. The LCD works fine by powering the arduino through external power supply. However, if arduino powered via USB, the LCD does not display correctly. The screen is rotated and the texts are displayed smaller than the defined size. Tried to power the arduino with external power together with USB, problem still persists. The LCD only working fine without USB connection. Need help. TQ

The PDF seems to be happy with 5V logic.

Most TFT controllers and intelligent CPUs are 3.3V and are NOT 5V tolerant on their GPIO pins.

I can only suggest that you read the PDF very carefully. The Nano is very definitely 5V GPIO.


I am using this LCD (

I think the PDF definitely shows that the pins are 5V tolerant.

I suspect a USB power problem.
The datasheet says that the device is drawing about 155mA (typical) - 215mA (max).

That is just for the display.
If you powered built-in audio (max. 3W output) and might have a Lithium battery connected (charge current 210mA) - you are at the very limit of a USB specification (max. 500mA).

What you could try:

  1. If attached, remove the lithium battery; shut off audio; remove any other external devices from your Arduino
  2. If technically possible (skills & equipment given) check the USB cable and/or port at your computer and find out with a multimeter (be careful not to destroy your PC-port) if it is able to deliver 400 - 450mA (by identifying the +5V/GND and have your ammeter in series with a 12 - 15 Ohm resistor)
  3. If 2. doesn’t apply for you, try another USB port and/or cable

Buy a USB "Charger Doctor" from Ebay. This will tell you what the USB voltage and current is.

Note that this will drop some millivolts depending on the USB current. A safer way is with a regular DMM reading the current.

Most current will be taken by backlight and audio amplifier. The Nano and the Picaso cpu will not be taking much current.


Power from USB seem to be fine. I finally found out the problem, its the reset pin of LCD. I disconnected the reset pin while debugging the circuit, now its working fine. Still i don't know why the reset pin causes this problem. Thanks a lot guys for the quick troubleshooting ideas. :D

The Reset signal is a 3.3V signal. You can control it with your Nano by using DDRx and not by PORTx.
i.e. leave the GPIO pin as an input without internal pullup. The display has an external pullup to 3.3V
then changing the GPIO pin to output will provide the active low Reset signal to the display.
changing the pin back to input releases the Reset.