CFA631-TMF-KU
USB 20x2 LCD module, four button keypad, RoHS / REACH compliant, White Edge LED Backlight, STN Negative Blue, Transmissive, 0°C to +50°C, 12:00 viewing angleCFA631 USB Family
- The only 20x2 USB LCD with keypad designed to fit in a PC's 3.5" floppy disk drive bay.
- USB interface (115200 baud throughput)
- LED backlit negative mode STN 20x2 LCD
- Integrated LED backlit 4-button translucent silicon keypad
- "key legends" allows user assignment of soft keys to be shown easily on the LCD
- LCD characters are contiguous in both X and Y directions to allow the host software to display "gapless" bar graphs in horizontal or vertical directions
- Fully decoded keypad: any key combination is valid and unique
- Robust packet-based communications protocol with 16-bit CRC
- Built-in re-programmable microcontroller (factory operation)
-
Non-volatile memory capability ("EEPROM"):
- Customize the "power-on" display settings
- 16-byte "scratch" register for storing IP, netmask, system serial number
- Available in a LCD drive bay kit
For reference only. For design purposes, please use the specifications in the datasheet.
Physical Characteristics
| Characters x Lines | 20 x 2 |
| Module Overall | |||
|---|---|---|---|
| width | height | depth | |
| millimeters | 101.6 | 25.4 | 93.1 |
| inches | 4.00 | 1.00 | 3.66 |
| PCB Outline | |||
|---|---|---|---|
| width | height | depth | |
| millimeters | 101.6 | 25.4 | 93.1 |
| inches | 4.00 | 1.00 | 3.66 |
| Other Features Affecting Size | |
|---|---|
Please see the datasheet
| |
| Viewing Area | |||
|---|---|---|---|
| width | height | ||
| millimeters | 66 | 13.8 | |
| inches | 2.59 | 0.54 | |
| Active Area | |||
|---|---|---|---|
| width | height | ||
| millimeters | 63.55 | 10.35 | |
| inches | 2.50 | 0.40 | |
| Character Size | |||
|---|---|---|---|
| width | height | ||
| millimeters | 2.6 | 4.5 | |
| inches | 0.10 | 0.17 | |
| Character Pitch | |||
|---|---|---|---|
| width | height | ||
| millimeters | 3.18 | 5.2 | |
| inches | 0.12 | 0.20 | |
| Dot Size | |||
|---|---|---|---|
| width | height | ||
| millimeters | 0.48 | 0.6 | |
| inches | 0.01 | 0.02 | |
| Dot Pitch | |||
|---|---|---|---|
| width | height | ||
| millimeters | 0.53 | 0.65 | |
| inches | 0.02 | 0.02 | |
| Weight | 80g |
| Keystroke Travel | 2mm |
Optical Characteristics
| Display Technology | LCD |
| Display Addressing | passive |
| Glass Type/Glass Color | STN/Blue |
| Polarizer | Transmissive |
| View Direction | 12 |
| Backlight Color | White |
| Backlight Type | LED |
| Mode | Negative |
| Foreground Color | White |
| Background Color | Blue |
Environmental
| Operating Temperatures | |||
|---|---|---|---|
| min | max | ||
| Celsius | 0° | 50° | |
| Farenheit | 32° | 122° | |
| Storage Temperatures | |||
|---|---|---|---|
| min | max | ||
| Celsius | -10° | 60° | |
| Farenheit | 14° | 140° | |
| Humidity | |||
|---|---|---|---|
| min | max | ||
| Non-condensing | 0% | 90% | |
Electronics
| Controller | CFA 631/635/735 |
| Interface | USB |
Datasheets
CFA631-TMF-KU_v2.0a.pdf (3MB, Mar 2010, Datasheet v.2.0a, Hardware v.2.0, Firmware v.2.0)
CFA631_Data_Sheet_Release_2012-10-19.pdf (2MB, Nov 2012, Datasheet v.2012-10-19, Hardware v.2h4, Firmware v.u3v1)
This Data Sheet is available as a reference for your future designs. Hardware version 2h4 with firmware u3v1 will be shipped after stock depletion of hardware version v2.0 with firmware 2.0. For more information, please see PCNs under the Notices tab.
CFA631_Data_Sheet_Release_2012-10-19.pdf (2MB, Nov 2012, Datasheet v.2012-10-19, Hardware v.2h4, Firmware v.u3v1)
This Data Sheet is available as a reference for your future designs. Hardware version 2h4 with firmware u3v1 will be shipped after stock depletion of hardware version v2.0 with firmware 2.0. For more information, please see PCNs under the Notices tab.
Obsolete Datasheets
CFA_631_v2.0.pdf (1MB, Aug 2005, Datasheet v.2.0, Hardware v.2.0, Firmware v.2.0)
CFA_631_v1.0.pdf (654KB, Dec 2003, Datasheet v.1.0, Hardware v.1.0, Firmware v.1.0)
CFA_631_v1.0.pdf (654KB, Dec 2003, Datasheet v.1.0, Hardware v.1.0, Firmware v.1.0)
Other Files
Subscribe to Part Change Notices by email
or RSS
Part Change Notice #10428
| Products Affected: | CFA631-RMF-KU1, CFA631-RMF-KU2, CFA631-RMF-KU, CFA631-TMF-KU1, DB631-ALRMF-KU1, DB631-ALRMF-KU2, DB631-ALRMF-KU3, DB631-ALTMF-KU1, DB631-ALTMF-KU2, DB631-ALTMF-KU3, DB631-BGRMF-KU1, DB631-BGRMF-KU2, DB631-BGRMF-KU3, DB631-BGTMF-KU1, DB631-BGTMF-KU2, DB631-BGTMF-KU3, DB631-BKRMF-KU2, DB631-BKRMF-KU3, DB631-BKRMF-KU1, DB631-BKTMF-KU2, DB631-BKTMF-KU3, CFA631-TMF-KU2, CFA631-TMF-KU, DB631-BKTMF-KU1, DB631-AKRMF-KU1, DB631-AKRMF-KU2, DB631-AKRMF-KU3, DB631-AKTMF-KU1, DB631-AKTMF-KU2, DB631-AKTMF-KU3 |
| Date Issued: | August 3, 2012 |
| Summary: | CFA631 family Firmware version 3v1 |
| Last revision: | v2.1 |
| Description: | The CFA631 family of modules is being revised to support a new LCD controller chip, the Rockworks RW1067. The changes to the CFA631 3v1 firmware are as follows. For hardware changes, please see PCN #10427. Updates: Command 1 (0x01): Get Hardware & Firmware Version Modules with the USB interface, -KU suffix, will report: CFA631:h2v4,u3v1 Command 12 (0x0C): Set LCD Cursor Style Option 4 = inverting, blinking block is no longer supported. This option will result in a blinking underscore. Command 22 (0x16): Send Command Directly to the LCD Controller Any command sent specifically to the Samsung S6A0073 will need to be reviewed / modified for the commands / registers of the Rockworks RW1067. Please contact the Crystalfontz Engineering Support Team at support@crystalfontz.com for the RW1067 datasheet. Enhancements: Command 28 (0x1C): Set ATX Power Switch Functionality Added auto polarity switch. Improved pulse length functionality. Added feature to hold until system off during power down. Fixes: Updates to timings and sequence of Serial interface power up to prevent possible corruption of data displayed |
| Reason: | The Samsung S6A0073 LCD controller used was scheduled as End of Life. This EOL affected a number of intelligent modules from Crystalfontz America, Inc. The replacement RW1067 LCD controller was developed as a replacement for the Samsung S6A0073 LCD controller for Crystalfontz America, Inc by Rockworks (China). |
| Impact: | This announcement impacts all variants, interfaces, and part numbers that currently use the CFA631 family of modules. The CFA631 can continue to be used in current and future designs. |
| Recommendation: | Continue to order and build with the CFA631 as required by production schedules. Transition to the CFA631 h2v4 hardware and supporting firmware should be a seamless process. Engineering samples for qualification for the revised CFA631 are scheduled to be available Q3 of 2012. Please contact our logistics team for engineering samples sales@crystalfontz.com. For engineering and support questions, please contact our engineering support team at support@crystalfontz.com |
| Availability: | Q3 2012 Review / Update customer Defined Part custom firmware Q3 2012 New hardware and supporting firmware available for engineering samples Estimated - Begin transition to h2v4 hardware as v2.1 hardware inventory is depleted NOTE: We will not ship production orders of 3v0 hardware until the v2.1 inventory is depleted Q4 2012 Estimated - CFA631 v2.1 hardware to be exhausted, transition to CFA631 h2v4 hardware / u3v1 firmware complete. |
| Price Change: | 2012-08-03 No scheduled price change at this time. |
Part Change Notice #10427
| Products Affected: | CFA631-RMF-KU1, CFA631-RMF-KU2, CFA631-RMF-KU, CFA631-TMF-KU1, DB631-ALRMF-KU1, DB631-ALRMF-KU2, DB631-ALRMF-KU3, DB631-ALTMF-KU1, DB631-ALTMF-KU2, DB631-ALTMF-KU3, DB631-BGRMF-KU1, DB631-BGRMF-KU2, DB631-BGRMF-KU3, DB631-BGTMF-KU1, DB631-BGTMF-KU2, DB631-BGTMF-KU3, DB631-BKRMF-KU2, DB631-BKRMF-KU3, DB631-BKRMF-KU1, DB631-BKTMF-KU2, DB631-BKTMF-KU3, CFA631-TMF-KU2, CFA631-TMF-KU, DB631-BKTMF-KU1, DB631-AKRMF-KU1, DB631-AKRMF-KU2, DB631-AKRMF-KU3, DB631-AKTMF-KU1, DB631-AKTMF-KU2, DB631-AKTMF-KU3 |
| Date Issued: | August 3, 2012 |
| Summary: | CFA631 family Hardware version 2v4 |
| Last revision: | v2.1 |
| Description: | The CFA631 family of modules is being revised to support a new LCD controller chip, the Rockworks RW1067. The changes to the CFA631 2v4 hardware are as follows: 1. LCD controller changing from Samsung S6A0073 to Rockworks RW1067 2. Supporting driving circuitry between the LCD controller and the LCD glass has been updated to support the Rockworks RW1067 3. The PCB layout has been updated to support the Rockworks RW1067 4. Firmware updates to support the Rockworks RW1067 and functional improvements – PCN #10428 The only changes to the CFA631 family are to support the Rockworks RW1067 controller. There are no other physical changes to the CFA631. |
| Reason: | The Samsung S6A0073 LCD controller used was scheduled as End of Life. This EOL affected a number of intelligent modules from Crystalfontz America, Inc. The replacement RW1067 LCD controller was developed as a replacement for the Samsung S6A0073 LCD controller for Crystalfontz America, Inc by Rockworks (China). |
| Impact: | This announcement impacts all variants, interfaces, and part numbers that currently use the CFA631 family of modules. The CFA631 can continue to be used in current and future designs. |
| Recommendation: | Continue to order and build with the CFA631 as required by production schedules. Transition to the CFA631 h2v4 hardware and supporting firmware should be a seamless process. Engineering samples for qualification for the revised CFA631 are scheduled to be available Q3 of 2012. Please contact our logistics team for engineering samples sales@crystalfontz.com. For engineering and support questions, please contact our engineering support team at support@crystalfontz.com |
| Availability: | Q3 2012 Review / Update customer Defined Part custom firmware Q3 2012 New hardware and supporting firmware available for engineering samples. Estimated - Begin transition to h2v4 hardware as v2.1 hardware inventory is depleted NOTE: We will not ship production orders of 3v0 hardware until the v2.1 inventory is depleted Q4 2012 Estimated - CFA631 v2.1 hardware to be exhausted, transition to CFA631 h2v4v0 hardware / u3v1 firmware complete |
| Price Change: | 2012-08-03 No scheduled price change at this time. |
For reference only. For design purposes, please use the specifications in the datasheet.
add a note
User Contributed Notes for CFA631-TMF-KU
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(); } } }
People who bought this product also bought:
| Quantity | Price |
|---|---|
| 1 | $60.82 |
| 10 | $56.72 |
| 20 | $52.72 |
| 50 * | $48.62 |
| 100 * | $44.52 |
| 200 * | $40.52 |
| 500 * | $36.42 |
| 1000 * | $32.32 |
| * These quantities may have up to 90 days lead time. | |

