Connecting a LCD Display via USB
A Platform Independent Display

Introduction and Purchasing

Here is another project for the BBB but it can be used on ANY platform that supports USB. A universal LCD display that can give status and other information. Anything that you currently view as text can be sent to the LCD screen. This is a much better method than having something intimately attached to a specific computer bus like the BBB. This device can be moved around to any computer where you have setup software to write to it.

LCD displays are available from many sources but Adafruit offers a package that combines their USB backpack and a display for a reasonable price. They are available in 16x2 or 20x4 formats and with both positive and negative RGB backlights. Here is a link to the display that is being shown on this page.


These displays in combination with the backpack interface show up as a simple USB serial device (/dev/ttyACM0) when connected to the USB port of a Linux computer. It is simply a matter of writing ASCII text to the display. There are also a series of hex commands that the display responds to for backlight color and intensity, display brightness and contrast, and text manipulation commands for the cursor etc. I have coupled the display to Allstar so that it displays who is currently transmitting on an a node by displaying their node number, call, and location. The 16x2 display limits what you can say but this shows the possibilities. I will be ordering a 20x4 display which will give over twice the display area. So far I have written to it in bash scripts, Python2, and Perl with no difficulty.

Display Examples

Here I show date and time, canned text, and display of system parameters. The final being uptime and load averages. This also shows the ability to change the backlight to any color. Here I show pure red, Green (pure blue has poor contrast), and off white but you can define any color in RGB values.

Here is what I display when a node is received. This is taken from a logging program I wrote in Perl which displays in a text window in Putty. It looks like this, a series of entries, on a monitor:

02/21/2015 17:58:16 RXKEY 28796   KC4RPP  443.100                      Naples, FL
02/21/2015 17:59:40 RXKEY 28366   N3VSI   146.560 Simplex BBB    Larry - Edgewood, Md

The text was shortened to fit on the LCD screen. A 20x4 screen should be able to display the entire location and description. Here are examples of some different nodes that were received. Beware though that Allstar only has the capability to know about transmissions from those who you are directly connected to or are directly connected to you. So while this works well at say a hub server it would only show the hub transmitting if used by a member of the hub.

You are only limited by your imagination as to how this could be used. One thought is if you had multiple servers you could use datagrams from the servers sent to one location for display. While a small HDMI monitor could also be used this is an inexpensive low power way to display data to the user.

© 2015 - WA3DSP