To improve the Arduino thermometer, I used a shift register which reduced the number of pins from six to three. However, this setup requires a lot of jumper wires for connecting LCD and shift register. To be able to use the LCD as a module for future projects, I wanted to build an Arduino-LCD shield on a small piece of stripboard.
Unfortunately, the order of the LCD input pins D4 to D7 is not suitable for a tidy stripboard layout when using the default Arduino LiquidCrystal library. However, I found a layout at Instructables, which makes use of the LiquidCrystal595 library, allowing to connect to the shift register pins in a reversed order (D7 – D4 to pin 1 – 4 of the SR). The library also works on the ATtiny85/45 microcontroller, so that it is possible to further downsize the project.
I have slightly modified the layout and included a 47Ω resistor to dim the display. The backlight can be permanently disabled with a switch, in case that you don’t want to control it with a “lcd.setLED1Pin(HIGH/LOW);” command or “lcd.setLED2Pin(HIGH/LOW);” along with a “lcd.print();” line.
The LCD board can be easily assembled. Here is a list of parts that are required:
- 1 x piece of stripboard 24 columns x 14 rows
- 1x BC547 NPN transistor
- 1x M74HC595 shift register
- 1x 10k potentiometer
- 1x switch (optional)
- 1x 47Ω resistor (optional)
- 1 x female pin header with 16 pins
- 1 x male pin header with 2 pins
- 1 x male pin header with 4 pins