I was thinking that the myriad of "how to talk to your 44780" pages on the net, while excellent otherwise, don't seem to really explain WHY you have to do the things you have to do. They don't reference the datasheet or show the process used to extract the proper process from the datasheet. The result is that there are a lot of pages that copied one another and errors start to creep in as understanding creeps out. Having said all that, I make mistakes as well, so I'm hoping some of you will take a second to check over the page? Please? Pretty Please? And let me know if I screwed something up. http://techref.massmind.org/techref/io/lcd/44780.htm 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. E.g. you have already waited 15mS and sent the command; now you are supposed to wait at least 4.1mS, but what if you wait 15mS? Does that re-start the sequence in the 44780 so that you are back at the /first/ step? Also, is the explanation of the transfer from 8 to 4 bit mode helpful and clear? -- James Newton 1-970-462-7764 mailto:jamesnewton@massmind.org http://www.massmind.org/member/JMN-EFP-786 -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist