On Tue, Mar 31, 2009 at 01:36, Philip Pemberton wrote: [...] > Then your code sends the byte 0x00001111 in the same way, which completes the > Set DDRAM Address command above.... and starts another one. I'm willing to > wager that the loss of sync between the PIC and the LCD is what's causing the > garbage on the LCD screen. Philip, you are absolutely right! I did not realize that for setting 4-bit mode it only requires one half of a byte, I thought that you had to send the full 8-bit byte before the module resets itself to 4-bit. Using your init sequence, sending the resets for both 8bit and 4bit, the display is now initialized correctly everytime. Thank you. -- - Rikard - http://bos.hack.org/cv/ -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist