HD44780 character LCDs can be controlled from as few as 6 pins, but the Bus Pirate v3 only has 5 IO pins. What to do? We grabbed a common 74HCT595 IO expander chip and made an LCD adapter board. A version of this breakout is in the EEVblog video this week. You can build the adapter with a few parts and a bread board, or you can buy it ready-made at Seeed Studio for $9.00.
The most recent batch of Bus Pirate LCD adapters is now v3. It has clearer labeling and prettier graphics. More significantly, it’s the third release using standard PCB sizes, this one is DP6037, just like the Bus Pirate v3.6. While we were in there we changed the version to 3. Now there should be less confusion about compatibility: the v3 LCD adapter works with Bus Pirate v3x, a forthcoming v4 LCD adapter works with Bus Pirate v4x.
Read about the design below.
You can get a Bus Pirate LCD adapter v3 for $9.
Since the Bus Pirate v3 doesn’t have enough pins to drive the HD44780 directly, we had to add a serial shift register to drive it. The board also features hardware contrast, and brightness adjustment, as well as software backlight control.
74HCT595 serial shift register
To successfully control the LCD, more pins need to be added to the Bus Pirate. We tackled this problem by adding the ‘595 8bit serial shift registrar (IC1), which is decoupled with a 0.1uF capacitor (C1). It also drives an LED (LED1) through a 1K resistor (R1).
The LCD is controlled in 4bit mode, using 4 pins of the 74HCT595’s output for the D7-D4 LCD pins. Another 3 pins are used for LCD’s control signals. The LED (LED1) is driven by the 8th pin of the ‘595.
Here is a 10K trimmer which creates a voltage divider for contrast pin of the LCD. Turn it to adjust the contrast.
LCD’s have all sorts of different backlights. We included a bunch of jumpers to accommodate many different types. Make sure yours uses a simple voltage before connecting any of the jumpers.
Pin 15 is generally the anode of a common LCD backlight. It’s connected through a 100 Ohm trimmer labeled ‘Brightness’ on the board. Some LCD’s require a resistor on the backlight LED, some don’t, check your datasheet to be sure. If it does need it, we’ve included the trimmer on board. Connect the ‘ANODE’ jumper if you are sure your backlight requires a 5v supply. It will provide 5V to LCD pin 15 through the ‘Backlight’ trimmer.
The common backlight cathode (pin 16) of the LCD is connected to a 2-way jumper ‘Cathode’. It can be connected directly to ground, or to the collector of transistor ‘T1’. The transistors base is connected to the ‘AUX’ pin of the Bus Pirate giving you the ability to control the backlight through the Bus Pirate’s PWM command.
Some LCD’s feature opposite connections, where the backlight anode is connected to pin 16, and the cathode is connected to pin 15. In this case you’ll need to uses jumper wires crisscrossing between the two jumper footprints.
The breakout includes the most common 16pin header for HD44780 compatible LCDs.
A future version will also have an optional 2×8 header footprint, supporting those HD44780 compatible LCDs that use it..
Bus Pirate v3 IO header
The Bus Pirate controls the 74HCT595 serial to parallel chip over the SPI, using a hardware SPI module. The IO header on the LCD adapter connects directly to the Bus Pirate header to carry the SPI signals, as well as the pulse width modulator to control the backlight, and power for the LCD.
Find parts using the master partlist.
You can get one for $9.00 at Seeed.
Your purchases at Seeed Studio keep the open source project coming, we sincerely appreciate your support!