Product Review: Pro-Lite Scrolling Message Signs

A review of the Pro-Lite Tru-Color II PL-M2014R, an affordable multi-color LED scrolling message board that is capable of being controlled by a standard RS-232 serial port.

One additional feature of the sign is to display in sequence a trivia question, your message, the answer to the question and your message again. It works its way though a canned list of questions and then starts over. The sign can be loaded with your own list, which does not have to be trivia. The list can be up to 16KB long, leaving 16KB for the pages. If no list is loaded (i.e., you deleted the trivia), the full 32KB of the sign is available for page content. To make your own list, do the following:

$ cat > /dev/prolite
<ID01>What operating system isn't a pig?
<ID01>What operating system is free?

To delete the trivia, just omit the lines between <Q+> and <Q->. If no messages are loaded, trivia mode is turned off. If they are, trivia is turned on.

Other Useful Commands and Tricks

To reset the sign, removing all timers and pages, use <D*> like this:

echo "<ID01><D*>" > /dev/prolite

Technically, there is no way to bring the sign to a halt. However, you can take advantage of a quirk in the software to do the same thing. If you use the <FX> tag in a message to control the speed of the sign, but don't supply a message, the old text isn't cleared and the sign stops scrolling until it gets a new message.

Function Tags

Additional tags are shown in “Function Tabs”. European tags are available for characters shown in Figure 5.

Figure 5. European Characters Available

Uses for the Sign

It doesn't take much to make the sign useful. For example, scripts that send commands to the sign can be executed every few minutes by editing your crontab file (crontab -e) to include:

*/5 * * * * /usr/local/bin/sign 1> /dev/null \
2> /dev/null

Every five minutes, the system will call /usr/local/bin/sign. In this script, we can place any number of tasks. To show our uptime, add these lines:

stty 0:705:bd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12\
:f:17:16:0:0:73 < /dev/prolite
echo "<ID01><PU>'uptime' " > /dev/prolite
echo "<ID01><TA>*****U" > /dev/prolite
If root wants to see the last line of the log file scroll by, this command will suffice:
tail -f -n 1 /var/log/messages |
   awk '{ print "<ID01><PA>" $0 " "; }' >
   /dev/prolite &
This job sits in the background, getting lines from the end of the log as they come in, prefixes a <ID01><PA> to it and sends it to the sign. The process then goes to sleep until another log entry is made. The only reason to run as root is to get access to the messages file.

The sign can also act as a watchdog for our system by setting up a timer to go off several minutes later. Ideally, the sign will get updated before the timer goes off and the timer will again be set for some time in the future. In the event the sign is not updated, the timer trips and an alternate alert message is displayed.

stty 0:705:bd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12\
:f:17:16:0:0:73 < /dev/prolite
echo "<ID01><PU><FD>Server Up" > /dev/prolite
echo "<ID01><DTB>" > /dev/prolite
echo "<ID01><TA>00001U" > /dev/prolite
echo "<ID01><TD><FB><CC>Server Down" > \
date "+<ID01><TB>*%H%MD" -date "7 min" > \

To do this relies on some tricks. First, you cannot use a generic timer (<TA>*****) for running standard messages because it conflicts with our watchdog timer. Secondly, we cannot use timer <TA>00000 because it confuses the sign. Thus, we have to use one minute after midnight on Sunday (<TA>00001) in order to display our messages. When no timers are defined, the first timer defined shows our page.

Deleting timer B keeps us using timer A, which shows normal text. The sign ignores requests to delete timers and pages that don't exist. Once page A is defined and displaying, we define page B in the background and set up a time, again using the clever date command to output it seven minutes from now. Since our cron job is set to run this script every five minutes, the timer should never go off unless something is wrong.

If Linux suffers a power failure, the cron daemon is killed, or the sign becomes disconnected, it will display a warning message. The tag <FD> indicates the message should instantly appear instead of scrolling, where <FB> indicates the text should appear from the center—this will get your attention quickly.

More information about the protocol, cable and sign can be found at This site also includes source code for various applications that manipulate the sign.

Walt Stoneburner currently works as a software engineer for Downright Software, LLC. In his spare time, he enjoys working with Linux, playing non-computer games, reading and reviewing hardware and development software. Feel free to contact him at or ICQ# 5368391.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

im looking for pro-lite scrolling message signs

tatan's picture

well i want to know if you guys would like to help me.. im looking for a scrollong message signs exacly as the picture that you have on the top
please help i want to buy one of this

scrolling message pc board

Ray Phillips's picture

We are looking to purchase scrolling message boards in quantities of 100 pieces

Scrolling message boards

Guy Tieman's picture

Hello Ray,
My name is Guy Tieman and I work for a sign and mill company. I just stumbled on this site while reseaching a few things and saw your interest in scrolling message boards. We are an OEM of several different LED displays. We are located in Fort Myers, Florida. Our number is (239) 936-9154. If you are still looking give me a call or e-mail me. I might be able to help.
Thanks for your time,


Leon's picture

I have a led board which has 2 lines and 120x16 leds. The protocol described on this page is simular to the protocol used in my led board only it has some kind of security code in it.

For example:
This wil return a ACK, and the led board will show the message:

This wil return a NACK, and the led board does not change:

So there is a code right after the text... Another example:
<ID01><L1><PA><FE><MA><WC><FE>Leon ter Linden1B<E> = ACK
<ID01><L2><PA><FE><Ma><WC><FE>Leon ter Linden43<E> = NACK

Does anyone know how to calculate the code that comes after the text?

xor checksum

Are's picture

Here is the code to calculate the checksum.
The checksum is an xor of all the characters sent, without the first ID tag and without the end E tag.

static unsigned char
checksum(const char *str, unsigned char init)
unsigned char i = init;

while (*str != '\0') {
i ^= *str;

return (i);

main(int argc, char *argv[])
unsigned char csum = 0x0;

if (argc != 2)
msg = argv[1];

csum = checksum(msg, csum);
return (csum);


Are Pedersen's picture

I also have this display. It appears that it is a simple signing pattern, but I haven't figured it out just yet. Finding anything on this on the web seems useless.

Prolite PL - 2111

Anonymous's picture


any reason why there my loader input terminals 14 and R are soldiered together? Will the above work for model Pl 2111 ?

streaming text

jdgalore's picture

I was wondering if any one knows how i can send streaming text to a prolite say text from a news ticker or scrolling music text from musicmatch
? ? ? ? ? ?

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

is there a way to reset the sign to factory?

The graphics are all jumbled.

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

That's the way a Pro-lite sign works.
All jumbled.

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

if you are using serial interface, send a

message to it to erase everything

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture


I am trying hard to communicate with my Tru-ColorII and I've had little support from the company. Your explanation, it seems will help me. I wish "a lot".

Thank you

Marcos Ficarelli - Sao Paulo Brasil


Anonymous's picture


Realy congratulations friend.


Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

How do I get a new keypad for a Pro-Lite PL4012 or who is a dealer for this product. Thank you..

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

Their Phone # is 1-714-668-9999 or 9998.