Retired!

This is a retired product, but fear not as there is a newer, better version available: LCD-11377

Creative Commons images are CC BY-NC-SA 3.0

Retired RETIRED

This product has been retired from our catalog and is no longer for sale.

This page is made available for those looking for datasheets and the simply curious. Please refer to the description to see if a replacement part is available.

Replacement: LCD-11377. We now carry the G2 revision of this part. This page is for reference only.

Description: The uLCD-144(GFX) is a compact and cost effective  display module using the latest state of the art LCD (TFT) technology with an embedded GOLDELOX-GFX2 graphics processor that delivers ‘stand-alone’ functionality to any project. Powerful graphics, text, image, animation and countless more features are built inside the GOLDELOX-GFX2 chip.

The module is designed to work out of the box and you are now ready to write your code in 4DGL (a high level 4D Graphics Language) using the 4DGL-Workshop3 IDE (editor, compiler, linker and downloader). This will save weeks even months of development time on your next embedded graphics project.

4DGL is a graphics oriented language allowing the developer to write applications in a high level language, syntax similar to popular languages such as BASIC, C and Pascal. The module offers modest but comprehensive I/O features that can interface to serial, analogue, digital, buttons, joystick, sound generation and Dallas 1-wire devices. In short,  the uLCD-144(GFX) offers one of the most flexible embedded graphics solutions available.

Note: This module is shipped with the "GFX" firmware. Either firmware can be loaded onto the device, however. For more information on reloading the firmware, see the 4D Systems product page below. Also, It's been brought to our attention that trying to program the 4D screens using an FTDI breakout can damage the driver. You'll need to use the FT232RQ USB to Serial which you can find in the related items below.

Features:

  • 128xRGBx128 resolution, 65K true to life colors, LCD-TFT screen
  • 1.44” diagonal size, 43 x 31 x 5.7mm. Active Area: 25.5mm x 26.5mm
  • LED back lighting with greater than 150° viewing angle
  • Easy 9 pin interface to any external device:
    • 3.3Vout, IO2, GND, IO1, RESET, GND, RX, TX, Vin
  • Powered by the 4D-Labs  GOLDELOX-GFX2 graphics processor highly optimized for 4DGL, the high level 4D Graphics Language.
  • 2 x GPIO ports supports:
    • Digital I/O
    • A/D converter with 8/10 bit resolution
    • Complex sound generation
    • Dedicated RTTTL tune engine
    • Multi-Switch Joystick
    • Dallas 1-Wire
  • 10K bytes of flash memory for user code storage and 510 bytes of RAM for user variables (255 x 16bit vars).
  • Serial TTL interface with auto-baud feature (300 to 256K baud).
  • On-board micro-SD memory card adaptor for storing of icons, images, animations, etc. Supports 64Mb to 2Gig micro-SD as well as micro-SDHC memory cards starting from 4GB and above.
  • Comprehensive set of built in high level 4DGL graphics functions and algorithms that can draw lines, circles, text, and much more.
  • Display full color images, animations, icons and video clips.
  • Supports all  available Windows fonts and characters (imported as external fonts).
  • 4.0V to 5.5V range operation (single supply).

Documents:

Comments 33 comments

  • please find my video here
    RFID with uLCD and pic16f88

  • So let me get this straight. This thing is a color LCD with built in controller, backlight circuitry, microSD socket which is compatible with both low capacity and high capacity cards, AND! it basically has a user programmable microcontroller with 10k of program space and 2 GPIO lines in addition to all the on-board control lines for interfacing with the LCD?

    • According to the 4D site, a big Yes. I can’t wait to get my hands on this. One critical thing that is missing though imo is a real-time clock.

  • Well, the uSD worked for about a minute. I could read an image off of it and display it. Then it went flaky and I have exactly that same issue as this guy:

    http://4d.websitetoolbox.com/post/uLCD144-and-uSD-problems-5399138

    Works fine without a uSD inserted. As soon as you insert one (and I’ve tried 4) the screen goes black.

    Great unit, but I wouldn’t depend on the SD card.

  • Is this display sunlight readable?

    • Shazbat … no answer here after 9 months. And this is exactly what I’d love to know.

      By any chance did you get one? Have you tried it outdoors?

      • I got one of these displays a few days ago. I’ll take it outside to see how well it will work. It has a bit of a glare, but perhaps with some sort of cover on top of it it won’t look horrible.

  • Hi Guys, in case anybody is looking for Arduino library & example for this screen, I’ve posted my setup at http://www.rusbaevents.com/valery/Vevents/EMW/code/uLCD_144_VM_library.zip.
    Note that I am using an SGC version of the screen (simple software reflash using PmmC loader provided at the manufacturer site). I am using V17 of SGC PmmC.
    Love this little display.
    V

  • After agonizing over the 0.96" screen with nearly the same controller for months and going through all the outdated or dysfunctional libraries available for it, I found one that works with the Uno / 328 and the most recent Arduino IDE. Again, this is all for a slightly different screen, but it is a decent hello world for 4D serial controlled screens.
    The library is available at: http://code.google.com/p/arduino-oled/
    And I wrote up a basic Oscilloscope sketch for it that includes a trigger feature, it’s posted at:
    http://nodechomsky.com/post/3749787199/oscilloscope-for-arduino-and-4d-graphics-controller
    and video of it in action (it’s a bit blurry, but my camera is awful)
    http://nodechomsky.com/post/3750164143/this-is-the-output-from-my-arduino-based-diy

  • Just a little note to future users of this display module.
    You can use your Arduino Uno to flash uLCD-144(GFX) to uLCD-144(SGC).
    You need to upload an sketch to your Arduino with this as the only (setup) code:
    pinMode(0, INPUT);
    pinMode(1, INPUT);
    Then you need to hook up the display’s RX to Uno’s pin 0, display’s TX to Uno’s pin 1 and display’s RES to Uno’s RESET. That’s right, RX to RX, TX to TX. You are using the board as a passthrough, you are NOT talking to the Arduino itself.
    Now kill the Arduino IDE and start the PmmCLoader.exe, set the COM port and the ROM file, click Load and the RX LED on Uno will start flashing. This is the crucial bit. You need to press the reset button on the Arduino multiple times, VERY quickly. Think clickaclickaclika, not click click click.
    You also need to pay attention to what’s going on with the PmmCLoader. If it starts uploading the firmware, you STOP pressing the reset button immediately. It will probably take you a few tries to do this, but trust me, it works!

    • I tried this and the following tips with no success. Regardless of trying the clickety-click or the reset/load, it kept hanging at the first step, “erasing module”. Somewhere during trying this….it appeared to die. The screen seemed completely dead. I switched to an FTDI cable that didn’t have RESET and (as outlined elsewhere) simply held the screen reset line to ground, clicked load, and released the reset. Programming happened and the screen came back to life. All is good in the world once again.

    • Thanks for the tip.
      I found that if you hit reset on the Uno, and then click Load in PmmCLoader.exe, the firmware flashes without the need to press the reset button multiple times.

    • One more thing.
      If the PmmCLoader gets stuck at Erasing Module, you’ve clicked the reset button one too many times, i.e. you haven’t stopped clicking in time. If that occurs, just click Cancel, reset the Uno and restart the procedure.

  • The product page link is wrong; it takes you to the non-serial module. Here is the correct link:
    http://www.4dsystems.com.au/prod.php?id=121
    There you can find the serial commands

  • This screen is tiny but awesome. You can reflash it to be GFX or SGC – with SGC being much easier to use with basic serial commands. Here’s a link to more info, particularly on using it with a Netduino:http://forums.netduino.com/index.php?/topic/1027-interfacing-with-the-ulcd-144-mini-lcd-screen/

  • The datasheet here refers to a rev2 pdf file and the current one on the 4DSystems website refers to a rev3 file.
    There is a ‘rev3’ silkscreened onto the PCB in the picture - can I assume that’s what is being shipped out?

  • Just ordered a new one of these with my free-day funds! my current one is nearly 4 years old, and through general abuse i have several dead pixel rows, but it is definitely a good deal for the money.

  • Has anyone used this with a parallax propeller chip? I’m still trying to use this with a micro controller and not having much luck.

    • You only need to connect 4 lines for basic use. Vin, Gnd, Tx, Rx. if you find the command manual on the 4d systems site posted above, its a simple serial connection to your micro-controller.

  • Am I right that by removing and shorting the reverse-polarity protection diode from VIN, it van operate from a Li-ION battery? (like PRT-00731)<br />

  • Ok I have got to know…<br />
    <br />
    This LCD has many more features than others on the site, but is MUCH less expensive. Why? What’s the catch?

    • its LCD, while much of 4dsystems current work is based on the OLED technology, which for most of their devices doubles the price.

  • Here is their web site
    http://www.4dsystems.com.au/prod.php?id=127
    Apparently they don’t yet have an Arduino library, but on the page they mention several resources with sample code. There is also what looks like a reasonably complete spec for the command codes.

    • the command sheet does cover every pre-defined command, though personally i use the SGC model, not the $DGL programming language, so im not sure how extensive thier set is, but they do have a manual for each command set.

  • Could some one point me to a website to hook the LCD to Arduino Duemilanove board.

  • I’ve played with this a bit using 4Ds Workshop software. To connect serial, I used SparkFun’s FTDI Basic board (5V), and powered the LCD from this board. I couldn’t get squat to happen after hooking up power and the TX and RX lines. But it worked fine when I connected the LCD board Reset line to DTR on the FTDI board. I ran through the examples. Some didn’t compile, but I fixed them and they worked.
    I did this without RTFM, so I would classify it as really easy to use. My only hitch (not connecting the Reset line) was something I figured out in a few minutes by doing what seemed logical. I can’t call it idiot proof, but it is idiot resistant…
    This is a great display for the money, and I love it. I’m getting more of them.

    • Unfortunately, this Sparkfun module is the GFX firmware. There’s not a lot to be done out of the box. I think most hobbyist will want the simpler SGC firmware which requires a firmware upload. And that involves a PC-uLCD five-wire serial connection.
      As a complete n00b, the reset line is a pretty decent gotcha. Most of the 232-TTL modules I’ve seen come with a DB9 and 4 lines (+,-,rx,tx). That is, there was no way to grab RTS. A friend suggested a FTDI board or a “bub board.” I wasn’t sure if it was a slam dunk so I ended up wiring together a MAX232 using the manufacturers directions found here:
      http://4d.websitetoolbox.com/post?id=4664334 (question 4)
      Parts cost less than $10 and it worked on the first try. Got all the demos running in GFX mode for fun. Got SFX working with basic 9600 serial. The plan is to get this talking to an Arduino rather than a PC next. Total investment: $45 and 1 hour.

  • FirefighterBlu3: is there an actual datasheet for this or just a marketing splash page?
    nevermind. apparently i only got the first two pages of the datasheet the first time it downloaded.

  • is there an actual datasheet for this or just a marketing splash page?

  • Wow! This looks like a really nice display! Anyone know how difficult programming is?

    • It is extremely easy if you already have some programming experience.

    • I have no personal experience with this, but if you visit the 4D Systems web site you can read more about it. What I figured out is that it can be programmed via serial (just like the Arduino) and that the language is similar to Basic and is probably easier to use than the Arduino language (C++).
      I would give it a go.


Related Products