Hi Harold, Yep, sounds logical. Anyway I am peeking at the resulting assembler code that picbasic pro compiler outputs, and I can see an include to a PBPPIC14.LIB file. Inside that file there are TONS of assembler routines that cope with all the macro calls in my compiled .asm file. In particular there is one LCDOUT, which amongst other things it initializes the LCD for the first time. It goes something like this: Wait 15 ms Send a 33h to Lcd to init Wait 5 ms Send init again Wait 100 us Send init one more time Wait 100 us Set 4 bit mode sending a 22h to lcd Set 4-bit mode, 2+ lines, 5x7 font sending a 28h Display on, no cursor, no blink sending a 0Ch Lcd entry mode set, increment, no shift sending a 06h ... Well ... this does not work with this lcd... I'll dig a bit more. Thanks for all the hints. I will reread the 44780 datasheet and try to figure out if that init routine is ok. Regards, Enrique -----Original Message----- From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On Behalf Of Harold Hallikainen Sent: Lunes, 27 de Noviembre de 2006 12:31 p.m. To: Microcontroller discussion list - Public. Subject: Re: 16F690 & LCD: Newbie question It doesn't appear that you are initializing the LCD controller at all. There's a sequence that needs to be gone through. I've only done the 8 bit sequence, though. The "black squares on top line" is the classic "not initialized" indication from the LCD. Harold -- FCC Rules Updated Daily at http://www.hallikainen.com - Advertising opportunities available! -- -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist