THE HD4478LCD Controller ( henceforth referred to as LCD ) has the following features : 1. Works on voltage between 2.7 V to 5.5 V. The contrast can be adjusted by connecting a potentiometer between Pin 2 and Pin 3 as explained below. 2. Can display one line of 16 characters or two lines at max. 3. Any character can be generated in the form of a 5 X 8 or 5 X 10 dot matrix. 4. The LCD has 16 pins, eight of which are data lines and 3 are control lines. 5. There are 5 power lines for powering the LCD and backlight. 6. The LCD can be operated in two modes : 4-bit or 8-bit. i.e. data can be sent sequentially in packets of 4-bits or 8-bits. 7. Data can be written to the LCD only on the falling edge of the enable pin. This means that the data will displayed only after the enable pin is taken high and then taken low. This must be repeated for each data or command that is sent to the LCD. 8. It is necessary to use delays between sending each instruction. This is necessary, since if the second instruction arrives while the first one is still being executed, then the execution time will far exceed the normal execution time. 9. The LCD provides a busy flag, which indicates whether the LCD is busy performing an operation or whether it is ready to accept instructions.This method can be used instead of using delay loops, since delay provided is random at most and not optimised. The pin configurations are as below : Pin 1 ------------------- > VSS ------------------- > GROUND Pin 2 ------------------- > VCC ------------------- > +5V Pin 3 ------------------- > VEE ------------------- > GROUND Pin 4 ------------------- > RS ------------------- > REGISTER SELECT (DATA OR INSTRUCTION) Pin 5 ------------------- > R/(~W) ------------------- > READ / (NEGATION OF WRITE) Pin 6 ------------------- > E ------------------- > ENABLE Pin 7 ------------------- > DB0 ------------------- > DATA BIT 0 Pin 8 ------------------- > DB1 ------------------- > 1 Pin 9 ------------------- > DB2 ------------------- > 2 Pin 10 ------------------- > DB3 ------------------- > 3 Pin 11 ------------------- > DB4 ------------------- > 4 Pin 12 ------------------- > DB5 ------------------- > 5 Pin 13 ------------------- > DB6 ------------------- > 6 Pin 14 ------------------- > DB7 ------------------- > 7 Pin 15 ------------------- > +LED ------------------- > +4.7 V FOR BACKLIGHT Pin 16 ------------------- > -LED ------------------- > GROUND This is sufficient to get started. For more details, read the datasheet. For coding sequences, refer to the latter part of the datasheet.