Discussion in 'Cases & Case Modding' started by FLECOM, Jun 4, 2004.

Thread Status:
Not open for further replies.

    FLECOM Modder(ator) & [H]ardest Folder Evar Staff Member

    Jun 27, 2001
    Text Displays

    Ok, I'm a total newb and don't understand any of this LCD setup stuff, where can I find help?

    You just found it! This FAQ will hopefully be able to answer all your questions. If not please try the Search feature on the top right or if that is unsucessful make a new thread and we will try to help you

    What is the difference between a serial and parallel LCD?

    Parallel port LCDs are cheaper, first off. They're also very very fast. The downside is that you either have to wire it yourself to a parallel port, or buy a prewired version from someone. The LCD comes with a chip or two on the back - almost always the Hitachi HD44780 or some clone of it like the Samsung KS0060, and you wire a parallel cable, power wires, and contrast/backlight controls onto the 14 or 16 pins on the LCD.

    The reason you don't see them as much is not because of their construction, but because of Windows. Windows OSes that use NT kernels (NT 4, 2000, and XP) restrict port access as a security and stability measure. THIS IS A GOOD THING for you, but for software engineers like me, it's a pain in the ass. There's two ways to get around this limitation.

    The first way is to use a commercial OCX or DLL that "tricks" the kernel into allowing your software to have port access. The downsides to this are that it only works for ports, so you can't do any autodetection, it's hard to port from OS to OS, and if the company turns around and decides it wants to start charging, you're screwed. LCDCenter uses this technique, using Port95NT, but it's doubly limited since it's written in VB and as such can't drive the port very quickly.

    The second way is to write your software to insert a Ring 0 driver (i.e. assembly at the lowest level) into the NT kernel on the fly. This allows you to get full access to physical memory addresses, ports, etc which means you can autodetect ports using the BIOS and other stuff - but it's a royal pain in the ass to do. LCDriver v2.0 uses this technique, and uses an existing opensource kernel-level driver called WinIO.

    Now, serial's a lot easier to do. Since you can do serial port access no matter what version of Windows you're running, a lot of prebuilt displays (CrystalFontz, Matrix Orbital, Seetron) use serial. The upside is, you don't have to run it as Administrator under NT, and from my perspective, it's easy to program for. The downsides are that serial's slower, and it's much harder to implement for the LCD manufacturer, which means that serial LCDs tend to cost far more than their parallel counterparts.

    I've worked with CrystalFontz and Matrix Orbital extensively, and would definitely recommend either of them - they both have excellent quality and great people.

    There's also a third option - you can buy a serial conversion board, colliquially called a backpack. You solder these onto a parallel LCD, and solder a serial cable to the backpack, and then can plug the whole shebang into a serial port. I know of six currently being
    produced, two of which are DIY boards:

    * The Wirz SLI-OEM (the first one on the scene)
    * The Seetron BPK-000 (a clone of the Wirz board)
    * The iMods UltraSI (another Wirz clone)
    * The Econo-LCD (makes it equivalent to a Matrix Orbital display)
    * The PIC-an-LCD chip (completely DIY)
    * The ELabs EDE700 chip (completely DIY)

    The first three all have the same opcodes and are supported by LCDriver v1.x - the second one emulates a Matrix Orbital command set perfectly, and also works with the v1 codebase. The latter two have their own funky setup, and only work in LCDriver v2.0, which is currently in semi-public beta testing.

    There is a guide here for hooking up a CrystalFontz Parallel LCD to a Wirz SLI-OEM backpack

    Q: When I try to test my CrystalFontz LCD display, I get a post then alot of weird letters, what's wrong?

    A: The first thing you should do is check the supported baud rates of your LCD. This info can be found at CrystalFontz's website or if you check the back of your LCD there should be a small table on the back of the circuit board with a list. Check the table and compare it to your dipswitches on the back of the LCD. For each default baud rate there is a dip setting. I would reccomend you set it to a baud rate of 9600 because this is the max supported by the ever popular LCDriver. Then make sure your default baud rate setting on the LCD matches the baud rate setting on the software of your choice!

    Where can I buy Serial LCDs?

    Matrix Orbital
    Offer a few Serial LCDs in different sizes, also carry serial VFDs
    Loads of different Serial LCDs now, sizes and mostly colors.
    Scott Edwards Electronics (aka Seetron)
    They offer a small range of Serial LCDs and VFDs.

    Where can I buy Parallel LCDs?

    All Electronics
    The Electronic Goldmine
    These are all Electronics Surplus outlets, their inventory changes a lot and they get all sorts of different sizes and colored LCD's and some (BGMicro a lot) get VFDs also

    FLECOM Modder(ator) & [H]ardest Folder Evar Staff Member

    Jun 27, 2001
    LCD Howto Guides:
    Parallel (HD44780 and others) LCD Wiring Schematics
    Great guide on hooking up a Parallel port HD44780 typical setup
    Great HD44780 guide
    Futaba Parallel VFD Hookup & HD44780 Hookup
    TwistedMods did a good write up on wiring the BGMicro 2x20 VFD

    LCD Software:
    works with pretty much every kind of LCD including some strange controllers AND graphical displays
    An excellent program for CrystalFontz and MatrixOrbital Serial displays, along with HD44780 and Hitachi based Parallel displays.
    CrystalControl by CrystalFontz, works with CrystalFonz Serial LCDs, and any HD44780 Parallel displays (including 4x40 Displays)
    Excellent plugin-based driver for Serial Displays (MO & CF) LCDriver v2 will support more displays (please dont ask when it will be released, Uller has stated that it will be "released when it is done.")
    One of the original apps for running HD44780 displays in 2k/XP, author has discontinued support (please don;t email him about it) and will no longer be updating it[/url]
    Software for Serial & Parallel Displays for Linux & BSD
    another Linux BSD app that supports LOTS of displays
    LCD Control
    HD44780 app, not updated anymore, also has a neat 9x exe that you can put in your autoexec to display something while booting... app itself works in 9x/2k/xp
    MO app, supports GPO's and conditional stuff... good app, not free

    Q: Can a parallel to usb converter cable like this work for parallel LCDs?
    A: Short answer: No, long answer, there's no way to hack it. We've looked at it extensively. The problem lies not in the hardware but in the software; the driver creates a virtual printer port which only the Windows print spooler can see. It does not allow the spooler to control the lines in any way other than the standard Centronics printer protocol, nor does it provide an I/O address for more direct control of the system.

    There have been some projects to make USB LCD controllers, SkyLab's, Eelco Schijf's very promising LCDtoUSB and USBLCD.de's are the only ones i am personally aware of

    I want to make a program for HD44780 based displays but I need more info on how to talk to it (the LCD silly :p)

    Is there a list of HD44780 compatable displays?
    sure is...
Thread Status:
Not open for further replies.