Have you ever spent a bunch of hours trying to debug a weird programming glitch only to find out it was a hardware fault? I have!!!!
I have been having a persistent problem with the LCD Display on my NaV-1 Arduino Synth project where the LCD display would not initialize when you first powered up the system. Actually, I don't think the Arduino program would start at all. If I hit the reset button on the Arduino, it would work but that is not going to cut it in a stand alone, enclosed system.
Apparently the problem was a result of having the RS pin (pin 4) of the LCD module connected to Pin 7 on the Arduino. For some reason unknown to me, this can cause problems. A quick Google search showed that I am not the only one having this issue. Since many people are referring to Ladyada's fine LCD tutorial which uses Pin 7 for the RS line, this problem could be very common.
The fix is very simple - Move the LCD RS pin to Pin 6 on the Arduino! Use Pin 7 for something else entirely. All is now right with the world.
If this post can save one person from this frustrating issue, my work is done.
If you have any insight into this problem, please leave a comment below.