Get Started with Altium Upverter, Sign Up Now.
Many projects that collect data of some kind can be made more user-friendly if a display is added directly to the device rather than using a serial or HDMI monitor. This can also act as an input device if a touchscreen is used. There are a variety of display options available on the market, and Arduino shields are available which provide an easy way to interface with a display for Arduino projects. Let’s take a look at what you can add to your next Arduino project.
Liquid Crystal Display
These are the most common type of displays used in simpler projects. They are simple to operate, consume a small amount of power, and are very cheap. They usually include an array of characters, with some displays having a backlighting option for ease of reading in low light. It is possible to attach them directly to an Arduino, but they use many pins on the board. An I2C adapter can be used to control the display with only 4 pins.
These screens more desirable than a 7-segment display as they can display a large variety of characters. There is a LiquidCrystal library that you can use to control the LCD, although you will need a different adapter if you are using I2C. Here is a video tutorial on how to set up and use this type of display.
A 16×2 LCD display that can connect via I2C
These are simple displays with 8 LEDs (7 lines and 1 dot) that work pretty much like any LED, where a forward bias will light up the diode. Different numbers or characters can be formed by selectively lighting the segments. They are available in either common anode or common cathode configuration. A good tutorial for using these simpler displays can be found here, where you’ll learn how to interface this display with an Arduino board. These displays come in a variety of sizes ranging from single digits to an array of characters. If you just need to display numbers or a small number of letters (for example, with a door keypad or a timer), then you can give your project a cool retro feel with 7-segment displays.
7-segment display (single and array)
These displays were used in old cell phones, where the background was grey and the font was simply a darker shade of grey. These are monochrome LCD displays with 84×48 pixel screen size. These cheaper modules can display text (even multiple lines, depending on the library being used) and images. Although the refresh rate is slow for animations, they work well for simple text display. This display usually comes with a backlight. It has a CMOS LCD controller and these displays only run at about 0.5 mA when on without backlighting. They also have a sleep mode, making them convenient for battery-operated devices.
5110 LCD display from Adafruit
If you are looking for something more than a 5110 LCD display, an OLED display can be a good option. At first glance, they look like the 5110 display, but they are significantly better. While the standard screen is 0.96” in monochrome with 128×64 pixels, they are available in a variety of sizes and colors, offering a versatile display for Arduino projects. Their refresh rate is also higher than many other displays. They can communicate with Arduino using I2C, so they do not use a lot of pins. These displays are usually thinner and lighter than an LCD, and they provide higher contrast than an LCD because no backlight is required. The price for these displays is slightly higher than a typical LCD.
OLED display for Arduino projects
Thin-film-transistor (TFT) LCDs are a step up in quality when your project requires a sophisticated display. They are available with or without touchscreen capabilities. They provide high resolution and can display thousands of unique colors. Often they have an SPI interface that integrates naturally into Arduino boards. They consume more power than other displays, but the display quality is better and they come in a similar price range. They usually come with a shield for easy integration. Touchscreens can be especially useful for cases where projects need user feedback and input.
TFT LCD that connects to a standard header
The TFT LCD shown above connects to a standard header with pins, but more advanced TFTs can connect to an Arduino or other board with a flex cable. These boards can’t connect directly to a standard Arduino, but they can connect to a standard or custom shield board. Make sure to check how your display connects to your Arduino project as you may need to purchase or design a specific shield.
As the name suggests, an E-paper display (commonly found in E-readers) is intended to have the same look as natural paper. They differ from LCD and OLED displays in that they do not emit light, but rather reflect it, making the display very comfortable to read. Another great aspect of these displays is that they can store data for a long period of time without consuming power. This means they can display text or images after they are turned off, making them perfect for low power mobile Arduino projects. Here is a tutorial for using them with Arduino.
Use a Shield to Add a Display for Arduino Projects
Any of these displays can be a great addition to a new Arduino project. The choice of the best display depends mostly on the display quality you desire and your intended budget. They usually have a shield or can be interfaced directly to the Arduino header pins. Many projects may require multiple components, rather than just a display. It may be better to design a custom shield that can be used to interface with more than one component.
If you’re interested in designing a custom display shield for your Arduino board, Upverter® provides an easy, browser-based platform for designing new PCBs from start to finish. You can easily pick an existing template from a vast range of open-source hardware projects, or you can import Arduino shield templates from Eagle libraries, available from Sparkfun or Adafruit. You can then proceed to lay out the design and make your own shield.