RGB LCD Shield for Arduino 65K color KIT V2 Assembly Guide

The RGB LCD shield for Arduino 65K color KIT includes all the components to assemble a ready to use LCD shield for Arduino and compatible boards like Freeduino.

First the schematics:

The LCD module has a backlight made of 2 white LEDs that requiere approximate 9V with a max 19mA current to work.  As this voltage level is not available on the Arduino board, I used an ST232 RS232 driver to get 8V DC from the standard 5V Arduino power supply.  The backlight driver circuit now included in the main RGB LCD shield PCB.

The first step is to unpack the KIT.

It contains the following components:

1 x RGB LCD module

1 x RGB LCD shield PCB

1 x LCD module to PCB soldering adapter

1 x LM317T variable voltage regulator

2 x 10uF electrolytic capacitors

5 x 0.1uF ceramic capacitors

1 x 330 ohm resistor

1 x 430 ohm resistor

5 x 1Kohm resistors

5 x 1.3Kohm (1K3) resistors

1 x 28-pin male breakable header (you need to cut 2 8-pin sections, 2 6-pin sections)

1 x ST232 RS232 driver IC

1 x 110 ohm resistor

Let’s start with the main RGB LCD shield PCB.  The LCD module needs to be soldered first.  Separate the LCD module and a small green thin PCB used to attach the LCD module to the main black PCB.

Apply some solder in one of the pins of the LCD module, you can choose either pin 1 or pin 10 (pin 1 is the one to the right of the picture).

Once the solder is applied, place the small thin PCB and align the 10 pads to the 10 pads on the LCD module.  Heat the pin that has the solder to attach the small thin PCB (the adapter).  Once you are satisfied how it is aligned (make sure the pads are correctly aligned, to avoid shorting the pins), solder the rest of the pads.

Now it is time to solder the LCD module to the main black PCB.  The process is the same, apply some solder in one of the pins (1 or 10) and align the LCD module with the adapter to the 10 pads on the black PCB.  Solder all the pads.  Be careful to not add excessive solder to create shorts in the pads.

The LCD part is done.  We need to check for any short circuits before advancing in the assembly process.

Next we are going to solder the headers.  Cut the included 28-pin male header into 2 x 8-pin and 2 x 6-pin headers.  The picture shows a female 2×3 header that is not included and is not needed in the new version of the KIT.

Solder the pin headers and plug it into the Arduino (Freeduino, Seeeduino, *duino) board to check it is not causing any short to the main board.

Unplug the RGB LCD shield from the main board and let’s continue with the Power Supply (Voltage regulator).  This part of the circuit, takes 5V from Arduino and using the LM317 variable voltage regulator, generates 2.9V to supply the LCD module.  The components are: LM317T, 1 x 10uF electrolytic capacitor, 2 x 0.1uF ceramic capacitor, 1 x 430 ohm resistor and 1 x 330 ohm resistor.

Solder first the LM317 voltage regulator.  Then you can solder the 0.1uF ceramic capacitors C2 and C3.  Orientation is not important for the ceramic capacitors.  Then solder the 10uF electrolytic capacitor, negative leg to the left, positive (long) to the right.  Next you need to solder R12 430 ohm resistor (you can follow the guide in http://www.bpesolutions.com/atechnical/ResistorQV.pdf to calculate the resistor colors).  430 ohms is yellow, orange, brown.  Then solder R13 330 ohm resistor (orange, orange, brown).  The power supply section is complete.

This is how the board looks now with the power supply section ready

Plug the RGB LCD shield back into the main board and verify that there is no short circuit.

And make sure you get 2.9V from the voltage regulator following the next 2 pictures…

Next solder the 10 resistors used to create the logic level converter from 5V to 2.9V.  We will be using 5 x 1K and 5 x 1.3K (or 1K3) resistors.  1K resistors are coded brown, black, red and 1.3K resistors are coded brown, orange, red.

This is how the board looks with the voltage dividers (10 resistors) soldered.

Next we need to assemble the step-up circuit.  You need the MAX232 (or compatible) chip, 1 x 110ohm resistor (current limiting resistor for the LCD backlight), 1 x 10uF electrolytic and 3 x 0.1uF ceramic capacitors.

And this is how the complete assembled RGB LCD shield looks like

The final step is to insert the RGB LCD shield into the main board and run some tests

The sample code is self explanatory (You don’t need to mess with the setup code, just look for the piece of code that sends the characters to the screen, how the dots are turned on and off, etc.  I created 2 codes, one using digitalWrite() and another one using direct AVR I/O… I found the 2nd method to be almost 10 times faster, and drawing things on the screen, you can notice the difference in speed.

The sample codes are here:

Sample using digitalWrite()

Sample using direct AVR I/O

Click on the source code and copy the contento to Arduino, or download the .txt files and rename them as .pde

20 Responses to “RGB LCD Shield for Arduino 65K color KIT V2 Assembly Guide”

  1. Jim F. says:

    Thanks for the detailed instructions! I found the LCD tricky to solder (clearly, I need more practice) but the rest was smooth sailing. The direct AVR is definitely preferable to digitalWrite. So, when will you have sample code for the Netduino?



  2. Robert Mitchell says:

    Simply beautiful board and display. You should add a sentence about installing the R14, 110 ohm current limiting resistor. Although anyone capable of soldering this board won’t have a problem figuring it out. Not for novices.

  3. Jim S. says:

    I’ve only been dabbeling in electronics for about 8 months now. This was about the 6th kit that I put together in my life, so I was worried. It took about 1 hour and only 1 mistake. (Not enough solder on LCD anode and cathode pins 9-10) so I got no backlight till I fixed it. I D/L the reccomended the Henning Karlsen sketch and to my suprise it work just right.

    Thank You. This is a great kit and great instructions and fun to build.

  4. Dennis Clark says:

    What R14? There is no R14 in the schematic, hmm, there is no MAX232 in the schematic either. Can we get an update?

  5. Jeff says:

    The assembly was pretty straight forward, but is anyone else having issues with the sample code supplied by this site? When I open it, it’s all smushed together. And when I go through it and separate the lines of code, making sure only the comments are commented out, I still have problems. The Arduino software can’t successfully compile the code. Any help would be appreciated.

    • Ali F. says:


      You are right. The code is flawed. The printString() function has undefined variables as well as malformed for statement.


      Please share a readable and correct code.

      One more thing. How should I check for short circuits?

      • admin says:

        renamed the code as txt and it is readable now.

        The code is not flawed. It compiles without any errors.

        • Jeff says:

          Thanks for the help. It’s nice to see a company that listens to their customers!

  6. Dennis Clark says:

    I built it and it works as advertised, how refreshing! But the demo code just says “MKC Electronics Arduino One Stop Shop”, displays four boxes and blinks a smaller box in the lower left corner – None of the cool things on the pictures above are there – I’ll have to keep looking for that code I think.

    Thanks all,

  7. Kevin says:

    I agree with Dennis, just the text and four boxes and circle, nothing after that.

    Also, any advice on backlight? I get none now, and was just making sure that it was supposed to be turned on in this first example…..

    • Kevin says:

      Still no backlight, no voltage out from max232 pin 2 – how do I trace this back to figure out where the problem is? Also, a socket for the max232 might be better, otherwise I’m just worried that I fried it.

      • admin says:

        I did not include the socket to keep the footprint low…

      • admin says:

        Let me think about the max232 trouble shooting…

        • Kevin says:

          I checked the datasheet for the max232 and saw that pin 15 was gnd and 16 was Vcc. Since your schematic breaks these pins away from the picture of the max232, it was not clear that the 15/16 on the drawing to the right referred to the pins on the max232.

          Once I saw that this was the case, I put my voltmeter against the 15/16 pins and my backlight flashed to life (bad solder joint).

          If you fix the schematic to show that 15 and 16 are part of the max232, troubleshooting will be MUCH easier.

  8. Kevin says:

    How can I trouble shoot the backlight? I get no voltage all the way back to pin 2 of the max232.

    Posting this again in hopes that the moderators come back and approve my post(s)

  9. Kevin says:

    Since there is no contact information here to allow us to submit ideas and you don’t list this product on your website I will try here.

    It would be better if the 5V that goes into the max232 would be switchable, IOW, put it on a digital pin and turn that pin off and on as backlight is desired.