Ameya Angadi
Published © GPL3+

Simplified LCD Breakout Board for Arduino

Simplify your LCD-Arduino connections with a custom board that streamlines wiring and offers easy contrast and backlight control.

IntermediateFull instructions provided204
Simplified LCD Breakout Board for Arduino

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Male-Header 36 Position 1 Row- Long (0.1")
Male-Header 36 Position 1 Row- Long (0.1")
×12
Female Header 20 Position 2 Row (0.1")
Female Header 20 Position 2 Row (0.1")
×16
Single Turn Potentiometer- 100k ohms
Single Turn Potentiometer- 100k ohms
×2

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

Connections

Use these connections to setup your breakout board

Arduino Connections

Connect Arduino to the LCD breakout board as shown

Code

LCD Breakout Board

Arduino
A simple code to operate the LCD Breakout board.
/*
 * Project Name: Simplified LCD Breakout Board for Arduino
 * 
 * License: GPL3+
 * This project is licensed under the GNU General Public License v3.0 or later.
 * You are free to use, modify, and distribute this software under the terms
 * of the GPL, as long as you preserve the original license and credit the original
 * author. For more details, see <https://www.gnu.org/licenses/gpl-3.0.en.html>.
 * 
 *
 * Copyright (C) 2024  Ameya Angadi
 *
 *
 * Code Created By: Ameya Angadi
 * Last Modified On: August 25, 2024
 * Version: 1.0
 *
 */



#include <LiquidCrystal.h>

// Pin configuration for the LCD Breakout Board
const int RS = 12, E = 11, D4 = 5, D5 = 4, D6 = 3, D7 = 2;

// Initialize the LiquidCrystal object with the defined pin numbers
LiquidCrystal LCD(RS, E, D4, D5, D6, D7);

// Variable to indicate if the test has been completed
int test = 0;

void setup() {
  // Initialize The LCD with 16 columns and 2 rows
  LCD.begin(16, 2);

  // Display the initial loading screen before starting the test
  LCD.print("LCD Custom Board");
  delay(750);
  LCD.setCursor(0, 1);
  LCD.print("Loading");
  for (int a = 0; a < 3; a++) {
    delay(750);
    LCD.print(".");
  }
  delay(500);
  LCD.clear();  // Clear the LCD after the loading screen
}

void loop() {
  // Loop to create a scrolling effect that turns on all character positions (pixels) on the LCD.
  for (int i = 0; i <= 31; i++) {

    // Exit the loop if the test has already been completed
    if (test == 1) {
      break;
    }

    // Set the cursor and print a solid block character to check all the character positions (pixels) on the LCD.
    LCD.setCursor(i, 0);
    delay(200);
    LCD.print((char)255);  // Print a solid block character.

    // Start printing on the second line if the cursor moves past the 16th position
    if (i > 15) {
      LCD.setCursor(i - 16, 1);
      LCD.print((char)255);

      // If the end of the second line is reached, indicate that the test is completed
      if (i == 31) {
        delay(2000);
        LCD.clear();
        delay(200);
        LCD.setCursor(0, 0);
        LCD.print("Test Completed");
      }
    }
  }

  test = 1;  // Set 'test' to 1 to indicate the test is completed
  delay(3000);

  // Clear the LCD to display the credits
  LCD.clear();
  LCD.setCursor(0, 0);
  LCD.print("Designed by-");
  LCD.setCursor(0, 1);
  LCD.print("Ameya Angadi");
}

Credits

Ameya Angadi

Ameya Angadi

5 projects • 2 followers

Comments