LCD character modules are widely available and are very reasonably priced. They come in many different sizes (16×1, 16×2, 20×2, 20×4, etc.) and in many different colors. Nearly all electronic suppliers sell them, and you can even get them on Amazon and eBay.
These LCDs typically require a lot of pins from the microcontroller to operate, but this project converts the displays to operate with the two pin I²C interface. This project consists of a board that sits on the back of the display, and provides two Grove type I²C connectors for easy connection to a microcontroller. This board also has the I²C pullup resistors (enabled with solder jumpers) and jumpers to select the I²C address. LCDs are available in either 3.3 or 5 volts, and this backpack board will work with either type.
This backpack board requires that you use a character LCD module that has the HD44780 controller chip, which almost all low cost character LCD modules do use. The display can have from 1 to 4 rows of up to 24 characters in each row.
Note: This backpack board is for use with LCD “character” modules, and not “graphic” modules.
To make it easy to use this display, I wrote a software library for the Arduino and Particle microcontrollers. In this library there are over 20 functions, such as clear(), moveCursor(), createChar() (for making custom characters), and write() (for using the Print function).
Here are some related projects and posts that might also interest you.
The schematic and pcb layout files (Eagle and pdf) are available at this Github repository.
This project does not require many parts, and most are available from Mouser. Bare PC Boards are available from OSH Park.
|2||J1,J2||4 pin||Grove SMD 90||Seeedstudio.com||320110032|
|1||J3||16 pins||.1 Header Pins||Mouser.com||855-M20-9991645|
|1||PC Board||OSH Park||Order Link|
You can purchase LCD modules from many sources including Amazon and eBay. The LCD displays MUST have the HD44780 controller chip (almost all character LCD modules use this controller, but verify this to make sure).
Bare pc boards are available from OSH Park.
As you probably noticed, this board uses surface mount components, so you will need some skill in dealing with these small parts. Sparkfun has an excellent series of tutorials if you want to brush up your knowledge on soldering these small parts..
Solder the backpack board to the LCD module using a 16 pin strip header (.1 inch pin spacing).
Using a 4 pin Grove type cable, attach the backpack board to a microcontroller that has a I²C Grove type connector on it. This will power the display and connect the SDA and SCL lines to the microcontroller.
When you first power up the display and run some software that outputs characters you may not see anything on the display. There is a contrast adjustment pot (R6) that you can adjust with a very small screwdriver. Adjust the pot until you see the best contrast and viewing angle for your application.
There are five solder jumpers near the center of the backpack board. To “close” a jumper, carefully solder a bridge across the two pads using a small amount of solder.
SJ1, SJ2, and SJ3 control the I²C address of the board. The following table shows the possible address combinations.
If you solder across SJ4 and SJ5 you can enable pull up resistors on the signals SDA and SCL (respectively). At least one pull up resistor is required on these lines somewhere on your various hardware boards.
For Arduino and Particle users, the I2cCharDisplay library provides functions the take advantage of the features of this display. An included demo program shows the usage of the functions. These links give the details.
- Information on using the Library
- Github repository for the Arduino software library
- Github repository for the Particle software library
Seeedstudio makes the Particle Photon Base Shield which is a board that allows you to plug in a Particle Photon module. It has the Grove type connectors on it for easy connection to this backpack board.