First time using an LCD (Jameco/Ampire 2x16 unit), and just experimenting a bit for now. If you're curious, datasheet is at: https://www.jameco.com/Jameco/Products/ProdDS/171715.pdf I'm controlling the LCD manually (for now) with 11 DIP switches. Sounds painful I know, but it's not that bad... if it works. Which it doesn't exactly. For each bit-combo. I setup the bits with enable set LOW, then toggle enable to HIGH and back to LOW. First I ran though the initialization sequence this way, then set DDRAM to address 0, then wrote data LLHHLLHH to the RAM. What I get is the char '3' display, but on the first 6 character positions. If I toggle the enable to HIGH and back to LOW again, it writes '3' in the next 6 or so positions. That's odd. Anyone know why? My guess is that I'm missing something fundamental on the operation of LCD's, and the datasheet is not exactly as well detailed as, say, a Microchip datasheet. Another Q... I guess CG stands for character generator, but why is there an operation to write to CG RAM? What's the purpose of that? Can I create my own fonts or something? Thanks, -Neil. -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.