635 custom programming (no CC2)


New member
I recently received my first Crystalfontz LCD panel and I have been really impressed with it so far. I am currently writing a utility in C# that will interact with this LCD panel. I have been able to send text to the LCD and receive the keypad interaction. I have ran into 3 tasks that I cannot find the answers to:

1. How can I display a marquee banner? I can time delay writing to the LCD but using command type 31 does not give me smooth scrolling.

2. How can I display very simple images? Is there a way for me to pass image bytes to the panel and have it display them?

3. How can I activate individual pixels on the panel instead of using the built in character fonts in the CGROM? For example, if I need to draw a vertical line down all 4 rows that is only 1 pixel in width, how would I do that?

Unfortunately, I cannot use the CC2 program since the company does not want to load third party software. However what I am attempting to do appears to be possible since many people have created "screens" to do similar functions. I looked through the 1.4 documentation and it does not cover these topics. Is there any additional documentation or sources that I can get to help with this or is this information considered proprietary by Crystalfontz and the use of CC2 would then be required?
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.

CF Mark

What model of Crystalfontz LCD?
I gather its a 632 or a 634.

The smooth scrolling feature really isnt that useful unless you are scrolling text very very slowly.
When scrolling text at a decent speed using smooth scrolling, the text becomes very difficult to read, so doing a normal character by character scroll works better.

There is no bitmap style full lcd drawing capability on any of the non-graphic (the HD44780 based and 63x series) LCD displays.
The only way to draw custom graphics is to use the 8 custom characters (command \025 on the 632/634's).

Have a look at the WinTest utility source code.
This gives examples on how scrolling and custom characters are used.


New member
I am using the CFA635-YYE. I will look at the source code for the WinTest program and figure out how to do the scrolling text.

As for the graphics, I looked at the numerous examples in the CC2 User Screen Library. Many of them show examples of where individual pixels appear to be lit up to show lines or bars. For example, shows "marathon men". Now how did they get those images to work on the 635? Those do not exist in the standard character set. I want to be able to do this without using CC2. Many of the examples in the Screen Library have similar functionality however they all require CC2. So how is CC2 telling the 635 to display these pixels?
USB LCD Displays - Graphic and Character LCDs with a Keypad

CF Mark

Ok, you'll need to look at the 635 specific version of WinTest:

The 635 does not support smooth scrolling (pixel shifting), so you dont have to worry about that.
To scroll text you have to do it manually, ie, shift the text in your software, then update the line on the LCD.

The marathon man, etc use the 8 custom characters to draw graphics.
See command 9 in the 635 datasheet.


New member
I will look at the custom characters section again in the document. The first time I read it through it did not seem entirely clear but I'll look at that section again and play around with it so I can figure everything out.

As for the marquee ability, I can use a timer to move the text but that will move everything 5 pixels at a time causing a jerky appearance. Is this something that can be updated via firmware or are there no plans to offer this functionality with the 635? Having proper marquee functionality and being able to turn on and off individual pixels are the only things that I can think of that are lacking from an otherwise perfect device.

CF Mark

As i mentioned above, moving a row a pixel at a time actually doesnt look that good.
The LCD pixels take a while to turn on&off meaning the text blurrs quite a lot, and makes it difficult to read.

Not being able to update individual pixels is a limitation of the LCD controller chip and cannot be updated via firmware.
If you want this type of capability, the only thing you can do is use a full graphic LCD module like the CFAG/CFAX series.