Product Review: Pro-Lite Scrolling Message Signs

Manufacturer: Pro-Lite
E-mail: info@prolite.com
URL: http://www.pro-lite.com/
Price: $150 US
Author: Walt Stoneburner
The Pro-Lite Tru-Color II PL-M2014R is an affordable multi-color LED scrolling message board that is capable of being controlled by a standard RS-232 serial port. The sign is obtainable from Pro-Lite directly (http://www.pro-lite.com/), but can also be purchased at various discount warehouses for approximately $150. The serial cable and Windows software are sold separately.
This article is not just a review; it can serve as a primer for Pro-Lite's PL-M2014R with ROM release 5.24Q and 32K of memory with Trivia mode, basically your standard sign. Until now, not much developer information has been available to the public, meaning signs were usually configured with the included infrared remote control to display static messages. For very little money, it is possible to build your own serial cable and control the sign using Linux to display more than static text.
The business and personal applications for a highly visible sign are almost limitless: reporting days until software delivery, announcing traffic congestion, providing the weather, showing the date and time, sending public messages, reporting system load, announcing new mail, showing who's logged in, warning when disk space gets low, login information, announcing unexpected server outages as a watchdog, etc.
Communicating with the sign is almost as simple as beaming text out the serial port; however, a bit of text manipulation is necessary in order to get the sign to respond and do advanced tasks. Linux handles the serial port communication, so sending information to the sign appears as trivial as writing to a file.
Luckily, the majority of the work can be accomplished by simple scripts. All you need is a basic understanding of the shell, AWK, PERL or Python, and you can be running in almost no time. The first hurdle is to build a cable and configure Linux to talk out the serial port.

Figure 1. Female DB9 Adapter
The first step is wiring an RJ12 to female DB9 adapter. It requires no tools, and an adapter kit can be purchased at most computer supply stores for about $2 US. The only other thing you need is a length of RJ12 cable with male adapters at each end. This means a standard telephone cord will do nicely. Your cable will most likely have the standard colors black, red, green and yellow, in that order.
Cables come in two flavors: straight-thru and reversed. You'll need to take the RJ12 cable and put it end to end (like a loop) to find out which kind of adapter you need to build.

Figure 2. RJ12 Adapter Diagram
One of two things will be noticeable: either the wires will match black to black, red to red and so on, or they will reverse their order showing black to yellow, red to green and so on.
If the cable is a straight-through, where the colors match, wire your RJ12 to a DB9 adapter using Pin 2 as green, Pin 3 as red and Pin 5 as yellow. If the cable is reversed, then where the colors reverse sequence, wire your RJ12 to a DB9 adapter using Pin 2 as red, Pin 3 as green and Pin 5 as black.
Shove the unused adapter wires into the casing and snap the adapter shut. Take care not to let the exposed ends touch anything metal inside the adapter casing. You may want to clip the unused wires. Put an extension cable on your serial port and connect the adapter wires directly to the extension cable in order to test the wiring configuration before pushing the pins into the connector.
When all is said and done, one end of the RJ12 goes into the side of the LED sign, the other into the adapter you just made, and the adapter plugs into the computer.
My sign is plugged into COM1, also known as /dev/ttyS0. I've elected to use a symbolic link to the sign, in the event I ever decide to change to another serial port in the future. To make the link, as root type:
ln -s /dev/ttyS0 /dev/prolite
I tend to shy away from doing development as root. Putting security issues aside for the moment, we can make the device world-writable by typing:
chmod a+rw /dev/proliteThe sign communicates using No Parity, 8 Bits, 1 Stop Bit; no handshaking of any kind (hardware or software) is used. Early versions of the sign work only at 300 baud, but they can be upgraded to 9600 baud. All signs I've encountered had the 9600 capability right out of the box. The bottom line is that all signs are capable of communication, and even at 300 baud you can outrun the sign. The only drawback is that the sign's baud rate has to be set by the remote control, according to the setup in the manual. This needs to be done only once.
In theory, the sign requires a 15ms delay between each character sent to the sign. I've found that Linux's device driver seems to work just fine without having to do anything special in the software.
stty speed 9600 cs8 -parenb -cstopb cread \ -clocal -crtscts -ignpar -echo nl1 cr3 < \ /dev/prolite
Naturally, you can substitute any baud rate the sign will handle for the 9600. This command will work when you aren't root because it is world-writable.
The most important piece of information for communicating with the sign is that each command sent to the sign must end with a carriage return/newline pair. This is ctrl-M ctrl-J on the keyboard or 0x0C 0x0A in hexadecimal. C programmers will recognize it as \r\n. If you want Linux to handle the end-of-line sequence for you, type the command:
stty opost -ocrnl onlcr < /dev/prolite
When you send a newline, Linux will send both carriage return/newline automatically. Text can now be listed or redirected to /dev/prolite from the shell. If you want to send the carriage returns yourself, type:
stty -opost -ocrnl -onlcr < /dev/proliteWhere the options are defined as:
opost: postprocess the output stream.
-opost: do not postprocess the output stream.
-ocrnl: do not convert carriage returns into newlines.
-onlcr: do not translate each newline into a carriage return/newline pair.
onlcr: translate each newline into a carriage return/newline pair.
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/proliteFor 9600,N,8,1 with no automatic carriage returns, use the line:
stty 0:700:bd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0: 12:f:17:16:0:0:73 < /dev/prolite
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- New Products
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- Validate an E-Mail Address with PHP, the Right Way
- New Products
- Developer Poll
- Trying to Tame the Tablet
- not living upto the mobile revolution
1 hour 42 min ago - Deceptive Advertising and
2 hours 17 min ago - Let\'s declare that you have
2 hours 18 min ago - Alterations in Contest Due
2 hours 19 min ago - At a numbers mindset, your
2 hours 20 min ago - Do not get Just Almost any
2 hours 24 min ago - A fantastic rule-of-thumb to
2 hours 25 min ago - Keren mastah..
Penting,
3 hours 23 min ago - mini tablet compare
4 hours 42 min ago - Looking Good
8 hours 15 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.





Comments
im looking for pro-lite scrolling message signs
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
We are looking to purchase scrolling message boards in quantities of 100 pieces
Scrolling message boards
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,
Guy
Encoded
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:
<ID01><L1><PA><FE><MA><WC><FE>test62<E>
This wil return a NACK, and the led board does not change:
<ID01><L1><PA><FE><MA><WC><FE>test80<E>
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
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;
str++;
}
return (i);
}
int
main(int argc, char *argv[])
{
unsigned char csum = 0x0;
if (argc != 2)
exit(-1);
else
msg = argv[1];
csum = checksum(msg, csum);
printf("%02X\n",csum);
return (csum);
}
encoded
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
Hi,
any reason why there my loader input terminals 14 and R are soldiered together? Will the above work for model Pl 2111 ?
streaming text
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
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
That's the way a Pro-lite sign works.
All jumbled.
Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message
if you are using serial interface, send a
message to it to erase everything
--ed
Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message
Walt,
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
ficareli@terra.com.br
Congratulations!!!
Wanderful!!!
Realy congratulations friend.
Leandro
drinhow@hotmail.com
Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message
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
Their Phone # is 1-714-668-9999 or 9998.