I have an Arduino Nano, powering a 20x4 LCD display with I2C interface powered from its 3v3 pin and sharing a common ground. Power to the Arduino comes from an 11.1V Lipo going through some resistors and a voltage regulator which then connect to the 5V and GND inputs of the Arduino (or USB power).
To remove any code issues I've uploaded ONLY the LCD-Blue-I2C test code for my particular display and hard coded 2 lines of messages.
The Problem:
when you power up the Arduino, the LCD display shows line 1 all blocks and line 3 all blocks. And does nothing else.
However - if you press RESET on the Arduino, it reboots and works 100%!
Also, if you connect Serial Monitor (which causes a reboot) it works 100% and the display starts showing my custom messages.
When back on its own power (i.e no USB connection) and you start-up, you again just get blocks. If you press RESET on the Arduino suddenly it works 100% and my LCD displays the messages.
I've tried 3 different types of power to the Arduino it makes no difference. I cant keep having to press RESET every time i turn it on, as its going to be in a closed case which i dont want to have to open every-time. It should be just booting up and running when power comes on without needing to be reset thereafter?
Can anyone figure out the problem?