As mentioned you need to carefully follow the initialisation procedure and assume nothing about the state of the LCD, it may have survived the brownout and initially just have the nibble phasing wrong. The triple command sequence to force it into 8 bit mode is used to reestablish the nibble sequence in 4 bit mode, this is part of the recommended procedure. If you think that the LCD is getting stuck due to the sloppy way the supply dips you may have to find a spare PIC pin and power the display from the PIC. This is perfectly OK and can be used to save power by removing the 3 to 10 mA that the display draws if you have nothing to display when the unit is sleeping. Otherwise you can use it to reset the display during periodic program excecution phases when you want to force all your I/O devices into known states. Be a shame for the display to get the OK message stuck on when you are busy scrolling the FIRE-FIRE alarm message and nothing happens. Reading from the display is a good idea in critical applications when you need to know if the controller is there at least. You could also perhaps use a 3 pin reset generator IC to power the display if you find one that will source the 3 to 10 mA that a typical display requires. This will generate a clean and fast supply switch on (if you don't have any caps on the LCD side) that will survive most any brown out. Cheers -- Kalle Pihlajasaari kalle@ip.co.za http://www.ip.co.za/ip Interface Products P O Box 15775, DOORNFONTEIN, 2028, South Africa + 27 (11) 402-7750 Fax: 402-7751 http://www.ip.co.za/people/kalle DonTronics, Silicon Studio and Wirz Electronics uP Product Dealer