LCD Control
As part of Cornerstone Engineering at Northeastern University, I completed an electronics skillbuilder assignment connecting a digital output device to a Raspberry Pi Pico microcontroller. I chose an LCD display with an I²C interface to demonstrate both hardware integration and programming skills. This version of the LCD uses an I²C interface, which means it only needs two communication pins instead of many. The black board connected to the back of the LCD is the I2C chip. This turns all the 16 signal wires into just two. It does this by sending the data one piece at a time through SDA (data) and SCL (clock). This way, the screen still gets all the info it needs, but with way fewer wires to connect.Instead of sixteen signal wires, the adapter board converts everything into just two pins: SDA (Serial Data) and SCL (Serial Clock).
I designed a functional LCD display system that communicates with the Raspberry Pi Pico via I²C protocol. The final project successfully displays custom text on a 16×2 character LCD screen using custom Python code and proper hardware connections. The code initializes I²C communication, detects the LCD’s address, configures the display settings, and transmits text character by character to appear on screen.
My initial setup followed the wiring diagram correctly with functioning code, yet the LCD remained blank. I systematically checked connections, verified the I²C address, and confirmed power voltage, but nothing appeared. During closer hardware inspection, I discovered a potentiometer on the back of the I²C module that controls display contrast. It was set to minimum, making the display invisible even though it was working. By adjusting the potentiometer with a screwdriver, the text immediately appeared.
Setup:
Connecting Pins:
Coding:
This project demonstrated hardware debugging, I²C communication implementation, and systematic troubleshooting through the Engineering Design Process. The main lesson learned was to check hardware configurations, including physical adjustments like potentiometers, before assuming software issues. Sometimes the simplest solutions resolve seemingly complex technical problems.
Feel free to play the music and explore the page!