3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

HD44780 LCD to I2C adapter board for the Bus Pirate

HD44780 LCD to I2C adapter board for the Bus Pirate
Cheap character LCDs based on the HD44780 chipset come in a variety of sizes: 2x16, 4x20, etc. These displays have two standard interface modes, 4bit and 8bit parallel. 8bit requires a total of 11 data lines, 4bit requires 7 (6 for write-only). Some LCDs support an additional serial data mode, like the VFD I covered at Hack a Day.

HD44780 LCDs are generally 5volt parts with a separate supply for the back light. The Bus Pirate only has five 5volt tolerant I/O pins, so we made a small adapter board with enough pins to control the LCD. The Bus Pirate controls the adapter board through its LCD interface library.

Continue reading about the Bus Pirate HD44780 character LCD adapter board and interface library.

I can have PCBs, kits, or assembled kits produced by Seeed Studio for about $15, including worldwide shipping, more here.

I couldn't include some formatting elements and HTML tables in an Instructable, you can see the original post at the Dangerous Prototypes blog.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Hardware

Hardware
Overview

In this article we outline an I2C adapter board for HD44780-based LCDs. We demonstrate it with a Bus Pirate universal serial interface. The Bus Pirate source code for the I2C-based HD44780 interface library is public domain, so it's free to adapt to your own projects.

Hardware

Full size circuit image [PNG]. The circuit and PCB were designed with the free version of Cadsoft Eagle. The design files can be downloaded from the Bus Pirate SVN. Before using the adapter board, be sure to verify the datasheet for your LCD against the adapter pinout. Not all LCDs are the same.

PCF8574 I/O expander IC

This is a simple 8 I/O expander chip that's controlled through the two-wire I2C interface. The I2C interface is accessible from header JP1.

The PCF8574 works from 2.5 to 5volts. The I/O pins operate at the supply voltage, so if we feed it 5volts it interfaces the LCD at 5volts. C1 (0.1uF) decouples the IC from fluctuations in the power supply.

One pin of the PCF8574 controls a 3mm LED (LED1) through current limiting resistor R2 (1000 ohms). The LED lights to indicate successful communication between the Bus Pirate and the adapter. The PCF8574 can't source enough current to power the LED, so we power the LED from the 5volt supply and switch the ground.

LCD

The adapter board communicates with an HD44780-based character LCD in 4bit parallel interface mode. The 4bit interface pins - RS, RW, EN, and D4-D7 - are connected to seven of the PCF8574 I/O pins. We like to use 0.1" male pin header to connect the adapter to an LCD, you can usually lean the LCD against the pins to create sufficient contact for a quick test.

Trimmer resistor R1 (10K) provides a contrast adjustment voltage to pin 3 of the LCD header.

We didn't connect the backlight pins because there's so many different backlight styles. Providing power for an LED backlight might damage a screen that requires a negative voltage supply.

Power supply

Most LCDs require 5volts, provide an external power supply through header JP2. We provided a second power supply pin to connect the Bus Pirate's pull-up resistors.

PCB

The circuit and PCB were designed with the free version of Cadsoft Eagle. The design files can be downloaded from the Bus Pirate SVN. The PCB is a single-sided, all through-hole design with a single jumper wire (shown in red).

We can have PCBs, kits, or assembled kits produced by Seeed Studio for about $15, including worldwide shipping, more here.

Partlist

Part
Value (all through-hole)

C1
0.1uF/10volts+

R1
10000 (10K) ohm single turn trimmer/potentiometer, 6mm

R2
1000 (1K) ohm resistor, 1/4 watt

LED1
3mm (T1) LED, red

JP1+JP2
0.1" male header, 5 pins

IC1
PCF8574N, 8bit I2C I/O expander DIP16

ICS1
16 pin DIP socket for IC1

I couldn't include some formatting elements and HTML tables in an Instructable, you can see the original post at the Dangerous Prototypes blog.
« Previous StepDownload PDFView All StepsNext Step »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
128
Followers
30
Author:ian(DangerousPrototypes.com)