Skip to Content

Top 7 Arduino Compatible Displays

Top 7 Arduino Compatible Displays

In this article, I will provide the essential details about the Top 7 Arduino compatible displays that are widely used with Arduino boards.

I will also discuss the interfacing of these displays with Arduino, and provide links to more in-depth articles that we have on each type of display.

We’ll discuss the pros and cons of each type of display, and what situations they are best suited for so that you can select the best display for your Arduino project.

Hardware components

Arduino Uno Rev3x1Amazon
Arduino Mega (Optional)x1Amazon
16 x 2 LCD Displayx1Amazon
GLCD Displayx1Amazon
Seven-Segment Displayx1Amazon
OLED Displayx1Amazon
TFT LCD Displayx1Amazon
TFT Touchscreen LCD Displayx1Amazon
Dot-matrix Displayx1Amazon
Breadboardx1Amazon
Jumper wiresx15Amazon
10K Potentiometerx1Amazon
USB cable type A/Bx1Amazon

Software

Arduino IDEArduino IDE

Makerguides.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to products on Amazon.com.

An Arduino display can serve a variety of purposes. Since micro controllers usually read data from sensors, a display allows you to see this information in real-time without needing to use the serial monitor within the Arduino IDE.

But there are different types of displays that you can use, and they each have theirs pros and cons.

1. Liquid Crystal Display

LCD screens(Liquid Crystals Display) are widespread electronics displays in various devices.

Although these LCDs are available in various sizes (16×1, 16×2, 20×4, etc.), they all share the same Hitachi LCD controller HD44780 so you can swap them easily.

Liquid Crystal Display

It can display 16 characters on each line in a 5×7 pixel matrix. This LCD is capable of displaying 224 different characters.

Command and Data Registers are present on this LCD. The command register and Data register store various values are given to the display.

To control the display, you must put the data from the image in the data register and instructions in the instruction registers. 

In your Arduino project, Liquid Crystal Library simplifies this, so you don’t need to know the low-level instructions.

You can vary the brightness using the potentiometer to be connected across the VEE pin.

Can an Arduino run an LCD display?

These LCDs can be controlled using two modes: 

  • 4-bit mode
  • 8-bit mode 

The 4-bit mode requires seven I/O pins from the Arduino, while the 8-bit mode requires 11 pins. For displaying on the screen, you can do most everything in a 4-bit way. It benefits you.

Wiring 16×2 LCD with Arduino UNO

This circuit diagram is self-explanatory. Most of Arduino’s projects use 4-bit mode. Because of that, it saves the Arduino Pins. 

The standard LCD pinout is given in the table below:

Pin no.Pin NameArduino ConnectionPin Description
1VSSGNDSignal ground
2VCC5 VLogic power for LCD
3VEE/VO10 kΩ PotentiometerContrast adjustment
4RSPin 2Register select
5R/WGNDRead/write
6EPin 3Enable Operation
7 to 14D0 – D7Data bus lines used for 8-bit mode
11 to 14D4 – D7Pin 4 – 7Data bus lines used for 4-bit mode
15LED+5 VAnode for LCD backlight
16LED-GNDCathode for LCD backlight
Wiring 16x2 LCD with Arduino UNO

We have a whole in-depth guide to learn more about the 16×2 LCD, so head over to our 16×2 LCD tutorial for more info on this display. If you’re interested in learning more about controlling a character I2C LCD with Arduino then check out the in-depth tutorial we have on this display type.

2. Graphical Liquid Crystal Display

The Graphical LCD (GLCD) is entirely different from ordinary LCD. Ordinary LCDs can only display simple text or numbers within a fixed size.

The GLCD has 128 * 64, equal to 8192 dots or 8192/8 = 1024 pixels, so apart from characters, you can display any graphical image, string, or character on this GLCD.

There are three different ways you can interface the GLCD with Arduino.

  •  4-bit Parallel Mode
  •  8-bit Parallel Mode
  •  Serial Mode

Many types of GLCD controllers are available in the market, like KS0108, SSD1306, ST7920, SH1106, and SSD1322.

Wiring 128×64 Graphical LCD with Arduino UNO

128×64 Graphical LCD Display Pinout is given in the table below:

Pin no.Pin NameArduino ConnectionPin Description
1GNDGNDGround
2VCC+5VSupply Voltage
3VO10 kΩ PotentiometerContrast Adjust
4RSPin A3Register Select
5RWPin A2Read / Write Control (Serial Data In)
6EPin A4Enable (Serial CLK)
7-14DB0 – DB7Pin 4- 11Data
15CS1PIn A0Chip select for IC1
16CS2Pin A1Chip select for IC2
17RSTRESETReset
18NC /VEENCNot Connected /LCD Negative Voltage
19A5 VBacklight LED Anode
20KGNDBacklight LED Cathode
Wiring 128x64 Graphical LCD with Arduino UNO

For a full guide on using a graphical LCD with Arduino, check out our article: Interfacing 128 x 64 Graphical LCD with Arduino

3. Seven-Segment Displays

A seven-segment display is a simple type of display. This display is the most common device for displaying digits (most of 0 – 9) and the alphabet.

Some displays can also show characters and images.

LEDs (Light-emitting diodes) or LCDs in seven-segment displays made it.

These displays contain 7-segments, and an extra 8th segment is used to display dots.

These seven-segment display circuit diagrams are shown below:

Seven-Segment Displays

There are two types of seven-segment displays available in the market. According to the type of application, these displays can be used.

  • Common Anode Display
  • Common Cathode Display

The most common electronic devices like microwave ovens, calculators, washing machines, radios, digital clocks, etc., display numeric information.

Wiring 7-Segment Display with Arduino UNO

7-Segment Display Pinout is given in the table below:

Pin no.Pin NameArduino Connection
1aPin 4
2bPin 5
3cPin 6
4dPin 7
5ePin 8
6fPin 9
7gPin 10 
8DPPin 11
Wiring 7-Segment Display with Arduino UNO

Read our TM1637 Seven-Segment Display article for more detailed information about using this type of display.

4. OLED Displays

The organic light-emitting diode (OLED) is a tiny screen meaning 0.96 inch OLED display module.

This Display is super-light, almost paper-thin, flexible, and produces a crisper picture.

Drivers for OLED displays such as SSD1306 and SH1106 differ in communication interfaces, size, and colors. But, the SSD1306 controller’s versatility.

  • Communication interface: I2C, SPI
  • Size: 128×64, 128×32 etc.
  • Color: White, Blue, etc.

Wiring SSD1306 OLED with Arduino UNO

SSD1306 OLED Display Pinout is given in the table below:

Pin no.Pin NameArduino ConnectionPin Description
1GNDGNDGround
2Supply (VDD, VCC,5V)+5VIt can be powered by either 3.3V or 5V
3SDA (D1, MOSI)Pin 11 / Pin A4There is the data pin of both; it can either be used for I2C or SPI
4SCK (D0, SCL, CLK)Pin 13/ Pin A5The display supports both I2C and SPI, for which the clock is supplied through this pin
5RES(RST, RESET)Pin 8Reset module (SPI)
6DC (A0)Pin 9Data Command ( SPI)
7Chip Select (CS)Pin 10Chip select (SPI)

Wiring SSD1306 OLED with Arduino UNO ( I2C )

Wiring SSD1306 OLED with Arduino UNO

Wiring SSD1306 OLED with Arduino UNO ( SPI )

Wiring SSD1306 OLED with Arduino UNO

See our full guide on how to use the SSD1306 OLED display with Arduino.

5. TFT LCD Display

TFT LCD is a variant type of LCD that uses Thin-film-transistor (TFT) technology to improve image qualities such as addressability and contrast. 

A TFT LCD is an active-matrix LCD, in contrast to passive-matrix LCDs or simple, direct-driven LCDs with a few segments. Easy to Interfacing with a TFT LCD and Arduino. 

You can start the display using the I2C and SPI communication interface between the Arduino and the TFT LCD.

In the market, various sizes of TFT LCD are available.

  • 1.8” Display with a resolution of 160 x 128 Pixels.
  • 2.0” Display with a resolution of 220 x 176 Pixels.
  • 2.4” Display with a resolution of 320 x 240 Pixels.
  • 2.8” Display with a resolution of 320 x 240 Pixels.
  • 3.2” Display with a resolution of 400 x 240 Pixels.
  • 3.5” Display with a resolution of 480 x 320 Pixels.

Wiring TFT LCD with Arduino UNO

The table below shows the 1.8 TFT wiring to Arduino UNO.

Pin no.Pin NameArduino ConnectionPin Description
1SCKPin 13Clock line
2SDAPin 11Data line
3A0 or DCPin 9Data command
4RESETPin 8Reset module
5CSPin 10Chip Select
6GNDGNDGND
7VCC5 VSupply Voltage
8LED3.3VBacklight
Wiring TFT LCD with Arduino UNO

For a more detailed guide on interfacing a TFT display with Arduino, check out our article about Interfacing a 1.8″ TFT colour TFT display with Arduino Uno.

6. TFT LCD Touchscreen Display

TFT touchscreen are fantastic graphical interfaces that can be used with different microcontrollers; they have good graphics and pixel mapping abilities. 

It has touch capabilities and an SD card drive in the back; additionally, It can be plugged directly into an Arduino Board. 

You can draw text, images, and shapes to the screen with the TFT library.

The 2.4″ TFT LCD module features a bright backlight(4 white LEDs), colorful 240×320 pixels display, and RGB pixel control for generator resolution than black and white displays.

It comes with a 2.4″ TFT LCD touchscreen with 320×240 pixels and 16-bit color. It also has a resistive touch screen, so you can easily detect your finger presses anywhere on the screen.

Wiring TFT Touch screen LCD with Arduino UNO

As with other display devices, the module has a simple Pin configuration.

Wiring TFT Touch screen LCD with Arduino UNO

POWER Pins

Pin no.Pin NameArduino ConnectionPin Description
1GNDGNDpower GND
25V5V5V power input
33.3V3.3V3.3V power input, this pin can be disconnected

Command  Pins

Pin no.Pin NameArduino ConnectionPin Description
1LCD_RDPin A0LCD bus read signal
2LCD_WRPin A1LCD bus write signal
3LCD_RSPin A2LCD bus command/data selection signallow level: command, high level: data
4LCD_CSPin A3LCD bus chip select signal, low level enable
5LCD_RSTPin A4LCD bus reset signal, low-level reset

SD Card Reader PIns

Pin no.Pin NameArduino ConnectionPin Description
1SD_SCKPin 13SD card SPI bus clock signal
2SD_D0Pin 12SD card SPI bus MISO signal
3SD_D1Pin 11SD card SPI bus MOSI signal
4SD_SSPin 10SD card SPI bus chip select signal, low level, low level enable

LCD Data Pins

Pin no.Pin NameArduino ConnectionPin Description
1LCD_D2Pin 2LCD 8-bit data bit2
2LCD_D3Pin 3LCD 8-bit data bit3
3LCD_D4Pin 4LCD 8-bit data bit4
4LCD_D5Pin 5LCD 8-bit data bit5
5LCD_D6Pin 6LCD 8-bit data bit6
6LCD_D7Pin 7LCD 8-bit data bit7
7LCD_D0Pin 8LCD 8-bit data bit0
8LCD_D1Pin 9LCD 8-bit data bit1

For a more detailed guide on using a TFT touchscreen display with Arduino, check out our article about Interfacing Arduino With A Touchscreen Display (2.8″ TFT colour display)

7. Dot-matrix Display

Dot Matrix LED display is used for displaying information. Dot-matrix refers to a two-dimensional array of LEDs that can represent symbols, characters, and images.

Cell phones, televisions, and other modern display applications use Dot matrices. 

LED matrices are available in dimensions like 5 x 7, 8 x 8, 16 x 16, 32 x 32, and different styles like single color, dual color, multi-color, or RGB LED matrix. 

It is usually available as a single color LED matrix, but the dual color and RGB LED Matrix are also possible.

The 8×8 matrix consists of 64 dots or pixels. In dot matrices, a total of 16 pins are occupied.

You can see the diagram of it using the following figure.

8x8 Dot Matrix
8×8 Dot Matrix

As you can see, all anodes of the same row are connected to one pin, and all cathodes of the same column are connected to another pin. It has 8-row pins and 8-column pins.

Wiring Dot-matrix Display with Arduino UNO

Dot-matrix Display Pinout is given in the table below:

Pin no.Pin NameArduino Connection
1ROW_1Pin 2
2ROW_2Pin 3
3ROW_3Pin 4
4ROW_4Pin 5
5ROW_5Pin 6
6ROW_6Pin 7
7ROW_7Pin 8
8ROW_8PIn 9
9COL_1Pin 10
10COL_2Pin 11
11COL_3Pin 12
12COL_4Pin 13
13COL_5Pin A1
14COL_6Pin A2
15COL_7Pin A3
16COL_8Pin A4
Wiring Dot-matrix Display with Arduino UNO

For more details, see our full guide on using a Dot-matrix Display with Arduino.

How many displays can an Arduino run?

Arduino can run a maximum of two displays simultaneously, but it depends on the type of display and what else you have connected to your output pins. You can run more displays than this if you add additional hardware.

Comparison of Arduino Compatible Displays

In this section, I will tell you how to select the display for your electronics project with an Arduino Board.

If you are using MCU with more GPIOs, have enough physical space, and want to display different characters for any data, information, and graphics, then you can go for Liquid Crystal Display (LCD) or Graphical Liquid Crystal Display (GLCD).

They are primarily used in embedded systems.

If you only want to display some numbers and alphabets, then Seven-Segment Display or Dot-matrix Display is best suitable for such a project.

It is mainly used in digital clocks, calculators, counters, electronic meters, etc.

If you have a very compact project and you want to use fewer GPIOs and color graphics, then OLED is the best option. It is widely used in smartwatches, pulse oximeters, etc.

If the project needs high-quality graphics with GUI and also if you want touch operation, then TFT LCD or TFT LCD touchscreen is the most suitable.

It is widely used in mobile devices, cameras, aircraft devices, etc.

Conclusion

After this tutorial, you can easily choose the right displays corresponding to your project.

You have learned how to connect your displays with the Arduino Board, and you can follow the links I shared to more in-depth tutorials that we have on this site for each different display type. 

I hope you found this tutorial informative. If you did, please share it with a friend who likes electronics and making things!

I would love to know what project you plan on building or have already made with the Arduino.

If you have any questions or suggestions or think things are missing in this tutorial, please leave a comment below.