Making “The LCD Expansion Board” for PIC18F4520

In this tutorial I you show you how to make a very useful expansion board for our PIC development board. It will be a Do It Your self (DIY) LCD Expansion board. The expansion board can be plugged into the PIC development board to add 16×2 Alphanumeric LCD Support to it. Since LCDs are required in many projects and experiments it will be a very helpful board.

I recommend you to read the LCD Interfacing Tutorial before you proceed. It will give you an Idea how LCD is connected to PIC Microcontrollers. So lets start!

Schematic for LCD Expansion Board.

LCD Interface with PIC microcontroller schematic

Fig.: LCD Module Interface with PIC Microcontroller.

The board is very easy to make as the MCU core unit is already done for you. So you need to just care about the LCD part. It consists of the 16×2 LCD Module and A variable resistor (10K) only! Optionally you can add a 47ohm series resistor with the LED backlight of the LCD Module, to enable the backlight. The variable resistor is used to adjust the contrast of the module. If NO text is displayed adjust this pot.

All I/O ports and power supply is available at the top of expansion board.

PIC Expansion Board

Fig.: A blank expansion.

As you can see the top row in the board lists all I/O port of PIC MCU like, RB7, RA1 etc. For Example, RB7 stands for Port B 7th bit. The row also has regulated 5v supply and GND outputs. So we start by soldering a 40 PIN Right Angled Burg Housing on the Expansion Board. This will help connect it with the PIC development board .

Fig.: Connecting Expansion Board with PIC Development Board.

On the expansion board we solder a 16 PIN Burg Housing, this will help attach a LCD Module. Burg Housing is available in 40 PINs, you have to safely cut it using a small hacksaw blade or a sharp hot knife.

Fig.: 16 PIN Burg Housing On the Expansion Board.

Fig.: 16 PIN Burg Housing On the Expansion Board.

Fig.: Mounting the LCD.

Fig.: Mounting the LCD.

To mount the LCD you need to first solder a 16 PIN Male Burg strip on it. You can break a 40 PIN Male Burg Strip to obtain it.

Fig.: Headers Soldered on LCD Module.

After that connect each PIN of the LCD with the PIC I/O Ports as shown in the schematic given above. The LCD PIN number and name are printed on the module it self.

Fig.: Connect I/Os to LCD Module.

Finally connect power PINs and the 10K Preset (the blue thing shown above). Now you can join the LCD Expansion Board to the PIC development board.

LCD Interface with PIC

Fig.: Together!

The hardware part is now ready. To learn how to program and use the LCD Modules please read this detailed tutorial.

In all coming tutorials and project we will use the above hardware and software where ever required. So their knowledge will help you understand the code.

In the same way we created the LCD Expansion board you can create any other expansion module to hook in your PIC Development board and extend its capabilities. You can remove one expansion board and hook up another to change it to a completely new project in NO time. You can store a number of project separate on different expansion boards. The CPU core unit is always reused so you don’t have to invest in it each time.

Avinash Gupta

May 24, 2010

JLCPCB Prototype: $2 for 10 pcs PCBs, 48 Hours Quick Turn

China’s Largest PCB Prototype Enterprise, 300,000+ Customers & 10,000+ Online Orders Per Day

Get quote online easily: quote

Facing problem with your embedded, electronics or robotics project? We are here to help!
Post a help request.


Avinash Gupta is solely focused on free and high quality tutorial to make learning embedded system fun !

More Posts - Website

Follow Me:
FacebookLinkedInGoogle Plus


8 thoughts on “Making “The LCD Expansion Board” for PIC18F4520

Leave a Reply

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

six + = 15

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>