Creative Commons images are CC BY-NC-SA 3.0

29.95

added to your
shopping cart

quantity
In stock 129 in stock
29.95 1+ units
26.96 10+ units
23.96 100+ units

Description: This is the latest evolution of our serial LCD. Included on a single board is a 20x4 LCD and an embedded circuit based around a PIC 16F88. The on-board PIC takes a TTL serial input and prints the characters it receives onto the LCD. The installed firmware also allows for a number of special commands so you can clear the screen, adjust the backlight brightness, turn the display on/off, and more.

Communication with SerLCD requires 5V TTL serial at a default baud rate of 9600bps (8-N-1). You can adjust the baud to any standard rate between 2400 and 38400bps. The power (VDD), ground (GND) and RX pins are all broken out to both a 0.1" pitch header as well as a 3-pin JST connector.

SerLCD has the ability to dim the backlight to conserve power if needed. There is also a potentiometer on the back of the display to adjust the contrast.

This LCD makes for a great gift, because it can be used for so many different projects! For more gift ideas check out the SparkFun Gift Guide!

Features:

  • Embedded PIC 16F88 utilizes onboard UART for greater communication accuracy
  • 20x4 Black on Green LCD
  • Adjustable baud rates of 2400, 4800, 9600 (default), 14400, 19200 and 38400
  • Operational Backspace
  • Greater processing speed at 10MHz
  • Incoming buffer stores up to 80 characters
  • Backlight transistor can handle up to 1A
  • Pulse width modulation of backlight allows direct control of backlight brightness and current consumption
  • All surface mount design allows a backpack that is half the size of the original
  • Faster boot-up time
  • Boot-up display can be turned on/off via firmware
  • User definable splash screen

Dimensions:

  • PCB: 105 x 59.9 mm
  • LCD: 87.3 x 41.8 mm

Documents:

Comments 45 comments

  • Thirty bux - ouch!

  • The main difference is that the serial converter is built into the main board of this one, rather than a daughter board.
    Useful if you have limited space to work with.

  • Excellent display and worked right away. Plenty fast for my needs, only 3 wires needed and I was able to get the 80 character locations addressed and working in less than an hour. Now we need more colors please and the price is good also.

  • I have blown out TWO of these boards with static electricity. In 35 years of messing around, I have never blown out any board-mounted device. I confess, I don’t wear a wrist strap. But I’m reasonably careful about the way I handle devices, touching only edges or corners well away from pins. The relative humidity in my workspace is currently 35%. This thing has mounting holes on its corners that (apparently) conduct a static charge to sensitive spots. I had expected those mounting holes to be grounded, but I was wrong. I’m not about to buy a third one. Right now I am seriously considering an output scheme using LEDs…

    [The next day] It looks as if I shall have to eat my words. I have looked at all the alternatives and my application absolutely, positively requires a big display. There’s no way I can sneak around that without making it impossibly difficult to use. Ergo, I shall have to use two wrist straps, two ankle straps, strip naked, and work on bare concrete in a hot room with a humidifier.

  • To get this to work with the FEZ Panda II, I had to change the serial lcd file with these changes:
    public void SetCursor(byte row, byte col)
    {
    switch (row + 1)
    {
    case 1:
    break;
    case 2:
    col += 64;
    break;
    case 3:
    col += 20;
    break;
    case 4:
    col += 84;
    break;
    default:
    return;
    }
    col += 128;
    SendCommand((byte)(col));
    }
    row and column are 0 based. Make sure you set the BAUD_RATE to 9600. To set the LCD to 4x20:
    SendByte(0x7C);
    SendByte(0x3);
    SendByte(0x7C);
    SendByte(0x5);

  • DO NOT BUY!!! impossible to control - absolutely unpredictable what this thing will display if you send more than 1-2 strings of formatted data to it. Check some other reviews below, too, for other problems…

  • I strongly recommend anyone interested in this display to not buy it.
    The power line stretches some 15" before it reaches the PIC, while at the same time suffering from 150mA+ PWM. This is practically an oscillating antenna! There is only a single 0.1uF cap to suppress this noise - but its at the very end of the wire and definitely not enough for this current. If you turn on the backlight, the electrical interference is so bad that if your power jumper to the board is more than a few cm the display will often fail to accept commands properly.
    Search google and you’ll find many people can’t get this display to work on an Arduino that has a shield.
    The schematic doesn’t match the actual device - there are ~13 other components on the board not shown.
    The PIC does not have the brown-out fuse enabled, meaning I need to physically disconnect the display when I wish to reset it after a command. Any voltage held by capacitors on a 5V regulated power line will prevent the reset until they’ve been fully discharged (in my case, 20+ seconds).

  • How about an updated datasheet for these newer LCDs ??
    What’s the 2-pin header on the front/right side for?
    Will this module power completely (backlight included) from a +5V supply?
    What’s the current draw of it at full brightness?
    Thanks.

  • Is there no ? symbol?

  • What are the main differences between this and LCD-00462?
    http://www.sparkfun.com/commerce/product_info.php?products_id=462

    • Take a look at the circuit behind, this one has a integrated special sparkfun design which enables serial input.
      Other one has a add-on backpack circuit also enables serial input but increases total volume of the lcd.
      I think firmware of the PIC is same…

  • Hey everyone. I’m currently working on a project that involves this screen, but when I get the screen up and running, with the VDD and Ground hooked in appropriately, if ANYTHING touches the Rx pin it just spams the screen with “|||||||||” Can anybody give me a clue as to what is going wrong?

    • That’s just electrical noise on the RX line. That shouldn’t happen if you have the RX line plugged in properly on a TX pin either on an Arduino or on a serial converter such as an FTDI basic.

  • Has anyone else noticed the JST connector is backwards. I struggled for hours trying to get this display to work. I replaced an existing display with this one and it did not work. After a number of hours I noticed the silk screen on the board did not match what I would expect. VDD matches with yellow wire and RX matched with the red on the JST harness. Swaping the shroud around solved the problem.

    Hope this saves others some head banging.

  • I am getting corrupt characters when powering this via a USB charging block.

    It works great when powered by the USB from my laptop though.

    I thought that USB was always 5v. I have not measured the voltage yet.

    Here is an image showing the issue.

    https://www.dropbox.com/s/mlv0u8mddy9qlmd/LCD.jpg

    Any ideas?

    Thanks.

    Phil

  • I am getting corrupt characters when powering this via a USB charging block.

    It works great when powered by the USB from my laptop though.

    I thought that USB was always 5v. I have not measured the voltage yet.

    Here is an image showing the issue.

    https://www.dropbox.com/s/mlv0u8mddy9qlmd/LCD.jpg

    Any ideas?

    Thanks.

    Phil

  • Hi it says you should not connect the unit to true RS232 because the minus volts will kill the module, I am thinking could you modify the next versions to include a couple of clamp diodes to stop the input going below 0 Volts or above 5 Volts, in the mean time I will try and remember to do this if I feel the need.

  • Hey,

    did anyone got it running with Arduio IDE 1.0.1 and the Leonardo? I changed the code that no errors appear, but the LCD doesn’t do anything.

    • Had the same problem myself. You have to use Serial1 for the Leonardo. See http://arduino.cc/en/Guide/ArduinoLeonardo#toc6

  • Oh! Id rather think of this as a PIC dev board… its got the PICs Pins broken out… and an ICSP header, and an LCD attached!…

    im definetly buying this, flashing my own LCD driver, and …. lord have mercy.

  • False Advertising! The picture shown for this product has the circuit board color as GREEN. But when I got the board, the circuit board color was and still is RED! Fix the picture!

  • Hi i erased the f/W by mistake. The SerLCD v2.5 source code is for 16F688 but the micro i have on my board is a 16F88 !! Do you have somewhere the F/W corresponding to 16F88 ? Best regards

  • I have 3 of these. They are so unreliable, even after applying the various strategies described by earlier commentators, that I have given up on them. I will give them away to anyone who will pay for postage (from Canada).

    When I get replacement displays, they will not be from SparkFun, whom I no longer trust.

  • Since still can be googled, that this display wouldn’t be worth the few bucks it costs due to the problems, some folks had with it:

    I have now more than a hand full of them all working seemlessly, following the four simple rules for that cheap but price-worthy display:

    A) feed them from sufficiantly “stiff” power source (Low ESR 100F in 5 V output) B) Add a sender-side pullup resistor to 3,3 V for the Rx line. C) Add a procedure on the controlling mic, in which the user holds a button down during startup, if the display eventually lost its baud rate setting displaying any shit but no chars. Which does: Start from 2400 Baud, set the LCD Baudrate to your standard one. End up talking with 38600 Baud to the display, setting your standard baud rate. Any time the customer has a messed-up display, he repowers the display holding down that start-up-Button, and: LCD is displaying properly again…

    To me, this display really is competitive to others of nearly the same specs, coming from Canada for double the price. It is really good readible in full sunlight and with low power consumption led backlicht also in the complete darkness.

    My wish to sparkfun: Make the contrast adjusteable via serial command, not by potentiometer…!!!!! Really serious wish: Buying a lot in future, if that maybe possible.

  • Could you guys please update the eagle files with the newest schematic and a new datasheet with mechanical drawings? Also, did you keep the relative location of mounting holes relative to each other from the original “basic” display?

  • I think SparkFun needs to add a pull-up resistor on pin 4 (Vpp). This pin is an input (not input/output) and should not be left floating. Another pull-up on the RX pin would also be advisable.

  • My main bitch is that “|”, 7C, the vertical bar character is not there. However, it IS the command character. When porting code from a previous design that used parallel LCD I/O, I “inadvertently” sent a whole s**tload of strings that were interpreted as commands and the units were not even able to be resurrected by SparkFun techsupport. This is also apparently true for all Serial LCD units based on the Sparkfun Serial-LCD Backpack module though whether it kills the unit so permanently is unknown to me.

    Sigh, so I gotta buy a couple more displays.

  • can I drive the RX with 3.3V?

  • I first had problems using this serial 20x4 LCD module via software serial (bitbanging). It is controlled from a Leaflabs Maple Cortex M3 processor, which output pins are turned to floating state during flashing. Really ennoying in development phase: Hundreds of random chars appeared on the display, changing the baud rate, changing the setup as 20x4…
    Cure: External 10kOhm Pullup resitor on the TX-line to 5 Volts. (Use a 5 V tolerant pin on the maple for the serial communication to the LCD.
    Now: Flashing the MIC, resetting - without any problems with this LCD.
    Criticism: such pullup could have been implemented in the LCD design. Designed as a Voltage divider to meet the 3,3 V TTL specifications of most Controllers around.
    Further: Where is a reset Pin for the PIC driving the LCD? Bad Documentation.

  • I got this LCD working, and it looks lovely. Here are my recommendations:
    (1) Don’t buy this unless you don’t mind a very slow display. Any kind of text animations or quick updates aren’t going to work. Each statement you send needs to be followed by around 100ms delay.
    (2) If you do buy it, use http://www.arduino.cc/playground/Code/SfLCD2 as suggested by Member207599 and add a delay(1000) to the first line of setup, so that your Arduino can finish booting up before the display, avoiding some frustrating errors others have experienced above.
    (3) Set screen brightness to 10% - plenty bright and more reliable
    If you need a faster display, use a regular parallel interface. If you need more pins buy an arduino mega. If your spending all the, spend the money.

  • This LCD is a huge pain to control but using the link posted by Member207599 its now a breeze. Documentation is fair at best as well/

  • Using the LCD with an Arduino board I first had some difficulties to get it to run and figured out that it needs plenty of delay(). A good lib is http://www.arduino.cc/playground/Code/SfLCD2 which does the right amount of delay after any command and now the LCD works 100% reliable with two shields in between and 15cm cable.

  • So many problems. The data sheet is minimal and misleading. Expect to power cycle many times to get your text to print properly

  • i am using a picaxe to control this display and i can send text and change the display type and back light level but i cant get any of the extended LCD commands i.e. clear display to work. I think it to do with the syntax on the picaxe?
    serout 1,T9600_8,(“Hello World!”) and
    serout 1,t9600_8,(124,140)
    work but how do i clear the display?

    • Ah it is serout 1,T9600_8,(254,1). the data sheet could be more explicit in saying that the extended commands use 254 as the special control character. “254” is only mentioned once.

  • I have two of these, purchased several months apart. One appears to be working happily off the serial output of a uMFPU math chip. The other worked for a while, then could’t manage the switch to the default 9600 on power off/on in a reasonable time frame (development has a lot of compile/test/edit/repeat cycles and each cycle needs a board power cycle as well). Not sure what changed, but it’s an annoying glitch. Had I only needed 9600, the K107 serial board from wulfden would work fine with a display I already have.

  • Any chance to get some 20x4 3.3V LCD panels? As you know, by your frequent “out of stock” status, the Netduino community is growing quite fast. Would be great to have some store bought options.

  • This display doesn’t operate the way that it is described in the Datasheet. It’s pretty much worthless.

  • The datasheet doesn’t seem to mention the vertical spacing of the mounting holes. This is 2.15" on the older version with the daughter board. The mounting holes are too small for a 4-40 standoff. Too bad SparkFun doesn’t offer a 2-56 standoff kit to go with this.

  • My older version with the daughter board runs just fine off of the 5V pin on the Arduino at the default backlight level, which is plenty bright in a well lit room and might be too bright in a dimly lit area.

  • When I received mine, it defaulted to 4800 baud instead of the expected 9600 as shown in the datasheet.


Related Products