New liquidCrystal Arduino library


Francisco Malpartida, an Arduino enthusiast from Spain, has posted a new liquidCrystal library for Arduino. The main differences are a claimed increase in speed of LCD operations and the ability to control the LCD display via an I2C bus expander or a Shift Register Extender in addition to the usual 4- and 8-bit modes.

Via HiFiDUINO.

This entry was posted in Arduino, code, LCD, open source and tagged .

Comments

  1. pt says:

    the license says “New LiquidCrystal Library by F. Malpartida is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. CC BY-SA 3.0″

    how does that actually work? you can never use it for any commercial project?

  2. John says:

    Doesn’t the current library from adafruit (which I believe is the new standard library) already support i2c and spi (shift register) connected lcd in addition to the 4wire setup? what is the advantage of this new library aside from the restrictive license?

  3. NonaSuomy says:

    First libs I was able to get working over i2c with my 16×2 LCD tried over 4 of the i2c libs what did he change, I was using Ti i2c chips…

    Thank you for posting this would have never seen it other wise.

  4. Hi all,

    first of all I would like to apologise for the typo in the wording of the New LiquidCrystal library regarding its license. I say typo, because, both links to the CC BY-SA where correct and also all the header files have the correct CC BY-SA reference.

    I am very glad that you find the library useful and please do use it. In any case, should you have any queries regarding what is being mentioned in project wiki you can always send a message over.

    The nice thing about the library (if we set a side its speed improvements) is that its been written as a virtual class that can be extended to accommodate multiple ways to drive an LCD with the Hitachi chipset or compatible. The only thing that you need to do to include a fully compatible new driver (for example an SPI buffer) is to implement how to write to the buffer and the function to initialise the LCD using that device. All the support functions in the LiquidCrystal library are there and compatible.

    The other nice thing, is that if you already have a project that uses a particular LCD driver (say 4 bits) and you now want to change it to I2C the only thing that would change in your code would be the way you create the “variable” to control the LCD. The rest is the same.

    This is a bit different approach with respect to the huge collection of libraries that control LCDs and do more or less the same thing.

    So with one library, you can control LCDs that use different devices or ways to control them, for example: 4bit, 8bit, I2C, shiftregister (2 and 3 wires) and shortly with just 1 wire.

    I am very sorry for the havoc the licensing typo has caused in the project wiki.

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.