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 1602•Love 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
| Component | Details |
|---|---|
| Arduino (any) | Uno, Nano, Mega, etc. |
| LCD 1602 | 16 columns x 2 rows |
| 10kΩ Potentiometer | For contrast adjustment |
| Jumper wires | - |
| Breadboard | Optional |
Wiring
| LCD Pin | Arduino Pin |
|---|---|
| RS | 12 |
| EN | 11 |
| D4 | 5 |
| D5 | 4 |
| D6 | 3 |
| D7 | 2 |
| VSS | GND |
| VDD | 5V |
| V0 | Potentiometer middle pin |
| A (backlight+) | 5V |
| K (backlight−) | GND |
Dependencies
LiquidCrystal - built into the Arduino IDE, no install needed.
Getting started
- Clone or download this repo
- Open
lcd-lyrics.inoin the Arduino IDE - Wire up your LCD (see table above)
- Upload to your Arduino
- 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 characterSnappy
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.