LCD Lyrics Typewriter

An Arduino project that scrolls song lyrics across a 16x2 LCD 1602 screen with a typewriter typing animation.

Side quest Arduino / LCD 1602Love Me Not (Remix) by Ravyn Lenae ft. Rex Orange County
Demo
Walk through

How it works

  • Lyrics are split into words and packed into 16-character lines.
  • Long lyrics auto-page across multiple screens.
  • Each screen types out character by character with a configurable speed.
  • Display time is split evenly across screens so nothing rushes.

Hardware required

ComponentDetails
Arduino (any)Uno, Nano, Mega, etc.
LCD 160216 columns x 2 rows
10kΩ PotentiometerFor contrast adjustment
Jumper wires -
BreadboardOptional

Wiring

LCD PinArduino Pin
RS12
EN11
D45
D54
D63
D72
VSSGND
VDD5V
V0Potentiometer middle pin
A (backlight+)5V
K (backlight−)GND

Dependencies

LiquidCrystal - built into the Arduino IDE, no install needed.

Getting started

  1. Clone or download this repo
  2. Open lcd-lyrics.ino in the Arduino IDE
  3. Wire up your LCD (see table above)
  4. Upload to your Arduino
  5. Enjoy the show

Customization

Change typing speed

In each showLyric() call, the third argument controls typing speed in milliseconds per character:

showLyric("Your lyric here", 3000, 60); // 60ms per character
Snappy
30ms
Natural
60ms
Dramatic
100ms

Add your own lyrics

Replace or add lines in loop():

void loop() {
  showLyric("Your lyric here", 3000, 60);
  showLyric("Another line", 3000, 60);
}

The second argument is how long (in ms) the lyric stays on screen total.