Please note: All our kits will be sold via The Curious Electric Company from now on. This page is for information only. Please visit our shop to see our current range of kits or contact us to discuss your project and how we might be able to help.

This LCD display unit displays any data sent to it via a serial connection. It is based upon the ATmega328 and the Arduino Uno bootloader.

This unit fits a number of  16 x 2 character LCD display units which use the Hitachi HD44780 driver. A back-light control line is also included.

The standard LiquidCrystal libraries, included within the latest version of the Arduino IDE, can be used.

This kit is available here for £10 (including UK P&P) without an LCD display (so you can use your own) or £15 including a 16 x 2 green/yellow back-lit LCD.

This kit came about from the requirement to have a small data display on a number of projects. I had a number of the 16 x 2 LCD display units, but with different form factors and pin placements. I wanted a board that was easy to use but could accept a number of different LCD units. I decided to create a PCB and put the parts together as a kit which might be useful to other folk.

The unit itself is based upon the ATMega328 programmed with the Arduino Uno bootloader. This is serially intercfaced to a number of pin-out patterns with work with standard 16 x 2 LCD units which use the Hitachi HD44780 driver (a very common standard).

There is a programming header for the FTDI USB-Serial programming lead. (Update 25/3/14: We now also sell a re-programming lead which works with this kit, here.)

There is a header for the serial interface and 5V power.

The board connections are:

  • LCD RS Pin -> Arduino Pin 12
  • LCD Enable Pin-> Arduino Pin 11
  • LCD R/W Pin -> Arduino Pin 10
  • LCD backlight control -> Arduino Pin 9

There are two option connectors to use:

K1 decides if the LCD R/W is enabled (it is usually set to ground in standard applications, which frees up Digital pin 10 for other uses. If you need to read what has been written to the LCD then you will need to enable and control the LCD R/W. There are examples for this on the web, but not included here.

K2 decided if the LCD back-light is controlled by the Arduino via digital pin 9, or if it is permanently ON or if it is permanently OFF (no connection at all on K2).

The various standard Arduino Input/Output pins are all available as connector pads (D0-13 and A0-5). These can be used as inputs for counters and timers.

The ATMega328 has been programmed with the SerialDisplay example from the LiquidCrystal library included in the Arduino IDE.

To send characters to the LCD display, plug in the FTDI USB/Serial cable (this will also power the unit). Open the Serial monitor from the Arduino IDE, set the baud rate to 9600. Type a few characters into the input box and press ‘Send’. They should appear on the top line of the LCD.

The LCD has two lines of text. To get characters to appear on the bottom line, you will have to send 40 characters (the first 16 will appear on the top of the screen). Characters from 41-56 will be displayed on the bottom line of the LCD. You can also set the starting position of new text – check the LiquidCrystal library for more examples.

Note: To program the Arduino, a standard FTDI USB-Serial lead (such as available here) is required.

This kit is very similar to this Serial LCD kit from the great SparkFun. The main difference is that this PCB is designed to accept a number of different LCD pin configurations (so that I can use up the LCD screen units I seem to be collecting).

Buy one here:

This kit is available here, with payment via paypal. The cost is £10 (including p&p within the UK) without an LCD unit and £15 (inc. p&p within the UK)  including an LCD unit. Other delivery options are available.

Serial LCD Display Kit

Update 25/3/14: We now also sell a re-programming lead which works with this kit, here.

Kit Information

This is a relatively simple to put together kit, using through-hole components. The kit includes the following parts (Note: LCD is only included if requested on the options above):

Note: You will need: soldering iron, solder, wire cutters.


The construction instructions are available here:

It appears you don’t have a PDF plugin for this browser. No biggie… you can click here to download the PDF file.

Circuit Schematics

It appears you don’t have a PDF plugin for this browser. No biggie… you can click here to download the PDF file.

Parts List

The kit includes the following parts: (As noted, you will also need an FTDI USB/Serial Cable: Update 25/3/14: We now also sell a re-programming lead which works with this kit, here.)


Reference Description Reference Description
CONTRAST 10k variable resistor P1 Serial data connection
C2 100uf electrolytic capacitor P3 LED Back-light power (if required)
C3 100nf P8 FTDI header (6-pin)
C4 100nf P9 Analog 0-5 pads
C5 22pF P10 Digital 8-13 pads
C6 22pF P11 Digital 0-7 pads
D1,D2 NOT used. Q1 BC548 NPN transistor
LCD LCD unit (only supplied in certain versions) R1 1k resistor
IC2 ATMEGA328 – UNO boot-loader R2 10k resistor
28 pin DIL socket SW1 Reset switch
K1 R/W pin enable? X1 16MHz Crystal
K2 LED back-light enable? PCB


Arduino Code

The code for this project was written using the Arduino bootloader and IDE. (Note: It was written on version 1.05 of the IDE and is untested on other versions).

This project assumes some knowledge of the Arduino platform. If you do not have this then please start with the numerous examples available within the Arduino community.

Examples are included within the LiquidCrystal library installed with the latest version of the Arduino IDE.


KiCAD design files

This is a fully open-source project. The PCB and schematic for this project were drawn using the open-source KiCAD electronics design package.

The PCB layout is here (not to scale!):

The KiCAD project files are available here.


Leave a Reply

Your email address will not be published. Required fields are marked *