Arduino Library for displaying double height characters on an LCD display.
C++ C Objective-C
Switch branches/tags
Latest commit c16fb39 Jan 31, 2017 @gregington committed on GitHub Merge pull request #4 from btittelbach/master
* advance pointer instead of going through charset
* return value for non-void function
Failed to load latest commit information.
examples Library is now compatible with the New LiquidCrystal library Oct 25, 2013
src return value for non-void function Jan 30, 2017
LICENSE Initial commit Oct 13, 2013 Added more detail on dependencies. Oct 25, 2013
keywords.txt Added keywords. Oct 13, 2013


Arduino Library for displaying double height characters on an LCD display. This library is compatible with the standard LiquidCrystal library dictributed with the Arduino IDE and also with the New LiquidCrystal which is a drop in replacement for the standard library.

The New LiquidCrystal library supports connections to LCDs using

  • 4 bit parallel interface
  • 8 bit parallel interface
  • I2C expansion boards
  • Shift registers

Note that this version of the library is incompatible with version 1 to implement compatibility with the New LiquidCrystal library.


Thanks to Bill Perry who reviewed the original code and suggested I base this library on the New LiquidCrystal library by F. Malpartida. Thak you also to Tim Eckel who wrote the LCDBitmap library whose code gave me insight on how to make this library compatible with both the standard LiquidCrystal and New LiquidCrystal libraries.


You must install the BigCrystal library into your Arduino library directory. Optionally, you can remove the standard LiquidCrystal library and replace it with the New LiquidCrystal library.

BigCrystal is implemented as a wrapper around an LCD object, created using either the standard or new LiquidCrystal libraries. The lcd object is passed through to the BigCrystal constructor.

BigCrystal exposes all LiquidCrystal public methods and delegates to the underlying object. This means that once the BigCrytal object is created, you just need to reference that instance instead of using both the BigCrystal instance and the underling LiquidCrystal instance.

The following methods are available to display double height characters:

  • writeBig(char c, uint8_t row, uint8_t col) - writes a single large character to the specified coordinates.
  • printBig(char* str, uint8_t row, uint8_t col) - writes a String to the specified coordinates.
  • widthBig(char c) - returns the width in characters of the specified large character. Includes the one column space following the character.