More and more Christmas displays use FM radio frequencies to broadcast the audio associated with their Christmas creations. Most have a static sign providing the frequency to use to hear the music. With all the technology that goes into a Christmas production, it seemed weak to resort to a 2x3 sign to communicate the frequency. If the frequency had to be changed due to noise or other interference, you would have to recreate a new sign. My fix was to create a message display box to communicate the frequency and any other messages that may be helpful to those viewing the "shows". My box consists of three 32x8 LED Matrix Display boards butted horizontally and daisy chained to create a 1 x 12 character display. To drive the display I used an Arduino UNO or equivalent and the LMXShield (from iSyst.com). The messages I can display (beyond just an FM frequency) are things like show times, and other "teasers" (such as the phrase "Listen to the Lights"), etc. Between shows I display the date, time, and temperature. I use the display box for these simple messages. There are many other messages that can be displayed, such as the name of the tune playing, the next show sequence start time, etc. The sweet thing about the display is that I can change it instantly ... I don't have to recreate a new sign!! I can scroll the message, flash it, and blank it out.
This is a nice a complete platform for all my needs to create large Arduino-powered displays. The documentation is a bit weak, but the example project is a good starting point, but the instructions on how to wire everything up is a bit confusing I think. Eventually figured it out, so no biggie - but don't expect a good out-of-the-box. As I had fewer displays that the 8 mentioned in the example project I managed to mess everything up in the first attempts by deleting the non-used entries in the arrays.
Mounting the displays proved to be a bit difficult due to the placement of the CS1-4 DIP-switch. We mounted 2x2 on wooden bars using the holes, but then these DIP-switches are in the way and we needed to chip some wood of the bars. All other components are mounted between the flat-cable connectors and are out of the way. Would be nice if the next version would move the DIP-switches up to the area between the two segment connectors that don't have the U1 chip mounted (i.e. between the rows of R11/14/16/15/13 and R9/R12/R10).
Driving the displays seems to be a bit taxing taxing on the Arduino. I use a Dragino Yun shield to get the data to display and scrolling is a bit jumpy when the Dragino sends data on the RX/TX. I reverted to only use static messages which is fine for my application.
Providing power to the displays may be a problem with many displays. A separate powersupply on the LMXSHIELD for the displays would be nice not to overheat the Arduino converter.
The 5 mm version is clearly readable from at least 15 meters when the intensity is adjusted a bit. Too bright is a bit hard to read.
Response from I-SYST | Dec. 23, 2015
Thanks very much for the details explanation of your experiences with it. - We take notes of the DIP switch to move it out of the way in the next revision of the board. - We do have another shield that have onboard power supply that can drives up to 16 boards. This one here https://www.tindie.com/products/hnhoan/led-matrix-shield-display-for-arduino-and-imm-nrf51822/ - To reduce the heat on the Arduino converter, use a power adapter with lower voltage around 7v would do. The higher voltage adapter you use, the more it will heat up the Arduino due to it LDO converter nature. - The displays and shield are wired by 2 ribbon cable. The cables have a notch so that you cannot plug it in reverse. One cable connect to 2 displays together, the other is to connect the display to the shield. There are no other wirings. There is also drawing in the user guide showing the connection between multiple display boards. Can you give a little more details of the wiring problem that you are having so we can add it to the user guide. - The software source code showed you how to write scrolling routine. It was made on Arduino Uno. The scrolling need to adjust timing delay based your board and what you are running on. the jumpy scroll is due to the fact that your code is blocking on other things. You need to adjust the timing in your code to allow the display to refresh. Scrolling requires you to update the display, it is totally software, not hardware. - The displays has 16 intensity levels you can set. The software library has all the functions to allow you to control it.
Thank you very much for your review.