Using LiquidCrystal_I2C (fmalpartida) with an 8-bit parallel interface

Hi all,

I've searched the web and this forum for information on how to configure a normal 1602 LCD (with I2C) using an 8-bit interface. The docs for LiquidCrystal_I2C says 8-bit is supported, but I can't find a thing on how to implement it.

Any info out there? Thanks.


Francisco's library is a direct replacement for the default LiquidCrystal library. Use it just like the default library to drive your display through it's parallel interface, either 8-bit or 4-bit.


You haven't said which library you are talking about but assuming your LiquidCrystal_I2C library is a library that interfaces to a PCF8574 chip, it is not possible to interface that chip to a hd44780 display in 8 bit mode. There is only a single 8 bit i/o port on the 8574 chip so it is not technically possible to run the hd44780 interface in 8 bit mode since that would take more than 8 pins.

All PCF8574 based i2c hd44780 libraries will run the hd44780 lcd device in 4 bit mode since there are only 8 i/o pins on the PCF8574 and it takes at a minimum of 7 pins to run it and have backlight control. (and that is in 4 bit mode) 4 for data, EN, RS, and backlight control. It would take a minimum of 11 pins to run it in 8 bit mode.

Now, as Don mentioned, if you are talking about using fm's LiquidCrystal library using directly connected Arduino pins (which is the LiquidCrystal class), that is another matter and can be done.

--- bill

In short, you are asking the wrong question.

There is in practice no reason to ever use the 8-bit mode and no advantage whatsoever to doing so.

Use the 4-bit mode like everyone else! :grinning:

Thanks all! Looks like 4 bit it is.