Learning Objective
Learn how to communicate with the user by displaying text messages and sensor data on a 1602 LCD Screen using the I2C protocol.
Visual Output (LCD Display)


Hardware: 1602 Character LCD Module with I2C


Dashboard: LCD Display Control Card
Theory: Talking to the User
The 1602 Screen
Today the board gets a screen to write on. The 1602 LCD gets its name because it displays 16 characters per line and has 2 lines.
Tiny molecules in a liquid crystal turn when a voltage reaches them, blocking the backlight to make dark dots.
The I2C Protocol
The bare screen has 16 pins, and about 6 to 10 would need wires to the ESP32. Too messy! So the screen wears a small backpack called an I2C Adapter.
I2C (Inter-Integrated Circuit) is a protocol, a set of rules for how chips talk. It uses just TWO wires:
- SDA (Data): carries the information.
- SCL (Clock): keeps the timing so no bits get lost.
The Grid System
The screen is a grid of boxes, like the game Battleship. You pick a box with (column, row):
(0,0) is the top-left.
(15,0) is the top-right.
(0,1) is the bottom-left.
On MakerBuddy, line 1 always starts at (0,0) and line 2 at (0,1). The board moves the cursor for you.
For Teachers
Use I2C to explain protocols: each device has an address, so many can share two wires. MakerBuddy joins all its I2C sockets together, and the LCD (address 0x27) is the device the board talks to.
For Parents
Microwaves, printers and car dashboards use text screens like this. Learning to control this screen is a first step toward building the screens on real devices.
Try It: Write on the LCD
Interactive demo · no kit needed
Play with a pretend MakerBuddy board and its web page, right here.
Follow the steps one at a time. Got the kit? You can switch to the real board inside.
Activity: Electronic Billboards
Activity Duration: 25 minutes
Part 1: Connection
Unplug the USB cable. Plug the LCD into one of the connectors marked I2C on the left edge of the board. Match every wire by its printed name: VCC to VCC, GND to GND, SDA to SDA, SCL to SCL. Don't go by position: the LCD's pins are in a different order from the board's. Then plug the USB cable back in.
Part 2: Hello World
- Go to the LCD Display card on the dashboard.
- Select the Custom radio button.
- Type "Hello Class!" in the first text box (line 1).
- Click 📝 Update (📝 Update LCD in the browser extension). The board redraws custom text every 5 seconds, so your message appears within about 5 seconds.
Part 3: Positioning
- Put your name on the top line.
- Put "MakerBuddy" on the bottom line.
Line 1 can't be empty, or Update does nothing. Spaces at the start or end are removed, so every line starts at the left edge. (The browser extension keeps spaces, and there an empty line 1 brings back the board's own screens.)
Part 4: Dynamic Data & Wildcards
In Custom Mode, you can mix text with live sensor data. Put wildcards (names in curly braces) in your text, and the MakerBuddy board replaces them with real values. It updates them every 5 seconds, even with the dashboard closed!
- {temp} - Temperature (°C, one decimal, e.g. 24.0; shows 0.0 if no DHT11 is plugged into connector 25)
- {humidity} - Humidity (%, one decimal)
- {distance} - Distance (cm, one decimal)
- {pot} - Potentiometer (%)
- {light} - Light Level (%)
- {gas} - Gas Level (0–100)
- {ds18b20} - Probe temperature (°C, one decimal)
- {soil} - Soil moisture (%)
- {button} - Push button pressed (YES/NO)
- {motion} - Motion (YES/NO)
Each line has 16 boxes. The counter under each text box shows the columns your line uses. A wildcard counts as its value (24.0 is 4 columns), not its name. Lines that are too long are not sent.
Try typing these:
Temp: {temp}CLight: {light}
Note
No text? Check the blue square on the back of the screen. That is the Contrast Potentiometer. Turn it with a screwdriver until white boxes or text appear.
Challenge: The Marquee
Scrolling Text
The screen is only 16 characters wide. What if your message is longer?
Challenge Goal
Make a scrolling "Marquee" sign by hand.
- Pick a long word: "SUPERCALIFRAGILISTIC" (20 letters).
- Write the first 16 letters: "SUPERCALIFRAGILI".
- Drop the first letter and add the next one: "UPERCALIFRAGILIS".
- Keep going! Scrolling signs work like this, moving one letter at a time.
Bonus: The Status Monitor
Can you make a mini dashboard?
- Line 1: "Temp: 24C"
- Line 2: "Hum: 60%"
Change only the numbers and keep the labels.
Discussion Questions:
- Why does I2C need only 2 signal wires (SDA and SCL), plus 2 for power? (Data travels one bit after another.)
- What can't this screen do? (Only text, no pictures, small size.)
Key Takeaways
✓ I2C Protocol
Devices share two signal wires (Data and Clock), and each has its own address. The board talks to the LCD at 0x27.
✓ Character Displays
Each of the 32 boxes is a tiny grid of 5 × 8 dots. The screen shows only built-in letters and symbols, not pictures.
✓ Coordinates
You place text with (column, row), just like in computer graphics.
✓ User Feedback
The screen lets the board tell people what it is doing, like "Processing..." or "Error!".
Coming Up Next Week:
Week 20: Algorithmic Thinking & Flowcharts
Learning Support
Use this quick guide to help every learner understand, practice and explain Visual Output (LCD Display).
For students
Try it in three steps
- Say it: explain the main idea in one simple sentence.
- Show it: Connect I2C LCD. Print sensor values dynamically to the screen.
- Stretch it: Make a hand-made marquee by shifting a long word across the 16-column screen one letter at a time, then build a two-line status monitor with {temp} and {humidity}.
Checkpoint: What was your input, what decision or process happened, and what was the output?
For teachers & parents
Coach without taking over
- Before: ask the learner to predict what will happen and why.
- During: use prompts such as “What changed?” and “What could you test next?” instead of giving the answer.
- After: ask for a 30-second explanation, one piece of evidence and one improvement.
Look for: safe handling, correct vocabulary, a result the learner can demonstrate, and an explanation in their own words.
Did you get it?
Three quick questions. Pick an answer to see whether it is right, and why.
1What does "1602" in the 1602 LCD tell you?
2Why does the LCD use the I2C connection with just two signal wires?
3What does a wildcard such as {temp} do in the LCD's custom text?
