Cannot use LiquidCrystal library in 4bit mode

I'm using the LiquidCrystal library supplied with Arduino 12 to connect a GDM1602K to a Duemilanove. I have not had a problem getting the display to register using 8 data bits. However, I cannot seem to get the display to work in 4-bit mode.

I tried using the LCD4Bit library, too, but that did not seem to work either.

I've been running an identical program (actually, the SerialPort example), changing only the LiquidCrystal constructor. Does anyone have any success with this library? Has anyone successfully gotten a GDM1602K to work in 4-bit mode?

There were some misleading comments in the examples: you need to connect d4, d5, d6, and d7, not d0, d1, d2, d3. Does that help?

No, I had already seen that note somewhere. It was a thought I had, though.

I've been progressing along, I think. I've finally seen strings appear on the LCD, but other problems seem to be occurring. For example, sometimes the data is shifted 7 characters to the left (the string '12345678', for example, will only display '8') and the cursor is on and blinking.

Thoughts? Am I making a fundamental mistake somewhere I'm not seeing?

Update: It seems like it's 6 characters, not 7. I could have sworn it was 7 before... :-?

Hi Nick, it sounds like the problem is in the wiring, this is the most common cause of difficulties with LCDs and its easy to miss a bad connection. But if you are absolutely sure that everything is wired ok, try putting it back to 8 bits and see if that is still working. If not, something may have been damaged on your LCD panel.

Good Luck

Thanks, Mem. It took me a while, but it seems like it was a wiring issue. It appears that the problem was with the data pins. I'm not exactly sure where, but I think I've resolved it.

Thanks again for your help. I'm learning a lot every day.