I'm building a simple 1602 Shield for the Arduino Uno with the PCF8574 (or PCF8574A). I’m trying to decide which library/configuration I should use? There seems to be two different standards for connecting the PCF8574 to the 1602. One uses the lower nibble on the PCF8574 (P0-P3) to control the 1602 D5-D7 pins (with the upper nibble managing the control wires). This standard is associated with the original Arduino I2C LCD library. This library has been supplanted by the "New" library by fmalpartida.
The other standard uses the upper nibble of the PCF8574 (P4-P7) to control the 1602 D5-D7 pins. This standard has been established by DFRobot and their 1602 I2C controller card. This standard is also the standard employed by many other low-cost boards currently being manufactured in China. All these use the DFRobot I2C library.
This difference is well explained in the post at http://arduino.cc/forum/index.php?topic=125455.0
The difference between these two wiring standards and associated libraries seems to have created quite a bit of confusion for folks trying to get their 1602 working with their Arduino I2C pins.
I'd like to design an I2C 1602 LCD shield but I don't want to create a new standard and I would like my shield to be able to use one of the two libraries already out there. I would like to make things as simple as possible and reduce the confusion that has been caused by these two different wiring standards.
The fmalpartida library is very good, but the DFRobot configuration seems to be quickly becoming the standard due to the flood of clone boards coming out of China.
I am seeking recommendations on which wiring/library standard I should use. I can't seem to determine which library is more widely used or preferred.