CFA533-TMI-KC photo

CFA533-TMI-KC

This display is truly a front-panel solution, not just an LCD module. Designed to fit in a 1U server enclosure, it is by no means confined to one. This display can drive LEDs using the GPIOs provided, configure headless servers, or, with the right software, be a wired remote for your home theater PC.

It has four directional buttons, an enter (check) key, and cancel ('x') key. Instead of using a corruptible stream-based communication protocol, it uses a 16-bit CRC protected packet-based protocol to communicate with its host, meaning that line noise, environmental interference, etc., won't cause the display to start any process on your host unless it was actually initiated by a user. Because both the keypad and LCD are backlit, this display is great for low-light conditions.

The CFA533 is backward compatible with the CFA633 for its communication interface, but has added features such as 3.3v to 5v operating range, ability to change the keypad backlight brightness separately from the LCD backlight, a stainless steel bezel, and a single supply voltage for both logic and backlighting. Voltage compensated single-supply 3.3v to 5.5v operation allows the module to easily work with a wide variety of power supplies. The CFA533 is the logical progression for any application already using a CFA633, but not utilizing the CFA633 fan functionality. With all its features, this display is perfect for the display and user interface of your next project that requires an LCD and keypad without fan control.

CFA533 Family

  • Wide power supply voltage range (VDD = +3.3v to +5.5v) is perfect for embedded systems.
  • Contrast and backlights are fully compensated over the supply voltage range. No adjustments are needed to the contrast setting or backlight brightness over the full range of power supply input voltage.
  • Only a single supply is needed.
  • Robust packet based communications protocol with 16-bit CRC.
  • Compact size: fits in a 1U rack mount case (35mm overall height).
  • Advanced digital GPIO control with PWM output.
  • Integrated LED backlit 6-button translucent silicon keypad with screened legend.
  • Available in a 5.25" half-height LCD drive bay kit.
  • ATX power supply control functionality allows the buttons on the CFA-533 to replace the "power" and "reset" buttons on your system, simplifying your front panel design
  • Temperature monitoring: up to 32 channels at up to 0.5 deg C absolute accuracy. Ready-to-use WRDOWY17 Dallas Semiconductor 1-Wire temperature sensors are optional. Alternatively, you can create your own sensors using DS1822 or DS18B20 parts and the tutorial on creating temperature sensors.
  • Non-volatile memory (EEPROM) capability: Customize the "power-on" display settings plus a 16-byte "scratch" register for storing IP, netmask, system serial number, etc.
For reference only. For design purposes, please use the specifications in the datasheet.

Physical Characteristics

Characters x Lines 16 x 2
Module Overall
width height depth
millimeters 110.5 35 25.6
inches 4.35 1.37 1.00
PCB Outline
width height
millimeters 110.5 35
inches 4.35 1.37
Other Features Affecting Size
  • Keypad
Please see the datasheet
Viewing Area
width height
millimeters 61 15.8
inches 2.40 0.62
Active Area
width height
millimeters 56.2 11.5
inches 2.21 0.45
Character Size
width height
millimeters 2.95 5.55
inches 0.11 0.21
Character Pitch
width height
millimeters 3.55 5.95
inches 0.13 0.23
Dot Size
width height
millimeters 0.55 0.65
inches 0.02 0.02
Dot Pitch
width height
millimeters 0.6 0.7
Weight 41g
Keystroke Travel 2.4mm

Optical Characteristics

Display Technology LCD
Display Addressing passive
Glass Type/Glass Color STN/Blue
Polarizer Transmissive
View Direction 6
Backlight Color White
Backlight Type LED
Mode Negative
Foreground Color White
Background Color Blue

Environmental

Operating Temperatures
min max
Celsius -20° 70°
Farenheit -4° 158°
Storage Temperatures
min max
Celsius -30° 80°
Farenheit -22° 176°
Humidity
min max
Non-condensing 0% 90%

Electronics

Controller CFA 533/633
Interface I2C

Subscribe to Part Change Notices by email Email subscription for changes to CFA533-TMI-KC or RSS RSS feed for changes to CFA533-TMI-KC

Part Change Notice #10351

Products Affected: CFA533-YYH-KS, CFA533-YYH-KU, CFA533-TMI-KS, CFA533-TMI-KU, CFA533-YYH-KL, CFA533-TMI-KL, CFA533-YYH-KC, CFA533-TMI-KC, CFA533-TMI-KI, CFA533-YYH-KI, DB533-ALTMI-KU1, DB533-ALTMI-KU2, DB533-BGTMI-KU1, DB533-BGTMI-KU2, DB533-BKTMI-KU1, DB533-BKTMI-KU2, DB533-ALYYH-KU1, DB533-ALYYH-KU2, DB533-BGYYH-KU1, DB533-BGYYH-KU2, DB533-BKYYH-KU1, DB533-BKYYH-KU2, CFA533-TFH-KU, CFA533-TFH-KS, CFA533-TFH-KL, CFA533-TFH-KC
Date Issued: August 2, 2011
Summary: CFA533 family hardware revision v1.1
Last revision: v1.0
Description: The CFA533 v1.1 hardware changes are as follows:

  1. New inductor package for backlight control circuit. This is being done to improve the manufacturabilty of the CFA533.

  2. Addition of JPGPIO1. This jumper will be closed by default and bypasses a 5KΩ pull-up resistor that is in line with GPIO[1] to the micro-controller.

  3. Improved Yellow-green backlight for the YYH variants. The backlight now has a total of 10 yellow-green LEDs instead of 6. This improves the visual quality and appearance of the LCD backlight. Typical weight will increase to 43g, from 41g for the CFA533 YYH variants.

Reason: As part of our continuous improvement process, the CFA533 family is being revised to hardware v1.1. This was done based on customer feedback to improve the functionality and appearance of the CFA533 family.
Impact: Hardware v1.1 should be a drop in replacement for most applications. No form or fit changes have been implemented.

The exception may be with the YYH variants. Due to the increased number of yellow-green LEDs in the LCD backlight, the current profile of these variants has increased.
Recommendation: Participate in discounted pricing for first run CFA533 v1.1 hardware based modules through September 30, 2011.
Availability:

  1. First run CFA533 v1.1 hardware based modules and datasheet will be available for customer qualification / in-house approval on August 8, 2011 through September 30, 2011 for a maximum quantity of three at the currently published 50 piece price.

  2. Volume shipment end of Q3 2011

  3. Shipments of v1.0 hardware will continue until inventory levels exhausted.

  4. Full transition to v1.1 hardware expected by end of Q4 2011.


Price Change: No price change is scheduled at this time. Pricing will be reviewed Q1 2012.
Attachment: CFA533_1-1_HW_PCN.pdf (828KB)

Part Change Notice #10291

Products Affected: CFA633-YYB-KS, CFA633-TMC-KS, CFA633-RMC-KS, CFA633-YYB-KU, CFA633-TMC-KU, CFA633-RMC-KU, CFA533-YYH-KS, CFA533-YYH-KU, CFA533-TMI-KS, CFA533-TMI-KU, CFA533-YYH-KL, CFA533-TMI-KL, CFA533-YYH-KC, CFA533-TMI-KC, CFA533-TMI-KI, CFA533-YYH-KI, CFA633-YYH-KS, CFA633-TMI-KS, CFA633-YYH-KU, CFA633-TMI-KU, CFA633-RDI-KU, CFA633-RDI-KS
Date Issued: November 10, 2010
Summary: Technical Bulletin TB01: Comparison of CFA533 and CFA633 Modules by Version Number
Description: The attached PDF file describes differences between our CFA633 v1.5x and CFA633 v2.0 intelligent display module series. We also list the CFA533 series as a comparison for customers who do not require the fan control available in the CFA633 series. Hardware version numbers are silkscreened on the back of the PCBs.

Additional information can be found in supporting documents for PCN:

http://www.crystalfontz.com/products/document/2371/CFA633_v1-5a_to_v1-5c_changes.pdf

http://www.crystalfontz.com/products/pcnfile/10286/PCN_CFA633_2-0.pdf
Reason: Clarify the differences between the different modules.
Impact: None.
Attachment: TB01_Comparison_of_CFA533_and_CFA633_Modules.pdf (86KB)

Part Change Notice #10282

Products Affected: CFA633-YYB-KS, CFA633-TMC-KS, CFA633-RMC-KS, CFA633-YYB-KU, CFA633-TMC-KU, CFA633-RMC-KU, CFA635-TMF-KU1, CFA635-TMF-KU2, CFA635-TFE-KU1, CFA635-TFE-KU2, CFA635-YYE-KU1, CFA635-YYE-KU2, CFA635-YYE-KS, CFA635-TMF-KS, CFA635-TFE-KS, CFA635-TMF-KL, CFA635-TFE-KL, CFA635-TFE-KU, CFA635-YYE-KL, CFA635-TMF-KU, CFA635-YYE-KU, CFA533-YYH-KS, CFA533-YYH-KU, CFA533-TMI-KS, CFA533-TMI-KU, CFA533-YYH-KL, CFA533-TMI-KL, CFA533-YYH-KC, CFA533-TMI-KC, CFA533-TMI-KI, CFA533-YYH-KI
Date Issued: June 6, 2010
Summary: Keypad height change
Description: Over the next 6 months or so, we will be transitioning to a keypad that is 1.5mm taller than the keypad currently shipping on these modules.
Reason: We have found that in all cases that we are aware of, the keypad being 1.5mm taller will alleviate some customer difficulties.
Recommendation: If you need the keypad to remain the same height for your application, please email support@crystalfontz.com so that we can set aside some of the shorter keypads for your company's application.
Availability: ~0-6 months.
Price Change: None.

Part Change Notice #10015

Products Affected: CFA533-YYH-KC, CFA533-TMI-KC, CFA533-TMI-KI, CFA533-YYH-KI
Date Issued: August 4, 2009
Summary: Change in CFA-533 I2C part number.
Last revision: v0.1
Description: CFA533-TMI-KI changed to CFA533-TMI-KC
CFA533-YYH-KI changed to CFA533-YYH-KC
Reason: KI as a suffix indicating I2C was sometimes confused with KL. We will now use KC as a suffix to indicate I2C
Impact: Part number change only.
Recommendation: Please update your part numbers for I2C parts as follows:
CFA533-TMI-KI is now CFA533-TMI-KC
CFA533-YYH-KI is now CFA533-YYH-KC
Availability: No change to availability.
Price Change: No change to price.

For reference only. For design purposes, please use the specifications in the datasheet.
add a note add a note

User Contributed Notes for CFA533-TMI-KC

clslcdmenu.zip [24KB]
allen at crystalfontz the com Aug 23, 2012 12:38PM
Visual Basic Demonstration Code for 631 and 633 supports:
- Scrolling text (speed options)
- Backlight Control
- Contrast Control
- Catch button press
- Menu Class (maintain a multi-level menu) 
allen at crystalfontz the com Aug 23, 2012 11:36AM
Java on Windows for changing text commands to CRC16 data packets understandable by CFA631, CFA533/CFA633, CFA635, and CFA735 LCDspublic class CRC16 extends Object
{
    public static void main(String[] args)
    {
        byte[] data = new byte[2];
        // hw - fw
        data[0] = 0x01;
        data[1] = 0x00;
        System.out.println("hw -fw req");
        System.out.println(Integer.toHexString(compute(data)));

        // ping
        data[0] = 0x00;
        data[1] = 0x00;
        System.out.println("ping");
        System.out.println(Integer.toHexString(compute(data)));

        // reboot
        data[0] = 0x05;
        data[1] = 0x00;
        System.out.println("reboot");
        System.out.println(Integer.toHexString(compute(data)));

        // clear lcd
        data[0] = 0x06;
        data[1] = 0x00;
        System.out.println("clear lcd");
        System.out.println(Integer.toHexString(compute(data)));

        // set line 1
        data = new byte[18];
        data[0] = 0x07;
        data[1] = 0x10;
        String text = "Test Test Test  ";
        byte[] textByte = text.getBytes();
        for (int i=0; i < text.length(); i++) data[i+2] = textByte[i];
        System.out.println("text 1");
        System.out.println(Integer.toHexString(compute(data)));
    }
    
    private CRC16()
    {
    }
    
    private static final int[] crcLookupTable =
    {
        0x00000,0x01189,0x02312,0x0329B,0x04624,0x057AD,0x06536,0x074BF,
        0x08C48,0x09DC1,0x0AF5A,0x0BED3,0x0CA6C,0x0DBE5,0x0E97E,0x0F8F7,
        0x01081,0x00108,0x03393,0x0221A,0x056A5,0x0472C,0x075B7,0x0643E,
        0x09CC9,0x08D40,0x0BFDB,0x0AE52,0x0DAED,0x0CB64,0x0F9FF,0x0E876,
        0x02102,0x0308B,0x00210,0x01399,0x06726,0x076AF,0x04434,0x055BD,
        0x0AD4A,0x0BCC3,0x08E58,0x09FD1,0x0EB6E,0x0FAE7,0x0C87C,0x0D9F5,
        0x03183,0x0200A,0x01291,0x00318,0x077A7,0x0662E,0x054B5,0x0453C,
        0x0BDCB,0x0AC42,0x09ED9,0x08F50,0x0FBEF,0x0EA66,0x0D8FD,0x0C974,
        0x04204,0x0538D,0x06116,0x0709F,0x00420,0x015A9,0x02732,0x036BB,
        0x0CE4C,0x0DFC5,0x0ED5E,0x0FCD7,0x08868,0x099E1,0x0AB7A,0x0BAF3,
        0x05285,0x0430C,0x07197,0x0601E,0x014A1,0x00528,0x037B3,0x0263A,
        0x0DECD,0x0CF44,0x0FDDF,0x0EC56,0x098E9,0x08960,0x0BBFB,0x0AA72,
        0x06306,0x0728F,0x04014,0x0519D,0x02522,0x034AB,0x00630,0x017B9,
        0x0EF4E,0x0FEC7,0x0CC5C,0x0DDD5,0x0A96A,0x0B8E3,0x08A78,0x09BF1,
        0x07387,0x0620E,0x05095,0x0411C,0x035A3,0x0242A,0x016B1,0x00738,
        0x0FFCF,0x0EE46,0x0DCDD,0x0CD54,0x0B9EB,0x0A862,0x09AF9,0x08B70,
        0x08408,0x09581,0x0A71A,0x0B693,0x0C22C,0x0D3A5,0x0E13E,0x0F0B7,
        0x00840,0x019C9,0x02B52,0x03ADB,0x04E64,0x05FED,0x06D76,0x07CFF,
        0x09489,0x08500,0x0B79B,0x0A612,0x0D2AD,0x0C324,0x0F1BF,0x0E036,
        0x018C1,0x00948,0x03BD3,0x02A5A,0x05EE5,0x04F6C,0x07DF7,0x06C7E,
        0x0A50A,0x0B483,0x08618,0x09791,0x0E32E,0x0F2A7,0x0C03C,0x0D1B5,
        0x02942,0x038CB,0x00A50,0x01BD9,0x06F66,0x07EEF,0x04C74,0x05DFD,
        0x0B58B,0x0A402,0x09699,0x08710,0x0F3AF,0x0E226,0x0D0BD,0x0C134,
        0x039C3,0x0284A,0x01AD1,0x00B58,0x07FE7,0x06E6E,0x05CF5,0x04D7C,
        0x0C60C,0x0D785,0x0E51E,0x0F497,0x08028,0x091A1,0x0A33A,0x0B2B3,
        0x04A44,0x05BCD,0x06956,0x078DF,0x00C60,0x01DE9,0x02F72,0x03EFB,
        0x0D68D,0x0C704,0x0F59F,0x0E416,0x090A9,0x08120,0x0B3BB,0x0A232,
        0x05AC5,0x04B4C,0x079D7,0x0685E,0x01CE1,0x00D68,0x03FF3,0x02E7A,
        0x0E70E,0x0F687,0x0C41C,0x0D595,0x0A12A,0x0B0A3,0x08238,0x093B1,
        0x06B46,0x07ACF,0x04854,0x059DD,0x02D62,0x03CEB,0x00E70,0x01FF9,
        0x0F78F,0x0E606,0x0D49D,0x0C514,0x0B1AB,0x0A022,0x092B9,0x08330,
        0x07BC7,0x06A4E,0x058D5,0x0495C,0x03DE3,0x02C6A,0x01EF1,0x00F78
    };

    public static int compute(byte[] data)
    {
        int newCrc = 0x0FFFF;
        for (int i = 0; i < data.length; i++)
        {
            int lookup = crcLookupTable[(newCrc ^ data[i]) & 0xFF];
            newCrc = (newCrc >> 8) ^ lookup;
        }
        return(~newCrc);
    }
}
  
allen at crystalfontz the com Aug 23, 2012 11:10AM
This is C# (C sharp) used to control CFA633, CFA635, CFA631 USB LCDs and keypad buttons. It's bare-bones. Does not monitor return packets or SCAB/Keypad reports. 

The first thing to improve would be to open the serial port in a class constructor or open method, then close it in a destructor or a close method so that ports aren't continually opening and closing for each packet, as they are in this example code.
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Text;
namespace ConsoleApplication1
{
    publicclassLCD
    {
        public SerialPort Port = newSerialPort("COM3", 115200, Parity.None, 8, StopBits.One);
        public struct PACKET_STRUCT
        {
            public Byte command, data_length;
            public Byte[] data;
            public uint crc;
            public PACKET_STRUCT(Byte[] byteArray, Byte c, Byte length)
            {
                command = c;
                data_length = length;
                data = byteArray;
                crc = uint.MinValue;
            }
        }

        private static uint[] crcLookupTable =
        {
            0x00000,0x01189,0x02312,0x0329B,0x04624,0x057AD,0x06536,0x074BF,
            0x08C48,0x09DC1,0x0AF5A,0x0BED3,0x0CA6C,0x0DBE5,0x0E97E,0x0F8F7,
            0x01081,0x00108,0x03393,0x0221A,0x056A5,0x0472C,0x075B7,0x0643E,
            0x09CC9,0x08D40,0x0BFDB,0x0AE52,0x0DAED,0x0CB64,0x0F9FF,0x0E876,
            0x02102,0x0308B,0x00210,0x01399,0x06726,0x076AF,0x04434,0x055BD,
            0x0AD4A,0x0BCC3,0x08E58,0x09FD1,0x0EB6E,0x0FAE7,0x0C87C,0x0D9F5,
            0x03183,0x0200A,0x01291,0x00318,0x077A7,0x0662E,0x054B5,0x0453C,
            0x0BDCB,0x0AC42,0x09ED9,0x08F50,0x0FBEF,0x0EA66,0x0D8FD,0x0C974,
            0x04204,0x0538D,0x06116,0x0709F,0x00420,0x015A9,0x02732,0x036BB,
            0x0CE4C,0x0DFC5,0x0ED5E,0x0FCD7,0x08868,0x099E1,0x0AB7A,0x0BAF3,
            0x05285,0x0430C,0x07197,0x0601E,0x014A1,0x00528,0x037B3,0x0263A,
            0x0DECD,0x0CF44,0x0FDDF,0x0EC56,0x098E9,0x08960,0x0BBFB,0x0AA72,
            0x06306,0x0728F,0x04014,0x0519D,0x02522,0x034AB,0x00630,0x017B9,
            0x0EF4E,0x0FEC7,0x0CC5C,0x0DDD5,0x0A96A,0x0B8E3,0x08A78,0x09BF1,
            0x07387,0x0620E,0x05095,0x0411C,0x035A3,0x0242A,0x016B1,0x00738,
            0x0FFCF,0x0EE46,0x0DCDD,0x0CD54,0x0B9EB,0x0A862,0x09AF9,0x08B70,
            0x08408,0x09581,0x0A71A,0x0B693,0x0C22C,0x0D3A5,0x0E13E,0x0F0B7,
            0x00840,0x019C9,0x02B52,0x03ADB,0x04E64,0x05FED,0x06D76,0x07CFF,
            0x09489,0x08500,0x0B79B,0x0A612,0x0D2AD,0x0C324,0x0F1BF,0x0E036,
            0x018C1,0x00948,0x03BD3,0x02A5A,0x05EE5,0x04F6C,0x07DF7,0x06C7E,
            0x0A50A,0x0B483,0x08618,0x09791,0x0E32E,0x0F2A7,0x0C03C,0x0D1B5,
            0x02942,0x038CB,0x00A50,0x01BD9,0x06F66,0x07EEF,0x04C74,0x05DFD,
            0x0B58B,0x0A402,0x09699,0x08710,0x0F3AF,0x0E226,0x0D0BD,0x0C134,
            0x039C3,0x0284A,0x01AD1,0x00B58,0x07FE7,0x06E6E,0x05CF5,0x04D7C,
            0x0C60C,0x0D785,0x0E51E,0x0F497,0x08028,0x091A1,0x0A33A,0x0B2B3,
            0x04A44,0x05BCD,0x06956,0x078DF,0x00C60,0x01DE9,0x02F72,0x03EFB,
            0x0D68D,0x0C704,0x0F59F,0x0E416,0x090A9,0x08120,0x0B3BB,0x0A232,
            0x05AC5,0x04B4C,0x079D7,0x0685E,0x01CE1,0x00D68,0x03FF3,0x02E7A,
            0x0E70E,0x0F687,0x0C41C,0x0D595,0x0A12A,0x0B0A3,0x08238,0x093B1,
            0x06B46,0x07ACF,0x04854,0x059DD,0x02D62,0x03CEB,0x00E70,0x01FF9,
            0x0F78F,0x0E606,0x0D49D,0x0C514,0x0B1AB,0x0A022,0x092B9,0x08330,
            0x07BC7,0x06A4E,0x058D5,0x0495C,0x03DE3,0x02C6A,0x01EF1,0x00F78        
        };
        
        public static uint CalculateCRC(byte[] data, int offset, int length)
        {
            uint newCrc = 0x0FFFF;
            for (int i = offset; i < length; i++)
            {
                uint lookup = crcLookupTable[(newCrc ^ data[i]) & 0xFF];
                newCrc = (newCrc >> 8) ^ lookup;
            }
            return (~newCrc);
        }

        public void Send_Packet(ref PACKET_STRUCT packet)
        {
            byte[] linear_array = new byte[26];
            byte[] crc_bytes;
    
            linear_array[0] = packet.command;
            linear_array[1] = packet.data_length;

            if(packet.data_length > 0)
            {
                Array.Copy(packet.data, 0, linear_array, 2, packet.data_length);
            }

            packet.crc = CalculateCRC(linear_array, 0, packet.data_length + 2);
    
            crc_bytes = BitConverter.GetBytes((ushort)packet.crc);
            Array.Copy(crc_bytes, 0, linear_array, packet.data_length + 2, 2);
 
            Port.Open();
            Port.Write(linear_array, 0, packet.data_length + 4);
            Port.Close();
        }

        public LCD()
        {
            PACKET_STRUCT outgoing = new PACKET_STRUCT();
            outgoing.command = 0x06;
            outgoing.data_length = 0;
            outgoing.data = null;
            Send_Packet(ref outgoing);
        }
    }
}

Then you run this to actually make an object out of the aboveusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        staticvoid Main(string[] args)
        {
            LCD LCD = new LCD(); 
        }
    }
}

Quantity:
Prices without customizations:
Ship Qty Price
1 $55.84
10 $49.36
20 * $46.12
50 * $42.90
100 * $39.66
200 * $36.42
500 * $33.20
1000 * $29.94
* These quantities may have up to 90 days lead time.

Quick Product Info

This part replaces CFA533-TMI-KI

More Like This One