LCD modules can be finicky at powerup. I have a software delay execute before I begin writing to the display to let it stabilise. You can also try the initialisation code for the display which usually consists of sending bytes in the list, retlw 30h ; display initialisation retlw 30h retlw 30h retlw 38h ; 2 lines, 5X7 chars retlw b'00001100' ; display = on, no cursor or blink retlw 1h ; clear display retlw 6h ; increment display I put a delay after the '30h' commands as defined in the display initialise instructions. Tony Just when I thought I knew it all, I learned that I didn't.