> http://techref.massmind.org/techref/io/lcd/44780.htm > is the explanation of the transfer from 8 to 4 bit mode helpful and clear? Hard to judge by someone who knows how to get an LCD working, but perhaps it could be broken down into shorter sentences and sections with a scattering of generic code examples > Specifically, I'm wondering about the wait times between commands > in the initialization function. What happens if you wait more than 15mS > on the /second/ wait, or more than 4.1mS on the /third/ wait "too long" doesn't usually seem to be the problem when dealing with LCDs and advice is often that delays be increased. Enable Cycle Time for instance Power-up time is one parameter that seems variable across brands, and I've experienced up to > 100ms being needed. This is very frustrating when the LCD plays possum with otherwise known good code You might also describe in more depth the consequences of D7 / Busy being bi-directional or not. For example a 2-pin method can be used, but if a 3rd is used to monitor Busy that could mean faster updates -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist