Arduino LCD message décor

Overview

This project aims to create a small message board decoration that fits in any room or office. This project will be based from Arduino and LCD character display. Most of our office tables where we work have plain stuff, so why not add an interactive and programmable text display décor according to your mood. The good thing for this project is we use only 4 wires to complete the circuit by utilizing the i2c module backpack for LCD which translated the 16-pin used by the LCD Display module into just 4 communication (i2c) wires to the Arduino. We use this approach to assemble the message board easily and have clean wiring arrangement and to also be able to fit the circuit in a small karton box. Now prepare the parts to be used.

Hardware requirements

For this project we will need the following:

Other accesories and tools you need:

  • Small karton/box
  • Cutter
  • Double sided tape

Circuit connection

Prepare the i2c module and LCD Display 2×16 character module. Start by connecting (soldering) the i2c module to the back of the LCD module. Follow the orientation below. If you want you may order an LCD module with i2c backpack module pre-soldered onto the LCD display board.

If you haven’t soldered the i2c module to the LCD follow the direction below. Insert the i2c module following the pin orientation. 

 

After inserting flip the board. Solder all pins of the i2c module to the LCD display module. Make sure to check that no pins are shorted from the pin beside it.

 

After soldering connect a female ended wire to the i2c backpack module’s i2c male pins. These are the GND, VCC, SDA and SCL. These pins will be connected together with the same pins on the Arduino board.

Now connect the other end of the wire to the i2c pins of the Arduino. The i2c pins on the Arduino board are GND, VCC, SDA (A4 pin) and SCL (A5 pin)

Check your connection:

i2c module GND to Arduino GND
i2c module VCC to Arduino 5V
i2c module SDA to Arduino SDA (A4)
i2c module SCL to Arduino SCL (A5)

Your circuit is ready. Connect your Arduino board to your computer.

Now before opening an Arduino IDE download the i2c backpack module Arduino library (download this: Arduino i2c library). You may also try this here (choose v1.2.1 or latest) or here LiquidCrystal_I2C and paste it into your Arduino libraries folder (ex. C:Program Files/Arduino/libraries/XXX). 

If you already opened an Arduino IDE you may need to close the IDE first. Then paste the i2c Arduino library above and open again the Arduino IDE after pasting it in the Arduino libraries folder.

The Arduino code

Upload the code from below.

#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Using version 1.2.1

// The LCD constructor - address shown is 0x27 - may or may not be correct for yours
// Also based on YWRobot LCM1602 IIC V1
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup()
{
lcd.begin(16, 2); // sixteen characters across - 2 lines
lcd.backlight();
// first character - 1st line
lcd.setCursor(0, 0);
lcd.print("Hello World!");
// 8th character - 2nd line
lcd.setCursor(0, 8);
lcd.print("-------");
}

void loop()
{
}

You should see the display in the LCD module. 

If you don’t see any text you may have to adjust the sensitivity of the LCD light, to do this go to the back of the i2c module and use a screw driver. Turn the potentiometer knob (small blue box) left or right until you see the text in the LCD module.

Now edit your code and remind yourself to clean your desk! 🙂

#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Using version 1.2.1

// use 0x27 address or try 0x3F if it does not work 
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup()
{
lcd.begin(16, 2); // sixteen characters across - 2 lines
lcd.backlight();
// first character - 1st line
lcd.setCursor(0, 0);
lcd.print("Good morning! :)");
// 8th character - 2nd line
lcd.setCursor(0, 1);
lcd.print("clean your desk!");
}

void loop()
{
}

You may want to create your own small box to insert all the parts and put it on your working table!

Project Enclosure

I want to be able to put this small message board anywhere like in my office working table or bedroom or even living room divider so I settled for a small spare box I got from my electronics modules. This way the message box will just stand firmly on a plane surface and I could connect a Wall Adapter DC power supply to the Arduino board.

Time to cut the hole inserts on the karton. We need to create the holes for the LCD display screen, Arduino USB port and Arduino DC Barrel Power port. I chose the corner to place the Arduino board so I could have access on the USB programming port and DC Barrel power port of the Arduino once I have the holes cut out. I estimated the measurements by placing the Arduino board inside and draw the line dimension of the USB and DC Barrel Jack. 

Then the LCD cutting lines on the box’s front cover.

Then cut the holes of the LCD Display, Arduino USB and DC Jack port.

After cutting the wholes I measured that the LCD and Arduino’s placement inserts on the holes firmly. Once confirmed and I was satisfied I placed a double sided tape at the back of the Arduino board.

Then I inserted the Arduino board on the slot matching the holes at the sides and stick the Arduino to the box’s base firmly using my fingers.

Now we can see we have access on the programming and power port. Looks good and accessible to me.

Then I inserted the LCD display module on the front box’s holes. I used a tape to attach the LCD module at the box. Take note of your LCD orientation. Here the i2c LCD backpack module is located at the bottom. Upon flipping when the karton lid is closed the LCD texts will be in the right orientation. You may use other way to attach the LCD for this like double sided tape or glue gun or even super glue! I’ve also done a small cut on the karton lid on the Arduino side to prevent the lid from touching the Arduino board and allowing the karton to be closed.

Now our small and programmable Arduino LCD message board is ready for display!

Place the small message board somewhere you like, mine I placed it at my work table. Then I connected the Wall Adapter power supply and see the message decor light up!!

 

Anytime I want to program the Arduino LCD display to change the message, I just connect the USB Cable and program it right away in my computer. And I’m reminded to clean my desk. ha! 

Going further

I tried to extend a little bit of the feature for this project. I want to be able to place it anywhere. So I added a 2 x Li-ion rechargeable battery and the battery holder with DJ jack and place it at the back of the box to serve as the base.

And the front view 🙂

Feel free to add or extend the project’s feature like using a 4×20 LCD Display module to have more characters or a small OLED display to display images. Also try a moving figure to make it more interactive.