It currently supports 4 types of connections:
* 4 bit parallel LCD interface
* 8 bit parallel LCD interface
-* I2C IO bus expansion board with the PCF8574* I2C IO expander ASIC.
-* ShiftRegister adaptor board as described [[http://code.google.com/p/arduinoshiftreglcd/|Shift Register project home]], 2 and 3 wire configurations supported.
+* I2C IO bus expansion board with the PCF8574* I2C IO expander ASIC such as [[http://www.electrofunltd.com/2011/10/i2c-lcd-extra-io.html|I2C LCD extra IO]].
+* ShiftRegister adaptor board as described [[http://code.google.com/p/arduinoshiftreglcd/|Shift Register project home]] or in the HW configuration described below, 2 and 3 wire configurations supported.
* ShiftRegister 3 wire latch adaptor board as described [[http://www.arduino.cc/playground/Code/LCD3wires|ShiftRegister 3 Wire Home]]
* Support for 1 wire shift register [[http://www.romanblack.com/shift1.htm|ShiftRegister 1 Wire]]
The library has had the invaluable contribution of:
* [[http://www.3guys1laser.com/blog-cheap-arduino-2-wire-lcd-display-0|piccaso]] - Florian Fida - Flo, thanks for testing and improving the SR library, initial version of the 1 wire interface and speed improvements.
* B. Perry - **firstname.lastname@example.org**, with his thoughtful contribution, speed improvements and development support for the SR2W library.
There is a nice freebe in the library: fastIO. This is a collection of fast digital read write operations
originally writen by //Florian Fida// that makes the ShiftRegister modes of operations as fast as the 4bit parallel LCD.
=== Library Overview == =
This library provides the same interface to applications as the LiquidCrystal library sourced by the
Arduino SDK. The main changes to the LiquidCrystal Library is that it has been changed to be a pure
to re-write the entire driver. Drivers for the MCP2300, SPI and Serial are very easy to develop since
you would only have to worry about how to write to the particular new device.
The library is used just like the current stock LiquidCrystal LCD library. You only have to tell it
what type of LCD and how you have connected to your project and you are set. The main difference is
have to disable the //FAST_MODE// in the LCD.h header file of the library by simply commenting the
All the HW configurations described in the HW section have been tested, the last one was the ShiftRegister
adaptor by [[http://www.3guys1laser.com/blog-cheap-arduino-2-wire-lcd-display-0|piccaso]], thanks for testing it and sharing.
The code has been fully tested with a 4 bit interface and with the [[http://www.electrofunltd.com/p/i2c-lcd-extra-io.html|**I2CLCDextraIO**]]
(companion board to this library) using the PCF8574* ASIC.
=== Performance and Benchmakrs == =
+== Performance and Benchmakrs ==
Each supported and tested library class has gone through a performance benchmark and it is compared with respect to the original LiquidCrystal library.
ShiftRegister class benched marked by [[http://www.3guys1laser.com/blog-cheap-arduino-2-wire-lcd-display-0|piccaso]] - flo, thanks for testing it and sharing.
**Benchmark 4**: write a string to each row of the LCD from a string stored in FLASH, 10 cycles.
==== Benchmark Results === =
+=== Benchmark Results ===
The execution time is based on the sample benchmark file using FAST_MODE enabled.
Performance 1 3.72 4.28 3.13 0.34
=== HW configuration and schematics == =
+== HW configuration and schematics ==
Please visit the HW configuration schematics of all the tested configurations of the library.
=== Downloading and Installation == =
+== Downloading and Installation ==
Source code for the library and documentation can be downloaded from the download section of this