Getting an LCD to work

Hi guys,

I'm recently new to arduino and I'm planning on making a project that uses an LCD to display information that the project collects.

Any tips on wiring and sample codes I could use to practice working with a LCD

Many thanks guys

It sounds as if you are at a early stage in all this.
Does a 1602 screen with I2C backpack meet your needs ? If not, what would ?
Once that is clear, you can start thinking about how to connect and drive it.

Here are some choices of display depending on your needs:

128x64 mono OLED (SSD1306) - $2-3 each, easy to interface (2-wire I2C + vcc/gnd), visible in daylight and darkness
84x48 mono LCD (Nokia 5110) - $2-3 each, a bit more challenging to wire (6-8 wires depending on backlight and CS choices)
128x64 mono LCD (ST7920/UC1701) - $4-5 each, similar SPI wiring (6-8 wires), higher quality than the Nokia 5110
240x320 color LCD (ILI9341) - $5-9 each, similar SPI wiring, come in assorted sizes from 2-3.5"

All are well supported by Linux/Arduino and easy to find from many vendors
I've written compact code to support those and more (available on my github -

As bitbank mentioned, there are many options for displays. Some things to consider:

There displays with controller and without controller. Displays without controller require special hardware and will (probably) not run with Arduino Boards: Choose a display with controller (e.g. those metnioned from bitbank)!

True color (RGB, TFT) displays are nice and cheep, but keep in mind, that you need to transfer a lot of data to it. Arduino Uno will be too slow and even with fast Arduino Boards, a flicker free solution is difficult.

Ensure that there is a library for your display. You can search in the Arduino IDE Library manager for the display controller to find a suitable library.

For my own lib, I have once made a tutorial:

I like this video here (although it refers to my older u8glib, instead of u8g2), but it points out the most important thing: Create a wiring table and read the docs…: