LCD Plug

The LCD Plug is a small board which is designed to sit piggy-back on an HD44780-compatible LCD display with 16-pin connector - the plug is based on the same MCP23008 as the Expander Plug:

The backlight can be controlled via software to reduce power consumption. A BC817 is used as switch, it can drive up to 500 mA for the backlight. The driver software and an “lcd_demo” example sketch is included in the Ports library.

An I2C bus running at 3.3V is used for I/O, with all the power and signal lines brought out to to both sides of the board to allow daisy-chaining with other I2C-conformant boards.


The I/O expander chip on this plug is set to respond to I2C address 0x24.
The logic supply voltage needs solder jumpering to either the PWR or the +3V pin.
The backlight voltage needs setting to either PWR or +3V.
There is room for a backlight current limiting resistor (needed with a 5V supply), with a bypass solder jumper.
The library needs to know which Port is in use. Port1 or Port4 is usual, the example below is for Port4

PortI2C myI2C (4);
LiquidCrystalI2C lcd (myI2C);

#define screen_width 16 // and so on..

And lastly, there is a mini trimpot on the board to adjust the LCD contrast level.

For the LCD from JeeLabs, use logic level set to PWR or +3V (depending on which type of LCD you got, see below), backlight set to 3V, and a solder bridge to short out the optional backlight current limiting resistor.
> If you got your LCD from Modern Device or elsewhere, chances are that it’s a 5V model. In that case you have to make sure that PWR is also at 5V (don’t drive the JN from 9V or 12V, put a 5V regulator in front in that case). With 5V LCD’s, you’ll need to set the logic level and backlight jumpers to “PWR” i.s.o. “+3V”.
Some older LCD’s may have pins 15 and 16 reversed, current versions are correct. This board assumes that - is pin 16 (the outermost one) and
is pin 15. If that’s not the case, omit the LIGHT jumper and current limiting resistor to detach both pins from the circuit. Then patch them up to match your LCD display.

The pins marked SW (switch) are tied to a spare I/O pin and ground, they can be left disconnected.

> **Note* - As of June 2010, the Shop 2x16 LCDs are 3.3V units. These have a “33V33” suffix on the label. When you see this label, use +3V for both logic level and backlight:*

**Note* - It is sometimes hard to get the LCD display to show proper characters. In 9 out of 10 cases, this is due to the trimpot not being set properly - you have to find the exact position at which the characters are readable. Too far one way and nothing shows up, too far the other and all the characters will show as black blocks. Somewhere in between, you get a properly readable display. You can use a mirror to see the display while slowly turning the trimpot with a small screwdriver. Most likely position for it to work is set (almost) entirely counter-clockwise. If nothing changes, check for shorts around and under the trimpot.*

See also Ed Voncken’s write-up about getting the LCD Plug to work.

Header Pinouts

Design Info

Dimensions: 21.1 x 41.9 mm
CadSoft EAGLE design files: see below.
This plug can be operated at 5V as well as 3.3V.

This board uses the conventions of a JeePlug and can be used with the ports on a JeeNode. It can also be used with other boards and MCU’s, if you hook it up properly and adapt the interface code for it.

How to Get It

Options for screen size and colour

Related Weblog Posts

Also available in: PDF HTML TXT