So, you’ve got an Arduino. You’ve learned some of the basics, maybe you have followed a beginner’s guide to get you started. What next?
Adding a display to your Arduino can serve many purposes. Since a common use for microcontrollers is reading data from sensors, a display allows you to see this data in real time without needing to use the serial monitor within the Arduino IDE. It also allows you to give your projects a personal touch with text, images, or even interactivity through a touch screen.
Many Arduino starter kits come with some form of simple display. There are also a variety of pre-built Arduino shields which have screens incorporated into them. While we have covered larger displays designed for the Raspberry Pi previously, there are several options available which are better suited to Arduino based projects.
In this article we will take you through the different types of display available, where to get them, and how to set them up.
1. Liquid Crystal Display
The liquid crystal display (LCD) is the most common display to find in DIY projects and home appliances alike. This is no surprise as they are simple to operate, low powered, and incredibly cheap.
This type of display can vary in design. Some are larger, with more character spaces and rows, some come with a backlight. Most attach directly to the board through 8 or 12 connections to the Arduino pins, making them incompatible with boards with fewer pins available. In this instance, buy a screen with an I2C adapter, allowing control using only 4 pins.
Available for only a few dollars (or as little as $1.95 on Aliexpress with included I2C adapter), these simple displays can be used to give realtime feedback to any project.
The screens are capable of a large variety of preset characters which cover most use cases in a variety of languages. Control your LCD using the Liquid Crystal Library provided by Arduino. The display() and noDisplay() methods write to the LCD, as shown in the official tutorial on the Arduino website.
Note: If you are using an I2C adapter for your LCD screen you will need to use the LiquidCrystal_I2C library instead.
If you prefer video tutorials, Circuit Basics have a great run through of setting up and using a 16×2 LCD:
2. Seven-Segment Displays
Are you looking for something simple to display numbers and a few basic characters? Maybe you are looking for something with that old school arcade feel? A seven-segment display might suit your needs.
If you haven’t come across these handy little displays before, our Buzz Wire Game uses one to display the game status:
These simple boards are made up of 7 LEDs (8 if you include the dot), and work much like normal LEDs with a common Anode or Cathode connection. This allows them to take one connection to V+ (or GND for common cathode) and be controlled from the pins of your Arduino. By combining these pins in code, you can create numbers and several letters, along with more abstract designs — anything you can dream up using the segments available!
For a full primer on how these displays work, look no further than this extensive beginner’s guide from AllAboutCircuits.
For a video guide to follow along with, Kristian Blåsol dedicated an episode of his Anything Arduino series to seven-segment displays:
3. 5110 Display
Next on our list is the 5110 display, also affectionately known as the Nokia display due to its wide use in the beloved and nigh indestructible Nokia 3310.
These tiny LCD screens are monochrome and have a screen size of 84 x 48 pixels, but don’t let that fool you. Coming in at under $2 on Aliexpress, these displays are incredibly cheap and usually come with a backlight as standard.
Depending on which library you use, the screen can display multiple lines of text in various fonts. It’s also capable of displaying images, and there is free software designed to help get your creations on screen. While the refresh rate is too slow for detailed animations, these screens are hardy enough to be included in long-term, always-on projects.
Sparkfun have an extensive guide to using these little LCDs, or for a quick introduction to the 5110, check out this video from MKMe Lab:
4. OLED Displays
For a step up in resolution and functionality, an OLED display might be what you are looking for. At first glance, these screens look similar to the 5110 screens, but they are a significant upgrade. The standard 0.96 Inch screens are 128 x 64 monochrome, and come with a backlight as standard.
They connect to your Arduino using I2C, meaning that alongside the V+ and GND pins, only two further pins are required to communicate with the screen. With various sizes and full color options available, these displays are incredibly versatile.
For a project to get you started with OLED displays, our Electronic D20 build will teach you everything you need to know — and you’ll end up with the ultimate geeky digital dice for your gaming sessions!
These displays can be used in the same way as the others we have mentioned so far, but their refresh rate allows for much more ambitious projects. The basic monochrome screen is available on Amazon.
5. TFT LCD
Thin-film-transistor liquid-crystal displays (TFT LCDs) are in many ways another step up in quality when it comes to options for adding a screen to your Arduino. Available with or without touchscreen functionality, they also add the ability to load bitmap files from an on-board micro SD card slot.
Arduino have an official guide for setting up their non-touchscreen TFT LCD screen. For a video tutorial teaching you the basics of setting up the touchscreen version, YouTuber educ8s.tv has you covered:
With the basic version of these screens costing less than $4, and the touchscreen editions coming in at under $10, these displays are another great choice for when you need a nice looking display for your project.
6. E-Paper Displays
Looking for something a little different? An E-paper (or E-ink depending on who you ask) display might be right for you. These screens differ from the others giving a much more natural reading experience, it is no surprise that this technology is the cornerstone of almost every e-reader available.
The reason these displays look so good is down to the way they function. Each “pixel” contains charged particles between two electrodes. By switching the charge of each electrode you can influence the negatively charged black particles to swap places with the positively charged white particles.
This is what gives e-paper such a natural feel. As a bonus, once the ink is moved to its location, it uses no power to keep it there. This makes these displays naturally low power to operate.
These hi-tech displays do come at a higher cost, with the 4.3-inch Waveshare screen coming in at over $50. For a full rundown of how to wire up and program these displays, YouTuber educ8s.tv once again is here to help:
This article has covered most options available for Arduino displays, though there are definitely more weird and wonderful ways to add feedback to your DIY devices.
Now that you have an idea what is out there, why not incorporate a screen into your DIY smart home set up? If retro gaming is more your thing, why not create your own tiny version of retro classic Pong on the Arduino?
The possibilities are endless, and we’d love to hear how you incorporated any of these displays into your projects. Have you come up with an unusual use for an Arduino Display? Are you using a screen we simply didn’t think of in your project?
Let us know in the comment section below!