SparkFun Serial Graphic LCD 160x128

This is a very large serial graphic LCD. The Serial Graphic LCD backpack is soldered to the 160x128 pixel “Huge” Graphic LCD and provides the user a simple serial interface to a full range of controls.

Besides writing text, this serial graphic LCD allows the user to draw lines, circles and boxes, set or reset individual pixels, erase specific blocks of the display, control the backlight and adjust the baud rate. There's also a reverse mode that allows the screen to operate blue on white instead of white on blue. Additionally, all source code for the ATMega168 processor is compiled using the free WinAVR compiler and is free for downloading.

  • Voltage: 6V – 7V DC
  • Current: 220mA (backlight at 100%)
  • Input: 0-5V, 115,200bps (adjustable), 8 data bits, 1 stop bit, no parity
  • 4x5x0.65" (102x129x17mm)

SparkFun Serial Graphic LCD 160x128 Product Help and Resources

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #212424 / about 7 years ago / 1

    I just received my LCD today and I am pretty pleased making me sound like the minority. The one comment I will second is that to get this going using the #3 pin and not the TX pin on whatever arduino you are using. If you go into the SparkFunSerialGraphicLCD.cpp you can also change the software serial pin. The other thing I have found is that you tinker with adding delays between given commands when printing strings or numbers to allow the time to execute the commands.
    My one question to the sparkfun Gods is can I run two of these LCDs off of a single arduino? If so how do I set up the LCD and software serial?
    Thank you, Chris

  • Valentin / about 12 years ago * / 4

    Hi, I have just stored in Sourceforge.net my version of the wonderful SerialGLCD software, for 160x128 display:

    http://sourceforge.net/projects/serialglcd-huge/

    to make things like this:

    http://img62.imageshack.us/img62/868/pantallahuge.jpg

    Enjoy it..!

    :-)

    • Valentin / about 12 years ago * / 3

      I have just updated this software, with an full Example of using, at the end of main file.

      Code is here:

      http://sourceforge.net/projects/serialglcd-huge/

      The Example screen is:

      ""

    • Member #234716 / about 11 years ago / 2

      Do you have an example of same code but with I2C interface for this type of display. Thanks

  • Richard Hart / about 15 years ago / 2

    I think it's pretty cheesy to be selling a "serial backpack" that's so loaded with bugs as to be unusable. That's right, I said "bugs". Not being able to handle a CR or a LF for a terminal-type app is more than a bug, it's an embarrassment! Save your money and do not buy anything with the "Serial Graphic LCD Backpack" until Sparkfun fixes the product. They've known about this problem since last August when I reported it and as far as I know, they've yet to fix it. I don't know what the deal is, Sparkfun is usually pretty good about fixing things.

  • Tecky Becky / about 16 years ago / 2

    I'm having the same problem as BI00hazzard.
    I can't seem to decipher the X,Y coordinate Command Flags.
    I'm using an Arduino Duemilanlove.
    Any help would be much appreciated.
    Tnx

    • bman22 / about 16 years ago / 1

      spranger, do you think you could provide a link to the code you are using with the arduino. are you just using the code supplied, or did you modify it. I have the duemilinove with a 328P and am planning on getting this LCD.

  • Member #647661 / about 10 years ago / 1

    how can i use a big font in this LCD with arduio

  • Member #563547 / about 10 years ago / 1

    Hallo, ich habe dieses Display heute bekommen- und sende es wieder zurück!! Dieses Display ist an einem Arduino Mega 2560 R3 mit der aktuellen Arduino IDE NICHT zu betreiben! Es spielt dabei keine Rolle, welche Software/Lib man nutzt. Die Demo läuft fast einwandfrei durch, will man das Display aber für einen eigenen Sketch nutzen- ist da nichts zu machen. Es fängt damit an, das der Speicher des Display nicht gelöscht wird. Setzt man eine Pisition (X,Y) wird diese nicht gehalten. Will man das Display "zurück setzen" geht das nur über "Stecker ziehen"

    Ich weiß nicht, was SparkFun hier geändert haben will- aber es ist am Mega 2560 nicht zu betreiben. Was Arduino, Software und Elektronik angeht- ich bin da nicht ganz unbeholfen. Also- Finger weg von dem Ding. Mit bestimmt nicht freundlichen Grüßen SkobyMobil

  • Dbail / about 11 years ago / 1

    Great Screen, but the documentation in the SerialGraphicLCDDemo example shows the Rx pin of the LCD being connected to Tx on the Arduino side (using an Arduino Uno). The example program is actually using software serial, so the Rx pin of the LCD needs to be connected to Pin "3" on the Arduino side, NOT to Tx.

  • Member #158122 / about 11 years ago / 1

    Question - did the SW recently change such that the origin moved from lower left to upper left? Everything printed to newer devices (purchased a few weeks ago) appears in the opposite vertical order than text printed to older devices (purchased about a year ago.)

    • We did recently update the code to a much more functional library. Check the GitHub link above to see the new code, and if you would like to download it to update your older screens.

  • Member #210530 / about 11 years ago / 1

    Pain in the A**!!! That is all I have to say about this screen and arduino..

  • Member #356497 / about 11 years ago / 1

    All those messages are very old. Is it because today all bugs are gone and this product is strong?

  • Member #418122 / about 12 years ago / 1

    Hello,

    I created a serial interface for 128x64 graphic LCD, this reduces the pin requirement from 14 to just 2. Check it out: -

    https://sites.google.com/site/hobbydebraj/home/2-line-interface-for-graphic-lcd

  • Member #160831 / about 13 years ago / 1

    I'm an electrical engineer at Purdue. My classmate and I didn't get this screen working. We blame the software on the backpack. Noticed some others have fixed the software for smaller sized screens, but not this one. When I called Sparkfun to talk about returning it, I was told it at least sorta works. It sounded like he meant that selling it for 2 years proves it works.

  • Member #160831 / about 13 years ago * / 1

    Got it to print characters. None of the characters I was trying to print. I blame the backpack. (or connections thereto)

    Has anyone used tterm or ttermpro to talk to this thing? Is there something incorrect about the terminal emulation that makes it not work?

    • CPJ / about 13 years ago / 1

      Ive used it through good old HyperTerminal without any major problems, aside from the command flag 0x7C or the '|' button sometimes does not go through properly or it does when i haven't pressed it, causing a loop when it trys to receive the next byte for the actual command, and im still typing things. So using a terminal was a little bit buggy, had to reset it a few times but mostly it was alright. You might be using the incorrect baud rate?

  • Member #149090 / about 13 years ago / 1

    Dear All,
    I tried to use this display as a user interface to an over molding machine, i spend a month to get it to work more or less functional, but slow, I had to put in a lot of delays to make the display happy. In the end i used a propeller chip as a vga screen driver, the cost are 200 % more but it works like a Ferrari, super fast (115200) and no glitches. Volker

  • Member #84737 / about 13 years ago / 1

    Any chance we will get an official SFE update to the firmware?
    I can only send text to LCD from my ATmega, it doesn't recognize control characters.

    • MikeGrusin / about 13 years ago / 1

      How are you sending control characters? The firmware is indeed old, but I've used it many times without that issue.

      • Same here. It should work.

        • Member #84737 / about 13 years ago / 1

          Oh i see, i was sending with printf("%d",124), it should be printf("%c",124), sry I am EE :P
          Thanks :)

          • Member #84737 / about 13 years ago / 1

            what is the putch("") command? I never saw it before, in which library can I find it?

  • i´m having problems too, related to the code. Using arduino 328
    In function 'int main()': error: invalid conversion from 'void ()(char)' to 'int ()(int)' In function 'int main()':
    erro .... rprintf_devopen(put_char); /* init rrprintf */
    Seems like it can convert from char to int.

  • tbitson / about 14 years ago / 1

    Anyone have a problem with the DrawBox command putting block characters at the top of the screen? I'm using the Draw Box command repeatedly to create a bar graph. Every call to DrawBox draws the box, but I also get a 5 x 7 block in the upper left corner that progresses across the screen like I'm sending an extra character. Note that I'm using softSerial, and yes there is a delay between calls to this function:
    Here's my function:
    void drawBox(byte x1, byte y1, byte x2, byte y2, boolean draw)
    {
    softSerial.print(0x7C, BYTE;
    softSerial.print(0x0F, BYTE);
    softSrial.print(x1, BYTE);
    softSerial.print(y1, BYTE);
    softSerial.print(x2, BYTE);
    softSerial.print(y2, BYTE);
    if (draw)
    softSerial.print(0x01, BYTE);
    else
    softSerial.print(0x00, BYTE);
    }

    • Glought / about 14 years ago / 1

      I was able to get this to work on the Arduino by just using the backpack code and the Datasheet as a ref. I converted Hex to Dec. and it looks to work fine. I also added a clear screen at the end of my code to keep character drifting out. Hooking it up through a Serial to USB cable helped in debugging calls.
      //draw box mid screen
      Serial.print(124, BYTE);//0x7C
      Serial.print(15, BYTE);
      Serial.print(0, BYTE);
      Serial.print(30, BYTE);
      Serial.print(135, BYTE);
      Serial.print(100, BYTE);
      Serial.print(1, BYTE);
      An Arduino .h file is next.

      • Member #84737 / about 13 years ago / 1

        shouldn't this do the same job in WinAVR?
        printf("%d",124);
        printf("%d",15);
        printf("%d",0);
        printf("%d",30);
        printf("%d",135);
        printf("%d",100);
        printf("%d",1);

        • MikeGrusin / about 13 years ago / 1

          I think that will print out the literal string "124" etc. Try:
          putch(124);
          etc.

  • Jade / about 14 years ago / 1

    Had been working with this model for a few months now. Made a wireless bluetooth display with it and written shaders for displaying grayscale graphics by varying pixel density (will post the Python code and screen grabs later).<br />
    <br />
    The display drains 4AA batteries (regulated down to 5V with a 7805) in about 8 hours with half the backlight intensity (and bluetooth mate operating off the same pack). Refreshing the image at maximum baud rate though a direct serial connection takes about 3 seconds. Serial transmission over bluetooth (using SparkFun's bluetooth mate) slows down the full refresh to about 12 seconds, even when running on the same baud setting.<br />
    <br />
    The backlight causes shadow cast by darker pixels to bleed resulting in unpleasant visual artifacting, which is a lot less visible woth the "black on green" LCD's (also sold by SparkFun). I'd recommend those for visual clarity and high contrast.<br />
    <br />
    The reasons to go for this display are: resolution, size and color, if the project you're working on just has to be blue.<br />
    <br />
    Cons: Slow refresh rate (primarily due to LCD backpack processing of serial data). Low contrast. Bleeding shadows at high backlight settings.<br />
    <br />
    Good product overall.

  • pablocabral / about 14 years ago / 1

    I?ve just start working with the LCD. I?m trying to test it by using an serial emulator: 115,200bps , 8 data bits, 1 stop bit, no parity.
    Unfortunatly what I type is not the same that appears on the LCD. From the comments here, I saw that other people had this problem also. Does anybody know how to fix it?
    Thanks.

  • tyler1 / about 14 years ago / 1

    i just received this display and first of all when i got it it was all ready cut out of its electrostatic bag which is weird. Secondly i cant get this thing to work no matter what i try to do please help.
    thanks for any help

    • Chiel / about 14 years ago / 1

      Mine came in a opened static bag aswell but worked fine.
      the sGLCD was buggy as hell when i got it but this was solved by upgrading the Atmega. maybe reflasing the Atmega may help you aswell.
      it would be best to contact the Tech support though.
      they have helped me get my picaxe programmer working which didnt work on arrival either. plus they respond within a day.

  • Lennart / about 14 years ago / 1

    Spec says "Voltage: 6V ? 7V DC"
    I don't have 6-7V available in the thing I'm building, so I've been using the 5V I get from an Arduino, and this seems to work just fine. The A is fed by a 9V wall-wart.
    What are drawbacks of that, if any? I could build in some power gizmo, but do I have to?

  • Lennart / about 14 years ago / 1

    So.... if I want bigger font AND want to use the serial i/f, I need to update pixel by pixel using the Set/Reset Pixel command sequence. Right?

    • Unfortunately, yes. There is no text scaling built into the firmware.

      • Member #543556 / about 10 years ago / 1

        font

        Has text scaling been built into the firmware since the last 5 years? Would be nice if there was a way to increase font size using a simple command rather than going pixel by pixel.

  • foxkid / about 14 years ago / 1

    I've also added new-line processing, so it is a closer implementation of a glass-TTY. I found that writing strings to the screen was annoying without the backpack handling line endings.
    The algorithm should do something "reasonable" for PC and Linux/Unix line endings. I don't know the MAC convention.
    Email me at carl dot mikkelsen at gmail dot com for a source distribution.

  • foxkid / about 14 years ago / 1

    I have rewritten some of the serial communication code for the Graphic LCD Backpack to:
    1) implement a true, IRQ safe, circular buffer
    2) observe proper buffer discipline
    3) remove the "command near the end of buffer" cases
    4) increase the buffer to 512 bytes
    5) send X-OFF (S> when the buffer is 3/4 full
    6) send X-ON (Q> when the buffer is back to 1/2 full
    This now has resolved some of the bugs I saw, and I can drive it much faster since the Arduino driving it need not guess how fast it can send.
    There are still a few random pixels appearing on the bottom line -- probably a problem in the line-drawing code, as that is what I am heavily using.
    My question is, how do I release this code back to SparkFun (or anyone else?).
    Anyone wanting the code can email me at carlmikkelsengmailcom.
    I have a dual-Arduino test bench right now :) A Duemilanove as the ISP, and a MEGA as the test engine. Once I wired it up properly, it works quite well. Cudos to the Arduino development team.
    -- Carl

  • Chiel / about 14 years ago / 1

    well the source code is available and the backpack has an avr programmer header so someone could take a look at the firmware and optimize it a bit so it wont have that many bugs.
    i still find this lcd to be fun toying with.
    sure sometimes it does something wrong but its still better then having to control it manually.

  • ethan / about 15 years ago / 1

    I can't get this screen to work correctly. I'm using a USB-to-rs232 cable from Sparkfun, and Termite terminal program to talk to it. When I send characters to the screen, they come out incorrect. For example, a lowercase "s" displays an uppercase "F". Most characters are illegible/gibberish, though. It does not recognize the pipe "|" character and instead displays illegible pixels. The baudrate is correct, 115,200kbps ...
    it gets worse when I try to talk to it with my ATmega128. Has anyone dealt with these kind of issues?

  • Pablov00 / about 15 years ago / 1

    I found several bugs in the firmware of this display. For example, it sometimes does not decode the commands properly and prints garbage instead of decoding a coordinate change, or when drawing boxes and placing text in the same screen, it randomly prints characters or erases areas of the screen. Does anyone have any comments on this issue? I would like to know what development tool would be needed to modify the firmware inside the ATMega to fix these bugs or if (hopefully) anyone has already fixed them.
    Cheers!

  • Svalebror / about 15 years ago / 1

    I cobbled together this simple api to talk to the display in C:
    http://pastie.org/768576
    you'll have to implement serialWrite yourself :-)
    It is true the firmware of the serial backpack is badly implemented and riddled with bugs, but I still find it useful and it's open source so someone could easily fix it.

  • Tumbler / about 15 years ago / 1

    This display sucks, backpack has a lot of bugs:
    backlight is not adjustable.
    box draw command is not working, erase works fine.
    sometimes the backpack resets back to 115200 baud...

  • egaertner / about 15 years ago / 1

    I can't adjust the backlight on mine, it looks like the transistor Q1 arrived DOA (shorted closed). Does anyone know what the spec for this part is so I can try and replace it?

  • Chiel / about 15 years ago / 1

    im having a little bit of diculties with the serial interface. at random intervals i find that the backpack fails to succesfully receive a byte. whats the best way to control this display with an arduino?
    im currently using Serial.print(var,BYTE) @ 115200.

  • Stefan4 / about 15 years ago / 1

    That does not work correctly:
    $regfile = "M8def.dat"
    $crystal = 1000000
    $baud = 4800
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    Declare Sub Ser_cls
    Declare Sub Ser_kreis(byval X As Byte , Byval Y As Byte , Byval Radius As Byte , Byval Farbe As Byte)
    Const Befehl_folgt = &H7C
    Dim Kommando As Byte
    Do
    Call Ser_cls 'Bildschirm loeschen
    Print "Hallo Welt ";
    Wait 1
    Call Ser_kreis(80 , 64 , 5 , 1)
    Wait 4
    Loop
    End
    Sub Ser_cls
    Kommando = &H00
    Printbin Befehl_folgt ; Kommando; 'Bildschirm l?schen
    End Sub
    Sub Ser_demo
    Kommando = &H04
    Printbin Befehl_folgt ; Kommando; 'Demo
    End Sub
    Sub Ser_kreis(byval X As Byte , Byval Y As Byte , Byval Radius As Byte , Byval Farbe As Byte)
    Kommando = &H03
    Printbin Befehl_folgt ; Kommando ; X ; Y ; Radius ; Farbe ; 'print passed variables
    End Sub

  • Stefan4 / about 15 years ago / 1

    That works:
    $regfile = "M8def.dat"
    $crystal = 1000000
    $baud = 4800
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    Declare Sub Ser_cls
    Const Befehl_folgt = &H7C
    Dim Kommando As Byte
    Do
    Call Ser_cls 'Bildschirm loeschen
    Print "Hallo Welt ";
    Wait 1
    'Wait 10
    Loop
    End
    Sub Ser_cls
    Kommando = &H00
    Printbin Befehl_folgt ; Kommando; 'Bildschirm l?schen
    End Sub

  • Stefan4 / about 15 years ago / 1

    Hi,
    nice display.
    Does anyone have BASCOM source code for this display?
    I have some success (writing text, Clear Screen, Call Demo Code is working) but drawing circles is only working 'half the way' (it draws a circle which is too bif and it prints some strange characters). Setting coordinates does not work yet.
    Thank you
    Stefan

  • bont / about 15 years ago / 1

    Is there a chance that new pieces will arrive soon?

  • I'm trying to run the serial 160x128 graphic lcd with a 16F877. If anyone has accomplished this, could they post some help?

  • TomFromMN / about 15 years ago / 1

    Hello, is there a way to re-program the backpack? I think that I must have done something to the code of the Atmega168 by having the board connected to my Arduino Mega while I uploaded programs, the LCD is starting to get glitchy. Thanks, Tom

  • Richard Hart / about 15 years ago / 1

    Yes, I've a question. I'm using a propeller chip to talk to the serial backpack. I can get everything to work except for two of the most important functions: CR & LF. When I send a 0x0C or 0x0A to the LCD, it prints two garbage characters. What gives? I know it's not my code because I'm running parallel streams to a terminal debug and a Parallax 4x20 LCD. Both the terminal and Parallax LCD handle the CR & LF correctly, but Sparkfun's Big Bertha...not so good.
    How are you at Sparkfun central handling carriage returns/linefeeds on this big girl?

    • Member #305130 / about 13 years ago / 1

      Richard, how were you able to interface prop with this? I'm writing a spin code but it seems that the backlight duty cycle is only thing that I can change. No letters, nothing. I can't even put product demo splash screen on the lcd either. Can I see your code?

  • Kshatrya / about 15 years ago / 1

    I think I using a sledge hammer approach for connection an Arduino Duemilanova to this display. So far, the only code I've gotten working looks like,

    Serial.print(0x7c, BYTE); // Command prefix

    Serial.print(0x00, BYTE); // Clear screen

    The clear screen, run demo, draw box/circle/line, and reverse screen work in this mode, but the code blocks get awfully large with two X/Y co-ords included. Is there a way to concatenate, or otherwise reduce the text length?
    Also, I can't get the display to change baud rate. It seems to be fixed at 115200. Sending 0x7c/0x07/n has no effect. Is 0x7c/0x07/0x02 the correct sequence for 9600 baud?

    • Richard Hart / about 15 years ago / 1

      For question 1, sending x1,y1,x2,y2 commands isn't really that much code length when you compare it to what you would have to do to generate something pixel by pixel. A lot of the time you end up drawing the same relative shape, simply displaced on the screen--so you can make that a subroutine call. If you can perhaps give me an example where you find the code length to be unduly, I might help you condense it.
      As for your second question, Is 0x7c/0x07/0x02 the correct sequence for 9600 baud?
      The answer is no. I believe if you send 0x7C, 0x07, 0x32, that should set the baud rate correctly. Remember the third byte is the CHARACTER "2" which is 0x32, not 0x02.

  • bont / about 15 years ago / 1

    OK...i am comfused!
    l use the atmega16 to control this screen but i fail to do so.
    So,i have some questions.
    ->Is atmega168(on screen) already programmed?And if not, how am i going to program it?
    ->Is there anything else that i should know except those things included in datasheet?
    ->Has anyone managed to control this screen with a microcontroller?
    Chris
    THX

    • Hi,
      ->Yes the atmega168 is programmed
      ->No, the datasheet should be enough
      ->Check your connections. Make sure that the LCD is getting at least 6V, the GND from your atmega16 is connected to the LCD, and that the RX pin from the atmega16 goes to the TX pin on the serial backpack.
      if you need anymore help, feel free to email tech support :)

  • dude / about 15 years ago / 1

    Any luck driving it with only a 5V or 5.5V supply (presumably at reduced brightness)?

    • dude / about 15 years ago / 1

      AT 5 volts it works, but the contrast when viewed straight-on is too low to be usable (the characters are almost invisible). Viewed at a 45 degree angle, you can read stuff which makes it acceptable for testing at 5v, but not actual deployment.
      The lack of support for newlines (CR/LF) by the backpack is a huge flaw.

  • Bi00hazzard / about 16 years ago / 1

    Anything else, just ask. The 0xff at the end of all my commands are the end of my string since im not using printf, im using my own SendMsg.
    I see what the guys here did, easy mistake, they just left out the a-f count in hex:
    A=0x01, B=0x02, C=0x03, D=0x04, E=0x05, F=0x06, G=0x07, H=0x08, I=0x09, J=0x1a, K=0x1b, L=0x1c, M=0x1d, N=0x1e, O=0x1f, P=0x10, Q=0x11, R=0x12, S=0x13, T=0x14, U=0x15, V=0x16, W=0x17, X=0x18, Y=0x19, Z=0x1a
    sorry that its two comments :-/...have a limit of 1100 characters...haha

  • Bi00hazzard / about 16 years ago / 1

    Ok guys, I worked on this for about two weeks now and had an "duh" moment. I am using an Atmega128 and CodeVision avr fyi.
    spranger, below you will find the commands you need to control both the x, y, square, ect...
    ClearScreen = {0x7C,0x00,0xFF}; //clears off screan
    Backlight Duty = 0x7C,0x02,50,0xFF}; //50% duty cycle
    Baud Rate = 0x7C,0x07,0x32,0xFF}; //baud of 9600
    Demo = {0x7C,0x04,0xFF}; //demo code
    XCoord = {0x7C,0x18,1a,0xFF}; //x location at 26 (1a hex)
    YCoord = {0x7C,0x19,1a,0xFF}; //y location at 26 (1a hex)
    Square = {0x7C, 0x0F, 0, 0, 159, 127, 0xFF}; //border around the screen
    Circle = {0x7C,0x03,0x50,0x40,0x0A,0x01,0xFF}; // draws circle, if the 0x01 changes to 0x00 it erases it
    Pixel = {0x7C,0x10,0x50,0x40,0x01,0xFF}; // draws a pixel at this location, if 0x01 changes to 0x00, it erases
    Line = {0x7C,0x0C,20,100,20,108,1,0xFF}; draws a line from x20 y100 to x20 y108.
    Reverse = {0x7C,0x12,0xFF}; changes blue to white, and vice versa...just gotta call it once.
    SplashScreen = {0x7C,0x13,0xFF}; loads up the AWESOME sparkfun logo :)

  • Bi00hazzard / about 16 years ago / 1

    I noticed when I tried to send the code to reverse the background or to set the x,y coord. it will not work. I am using Codevision AVR with an Atmega128. Everything else seems to work fine for me. Its a great screen, just need to figure out how to reposition text on the screen...

    • dude / about 15 years ago / 1

      Some of the codes that are given as hex in the documentation (e.g. 0x18) are actually decimal (e.g. 18). I forget which, but it might be all of them. It's easy to verify.

  • CrustyCarbuncle / about 16 years ago / 1

    I have one of the earlier serial DX-160 serial 160 x 128 displays. How is this different?

    • I...don't have enough information on that one to answer intelligently, sorry. The data sheet will be posted later today. Hopefully that will answer your questions. If not, you can always shoot us an email and we'll help you out however we can.

  • jm.nasser / about 16 years ago / 1

    Are you planning to provide the backpack alone, without the lcd for the owner of the parallel version ?LCD-08799??

Customer Reviews

3 out of 5

Based on 6 ratings:

Currently viewing all customer reviews.

pretty good nowadays. Tough quite slow

This product has a bit of a troubled past. the Serial backpack had a pretty lousy code for quite a while causing plenty of errors during simple serial communication. this lasted for quite some time. Plus the code is pretty slow. If you are thinking about using this for anything but displaying static images or information don't bother. It is way to slow for animated stuff like say Conway's game of life.

UPDATE: Well i updated the firmware again. now it's having trouble with pixels at times. also the Backpack's Potentiometer is starting to fail.

Seriously. Go for something newer if you want a good screen. this ain't that good for current stuff.

Image only gets nice if you tilt the LCD 45 degrees

I'm quite sure I'm doing everything right here. Adjusted the contrast potentiometer to its min and max values, but event at the best calibration, pixels are too bright. Image only gets nice if you tilt the LCD 45 degrees - then you get a perfect blue background with white pixels.

Terribly disappointed

I have been extremely satisfied with the previous products I've bought from you guys... so you can imagine my shock and bewilderment when I bought this screen and the backpack came damaged. Below are 2 attached images:

http://imgur.com/a/qW94K

If you look closely, I'm not sure if there's supposed to be a connector or something there but it seems it was ripped out prior to packaging because it's nowhere in the static bag. Also, the entire copper pad for the Vin is missing. The copper traces for Rx and Vin are broken.

I have tried soldering those copper traces, but it's a dead Backpack. So there's something else wrong with it. The screen still works when I use the parallel interface. it's an inconvenience... but it works. I was initially going to order two of these screens but changed my mind last minute... maybe this is a sign I made the right decision.

Hi, Looking at your pictures, it looks like the screen was damaged in transit. Likely it was smashed or force was applied to have caused the damage as shown. Please contact our support team. We'll be happy to help you resolve this issue.

Good inside but poor contract in the sun and poor viewing angle

The serial interface is straightforward so it was quick to start controlling the screen with a simple python scrip. Inside, the screen looked great and I really like the big size. But outside you can barely see the letters and the viewing angle is only about 60 degrees from normal. I wanted to use this outside so I think I will try an OLED display or an e-ink display next.

Works as advertised but slow!

The product works as advertised. Hookup and programming is very easy. IT is well made and looks nice. However, it is dreadfully slow. There is no flow control and so pauses must be put into your code to deal with this, this makes an already slow interface even slower. Dont expect to do anything in real time with the display,.

I dig it

While everyone appears to be less than pleased with this product I am pretty happy. The screen brightness is great for indoor use. I hooked it up in accordance to the "Serial Graphic LCD Hookup" guide. The only thing that I found is inaccurate is that the example says to hook it up to the Arduino TX pin but you should hook up to pin 3 which is what the .cpp file sets as the softwareserial receive pin. Also you will have to change the maxX and maxY to 159 and 127 respectively for this LCD. Other than that it was just some tinkering with the code to get the timing write when displaying strings and numbers. You should add small delays between these to give the LCD time to update. I intend to use this LCD in my brewpub brewhouse as the display for my control panel and I think it will work great. The only question I have is how to run two of these off the same arduino using two software serial ports.....