Tutorial 13 for Arduino: Liquid Crystal Displays


I had initially planned to do an LCD tutorial a little further down the line, but there was very high demand for it, and I already had a circuit assembled for testing the new LCD that element14 sent me to evaluate. So, this seemed like an appropriate time to roll it out!

In this episode, I explain how communication works with most modern LCD character displays, I show the schematics and circuit required to talk to an LCD, and then I demonstrate it working using two demo programs. The first program will create an animated progress bar using custom characters, and the second will leverage I2C and button debouncing knowledge from tutorial 7 and tutorial 2 respectively to create a real time temperature readout in both Celsius and Fahrenheit. Download the source code, schematics, datasheets, and parts list below!


You can download the files associated with this episode here:

GNU GPL License Distributed under the GNU General Public (Open-Source) License.
Please Attribute and Share-Alike.

Dave Morgan has created a modified version of this code that works with the TMP36 sensor found in the Sparkfun Inventors Kit. Download it here: MyRoomTempLCD.


  1. Pingback: Interfacing LCD to arduino – Liquid Crystal Displays | Simulacrum Universum

  2. Pingback: Видеоуроки по Arduino, 13-я серия — ЖК-дисплеи (LCD) | ARDU.IN — проекты и обучающие уро

Leave a Reply

Required fields are marked *.

This site uses Akismet to reduce spam. Learn how your comment data is processed.