LCD screens and Arduino

Hitachi HD44780 Controller with LCD for Arduino

Arduino-related projects are very popular and, like Raspberry Pi, it is one of the most used Free Hardware projects among companies. That is why we are going to talk about one of the most popular combinations among Arduino users: LCD + Arduino.

The LCD display is an increasingly economical and accessible accessory, which makes it a great option to accompany our Arduino board. But Can an LCD screen be used with our Arduino board? What projects can be used with LCD and Arduino, is this combination worth using?

What is an LCD?

Novice users are unaware of what LCD stands for, even though they will have seen it more than once in their lifetime. LCD stands for Liquid Crystal Display, or what comes to be Liquid Crystal Display. A small or large screen that many of us have known in various devices such as alarm clocks, clock screens, calculators, etc ... Endless electronic devices that are expanded thanks to the combination of LCD + Arduino and Free Hardware.

LCD Screen of a Printer Using Arduino Mega

LCD screens are compatible with any Free Hardware, including Arduino Project boards, although they require that the boards have certain connectors or pins to make the connection between the electronics board and the LCD screen.

A priori, there is no impediment to using different LCD screen sizes. In other words, the same Arduino board can use a 5-inch, 20 “LCD screen or a 5 × 2 character size, to speak of a small size. But we must be aware that Arduino board is not the same as a graphics card or motherboard, so the message to be displayed on a screen will not work the same on a small screen as on a large screen, as long as it is the same Arduino board.

Related article:
Getting started with Arduino: which boards and kits can be more interesting to get started

The pins that we will need on an Arduino board to connect to an LCD screen will be the following:

  • GND and VCC
  • Contrast
  • RS
  • RW
  • En
  • Pins D0 to D7
  • Two pins for Backlight

If you have enough pins and pins compatible with the above, LCD screen will work perfectly with Arduino board. So it is always advisable to check the pins of both devices to make sure that the connection exists. In any case, it is rare for the Arduino board that cannot be connected to an lcd display and in case of having such a situation, there are different lcd modules on the market that are easily connected to Arduino and whose cost is quite affordable.

What types of lcd screens are there?

We currently find three types of lcd screens on the market:

  • Lines lcd.
  • Lcd by points.
  • OLED display.
  • LED display.
  • TFT display.

El Line LCD is a type of screen that shows information through lines. The information is situated in lines and we cannot get out of that frame. This type of LCD is the most widely used, economical and well-known but it is also the type of lcd that gives less play, since it only shows certain information and is usually just text.

El dot lcd It works almost the same as the previous type of lcd, but unlike the previous one, in the lcd by points we have a matrix of points. Thus, in this type of lcd we can place the text and even images anywhere on the lcd screen. What's more we can have several font sizes within the same lcd screen, something that does not happen in the lcd display of lines, whose size must always be the same.

El OLED display It is for many a type of display of their own while for others it is within the types of lcd. The OLED Display is a screen that shows us information but its construction is different from that of the LCD screen since uses led diodes with organic components for its creation. Unlike the previous types, OLED displays offer higher resolution, color and lower energy consumption. Like computer monitors or dot lcd, OLED screens use the matrix of dots or pixels (since we can use several colors on the same display) to display content.

El LED or LCD Led display is similar to OLED Display, but led diodes do not contain organic elements. Its performance is not as high as the OLED display but it does offer more resolution than the dot LCD screen and offers color.

El TFT display is the latest type of lcd on the market. We can say that the TFT display uses pixels like computer monitors or televisions and that we can emit any type of information through these screens. Its energy consumption is higher than any of the previous types hence small sizes are used. The size of these displays is measured in inches unlike some of the other types of displays. They are measured by characters or by screen width.

What models are the most popular?

Thanks to online commerce we can find countless models of lcd displays, but only a few are the most popular. This popularity is due to its easy acquisition, its price, its performance or simply its quality.. Here we talk about these models:

Nokia 5110 LCD

Nokia 5110 LCD Screen for Arduino

This display comes from the old Nokia 5110 mobile phones. The LCD of these mobiles outperformed the mobile and the company has continued to sell this display for its own use. The screen is monochrome and is Lineas LCD type. The Nokia 5110 display offers 48 rows and 84 columns. Its power is such that it offers the ability to view images, although not efficiently. Its performance is very good although we will need to use backlighting to be able to correctly view the screen, in general it is usually accompanied by this backlighting although there may be modules that lack this function. The display uses a Philips PCD8544 driver. The Nokia 5110 LCD screen can be found at shops for 1,8 euros.

Hitachi HD44780 LCD

Hitachi HD44780 Controller with LCD for Arduino

The Hitachi HD44780 LCD It is a module created by the manufacturer Hitachi. The lcd panel is monochrome and is line type. We can find a model with 2 lines of 16 characters each and another model with 4 lines of 20 characters each. We usually find the Hitachi HD44780 LCD display in any store but it may also happen that we only find the Hitachi HD44780 controller without a screen, the price can help us in this situation, the cost being screen plus controller for 1,70 euros and only the 0,6 euro driver.


Arduino D20 LCD Screen for Arduino

This lcd display is OLED type. The I2C OLED LCD is a one-inch size monochrome OLED screen that connects to the Arduino via the I2C protocol, this protocol uses a bidirectional bus that allows us to save pins, being necessary four pins in front of the necessary ones previously mentioned. The driver for this LCD screen is generic so we can use free libraries for its use. The price of this model is not as cheap as the previous models but if it is affordable by many users, we can find for 10 euros a unit.


E-Ink LCD screen for Arduino

The E-Ink LCD screen uses electronic ink to display information. Like the rest of the models, uses the I2C protocol to communicate with Arduino. The screens are of the TFT type but using electronic ink which makes consumption considerably lower but without losing resolution. Although there are no color screens (at the moment), they are all in black and gray scale.

As a curiosity about this model of lcd screens, we have to say that price and size are united. We can find different sizes and the bigger the size, the more expensive the screen. Thus, 1 or 2,5 inch E-Ink screens They have a price of 25 euros per unit. The larger size panels can reach 1.000 euros per unit.

How to connect an LCD screen to Arduino?

The connection between an LCD screen and Arduino is very simple. In principle we have to follow the pins mentioned above and connect them to the Arduino board. The connection diagram would be the following:

Schematic for connecting an LCD screen and Arduino

But it is not the only thing we have to take into account to connect the LCD screen to Arduino. What's more we have to use a library that will help us to give the program that we create the necessary code to make it work correctly with the screen. This bookstore it's called LiquidCrystal.h and it can be obtained for free through the official Arduino website. This library must be used like the rest of the libraries, invoking it at the beginning of the code as follows:

#include <LiquidCrystal.h>

A simple and fast way for the Arduino board to work with an LCD screen.

Is it advisable to use an LCD screen for our project?

Continuing with the above, we have to ask ourselves if it is really convenient to have an LCD screen and Arduino for our personal project or project. Personally, I think that for certain projects it is necessary and for the rest of them it is something more personal than necessary. For example, we can talk about the latest models of 3D printers, models that only add in some cases the LCD display and nothing else, but the price of the model is significantly more expensive.

In these cases I do not think that an LCD display is needed, but this is not the case in certain projects where the LCD display is very important. Examples of the latter are projects such as watches, a game console or simply a GPS locator. Projects that need to have a graphical interface to function effectively. What we say may be silly, especially for the most expert users, but any component can make any project more expensive and even make it unviable. Hence, it is important to assess whether our project should have an LCD screen or not.

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

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



  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

Spanish quizTest Catalanspanish quiz