Creative Commons images are CC BY-NC-SA 3.0


added to your
shopping cart

In stock 379 in stock
14.95 1+ units
13.46 10+ units
11.96 100+ units

Description: This is similar to other 16x2 character LCDs that you've seen before but with one vibrant difference: The backlight is actually an RGB LED. This means that you can change the backlight of this display to any color you want by controlling the three backlight levels. It also utilizes an extremely common parallel interface so code is freely available (check below for an Arduino example). You will need ~11 general I/O pins to interface to this LCD screen, plus an extra 3 pins for the RGB backlight.

Note: The backlight is controlled by pins 18, 17, and 16.


Comments 33 comments

  • What’s the forward voltage drop & max forward current for the LED? We need to limit the LED current externally, yes?

    • so what resistors should be used on the rgb? i dont want to burn it out too fast and i cant find the above mentioned values anywhere someone please help

    • It doesn’t look like we currently have that information, but I was able to calculate the forward voltages using a 1k resistor. Email tech support if you have any other questions. Blue 2.66V Green 2.82V Red 1.78V

  • I believe you may want to mention in the description that this has a common cathod led. I had a hard time finding it in the datasheet.

  • I’ve worked a lot with 2x16 RGB LCD displays. There are a bunch of ways to use them in the Arduino space:

    1. Use the LiquidCrystal library. This takes more than half the pins of an ATMega and most of the pins of an ATTiny84. You can, however, share the four data pins with other devices that have chip select logic so that only one device masters or reads from those pins at once (that is, make it into a real data bus). I usually share 3 of the 4 with the ISP/SPI pins. As long as the LCD’s E pin is not asserted during programming (which would be unlikely), it works fine.
    2. Use the AdaFruit RGB LCD shield and the LiquidTWI2 library.
    3. Use an i2c “backpack” and LiquidTWI2. The quintessential example of this is available from the OpenEVSE store, but that’s not the only version. Essentially you wire an MCP23017 up to the LCD the same way as the AdaFruit shield and bring the i2c and power out to a 4 pin SIP connector, all on an 80x36 mm board that fits exactly onto the back of the LCD module.

    LiquidTWI2 is particularly nice because it not only supports the 5 button inputs, just like the AdaFruit shield, but also supports using the last unassigned pin on the MCP23017 to drive a piezo speaker to make beeps. I’ve designed a backpack that includes the piezo. You can find it on my OSH Park profile.

    One thing to beware of is that there are four different variations on the 2x16 char RGB LCD - positive or negative (aka transmissive or transflective) text; and common cathode or common anode backlighting. There’s no wiring difference between transmissive or transflective, but for common cathode or common anode, you need to connect pin 15 either to +5 or ground and invert the sense of the RGB backlight control lines. LiquidTWI2 includes an initialization constant that lets you “hint” it that the backlight is inverted, but for most backpack/shields you would need to rework the board to change the connection on pin 15.

    It would be somewhat nicer if the makers of RGB shields and backpacks would include a two-way solder jumper to allow the buyer/assembler to select the polarity of the common pin more easily. Of course, it would also be somewhat nicer if everyone would pick an LED type and stick with it, but whatcha gonna do?

  • Why only a parallel version of the display with RGB lighting? It looks like there is a much easier serial version of all of the single color models.

  • Out of stock! :(

  • Do you need to add anything extra to the pins? Because I tried to use the Arduino example and it didn’t work.

  • For them as me, that do not find schema to activate RGB backlight : Pin 15 to the GROUND + Pin 16 to +5V = RED backlight + Pin 17 to +5v = GREEN Backlight + Pin 18 to +5v = BLUE backlight Red is not very powerfull

  • any plans to allow the serLCD backpack to work with this?

  • I created an Arduino Shield for this thing. Please find the eagle files as much as the Arduino Sketch at

    The resistors for the RGB Backlight LED are based on the values found by M-Short in his comment.

    I diverged from the traditional LCD Pin Layout as in so that it can be used with an Arduino Ethernet or Ethernet Shield without having to change the hardware / electronics. This means that now there is no analog input pin free tho.

  • Here is the link to the full datasheet:

  • So, I’m envisioning hooking the RGB pins up to PWM outputs on an Arduino (i.e., one each) to do a bit of color mixing. What I’m wondering is if I could then stick a pot, namely COM-11173, between GND and pin 15 of the LCD to get a sort of rudimentary ‘master’ brightness control. Any thoughts?

  • hello friends can change the RGB led to this display as a burned red when connected to GND, I thought that was the VCC PIN 15 to 16 GND

  • This is a comparison between Sparkfun’s 16x2 LCD with RGB backlight (POSITIVE) versus Adafruit’s 16x2 LCD with RGB backlight (Negative).

    Firmware and schematic for free:

  • I believe you may want to mention in the description that this has a common cathode led. I had a hard time finding it in the datasheet.

    I had read somewhere that this had the same pin15/16 wiring as the “LCD add-on Kit for SIK” which is a common Anode. I got concerned when I saw the datasheet for this LCD. But good news. The PCB is setup with the same pinout as the SIK add-in. It is setup with a common Anode. I modified my datasheet-PDF and renamed it as SF-version.

    My PCB pinout is: 15 A (5v) - same as SIK Add-on 16 K-RED - same as SIK Add-on (except color) 17 K-GREEN 18 K-BLUE

    So this was easy to setup, just swap boards.

    But I agree that when I saw the contrast I will save this board for later and also wait for an RGB-on-black!

  • Is the red color a lot dimmer normally? Mine is significantly dimmer than the green or blue.

    • my red is dimmer as well, green and blue are a lot brighter, are you using any resistors? what voltage are you applying?

    • Well, the red on mine is dimmer now. It was as bright-ish as the blue/green for a second. I thought I had burnt it out completely but I can still see the nub on the end of the backlight turn red, not enough to really light the background anymore. I wished I had known what resistor to use before hand.

      I think I half burned it out while trying to figure out that the K terminal, (pin 15), is Ground for the backlight. Pins 16(Red),17(Green)and 18(Blue) take a positive voltage to activate. I never had a backlight on my LCD display before, pretty cool.

  • if somebody wants a good tutorial how to interface this lcd to a microcontroller visit this link

    for microchip pic mcu

    for TI MSP430 microcontroller

  • If the refresh time is fast enough & the font has an inverted mode, it could probably do multicolored characters.

    • That is a neat idea, but if these are anything like their other color LEDs the refresh rate is no where fast enough.

  • I got excited when I read this in the new product post, but was disappointed to find that it is Black-on-RGB and not RGB-on-Black.

    Do you think it would be possible to swap the top polarizer from the white-on-black with this?

    • On one similar display I was able to inverse image simply by taking it apart and flipping over the polarizer. On another similar display it didn’t quite work that way because the polarizer wasn’t cut at 90 degrees but some odd angle, so I had to get a piece of polarizing film I cut myself, rotated to get the best image.

      • Thanks. I have a white-on-black LCD screen. I think I will get this and try swapping the polarizers and see if that will work.

    • I would also like to see RGB text on black background. Very cool and useful concept though. Now I just need some RGB EL-wire!

      • You might want to check out Adafruit Industries -> They have a RGB backlight negative LCD 16x2 + extras - RGB on black.

        Personally I wish SF would carry the 7 inch displays. With all the tablet computers on the market, you would think more people would want a bigger display. YES, I understand you need more horse power under your Arduino hood, but with the new Arduino out there, and the Max32 Chipkit with DMA you would think you could build a project to handle a 7 inch screen.

  • Is the controller HD44780 compatible? Datasheet has nothing on interfacing this display. If it is compatible then you could use 4-bit mode to reduce the pin count.

  • Hmmm with that many pins needed might be good idea to add i2c interface.

    • check the serial-enabled backpack below. it won’t directly control the RGB backlight (it’s only setup to control one of the pins), but it can drive it over serial.

Related Products