Tag Archives: HD44780 LCD controller

Driving alphanumeric LCDs with three wires

Writing for HackADay, Brian Benchoff notes that the HD44780 LCD controller is currently the de-facto method of choice for adding a small text display to Maker projects.

“If you need a way to display a few variables, a few lines of text, or adding a small user interface to a project, odds are you’ll be using one of these parallel LCDs,” says Benchoff.

“These displays require at least six control lines, and if you’re using a small microcontroller (MCU) or are down to your last pins, you might want to think about controlling an LCD with a shift register.”

Indeed, a Maker by the name of Matteo recently chose the ubiquitous ’595 shift register configured as a serial to parallel converter to drive his LCD, a method which requires only three pins on an Atmel-based Arduino board. 

On the software side, Matteo modded the stock Arduino LiquidCrystal library and posted it on Gitbub.

“Most of the functions are left untouched, but for this build the LCD can only be used in its four bit mode,” Benchoff adds.

“That’s not a problem for 99% of the time, but if you need custom characters on your LCD you can always connect another shift register.”

Interested in learning more? You can check out Matteo’s official project page here.