Building an Octoscroller Matrix Display

From wiki
Jump to: navigation, search


An "octoscroller" is simply a message display that happens to use a BeagleBoneBlack microcomputer (abbreviated BBB in this document), an 8-port "octoscroller" daughter card that plugs onto the BBB, and inexpensive RGB LED panels of the P-10 type that use the Hub75 connection method. Powered by low-voltage DC power supplies (5vdc), these units are connected together by short ribbon cables with plug-in IDC connectors and controlled by the same marvelous Falcon Player that runs on the Raspberry Pi. The P-10 panels are particularly well suited for displaying moving text but can also display low-definition pictures and video. The budget for the project outlined here was a very affordable $200. Understand that this Wiki document is only ONE way to build a matrix display; it is not the ONLY way. Note that construction of the Octoscroller board itself is not addressed here -- it's a rather simple board to assemble as it has mostly header connectors. Attaching it to the BBB is a matter of plugging it onto the top of the BBB. It's called an "octoscroller" because it can accommodate up to 8 panels per output, and as it has 8 outputs, it can "scroll" messages or text across 8x8=64 panels.

Skills you'll need to have

  • Working understanding of using xLights/Nutcracker to create and save sequences.
  • Working understanding of how to use your Internet browser
  • Working understanding of basic TCP/IP networking
  • Working understanding of how to download software, unzip/install it
  • Working understanding of how to use SD Card formatting software and disk imaging software
  • Working understanding of how to use and configure Falcon Player software
  • Working understanding of basic electrical connectivity issues of low voltage electronics.
  • Working skills with common household tools.
  • A working understanding of the Linux Operating system can be very helpful
Note: by "working" it is meant that you can actually can DO these things, not merely having heard or read about them once. This document will not teach you how to do electronics or how to configure TCP/IP networking, how to use your computer or how to format a flash drive, etc. These are expected skills that you should either have before you attempt working on this project or skills that you will need to acquire during this project.

Materials/Components you'll need

  • BeagleBone Black (or Green) microcomputer and suitable A/C power supply
  • Octoscroller daughter card
  • 4 P-10 RGB LED panels
  • Assorted ribbon connection cables (purchased with the panels)
  • 5amp 5vdc power supply (for the panels)
  • Angled aluminum stock (optional)
  • 3M VHB tape (optional)

Software tools you'll need

  • xLights/Nutcracker
  • Falcon Player
  • Appropriate version of Linux for the Falcon Player
  • Internet browser (to connect to the BBB and control the Falcon Player)

Sources/Places to get more information

Note: Because of the dynamic nature of the Internet, some of these links may become inactive over time...
  • Panels and cables used by the author to make this project:
  • Information, downloads links and more about installing Falcon Player on BeagleBone,2742.0.html
  • xLights/Nutcracker software downloads and information
  • Putty SSH Terminal. You may or may not need this telnet client, but it's very handy to have if you find you do need it.

Step-by-step Panel Assembly

1. Plan your matrix. Decide on where you're going to put it, what you want it to look like, whether it will be tall and narrow, short and wide, square, etc. Also determine how far it will be away from viewers because text or pictures are a little hard to read if the distance is too great and the text size too small. The author's design used four panels in horizontal orientation, creating a 50"W x 6"H sign. Planning is important because if you think you may want to increase the size of your display at a later date, you might be better off buying all the panels you may need up-front so they'll be an electrical and aesthetic match. The colors and brightness from panel to panel will likely be more consistent if you purchase them all together, too. Of course, don't ignore your budget, either.
2. Gather the materials, equipment and the software you'll need. If you don't have any experience with the Raspberry Pi or Linux in general, buy a beginner's book and learn a little bit about it. Linux is a much different animal than Windows. You may need to use Putty at some time, although the Falcon Player is pretty complete in its ability to transfer files and organize things. Putty works at the command-line level and it gives you flexibility and control that GUI tools for Linux often don't have.
3. Once you have all the materials, you can proceed. Reminder: make sure nothing is powered on when you connect or disconnect any cables! Connecting the panels is dirt-simple as long as you understand how they relate to one another. To do that, assemble the panels in the orientation the Falcon Player requires, which is shown at the top of this photo: O-1 refers to octoscroller port 1 and all four panels are connected to that port. If your display is 2 panels tall, the second row would connect to O-2, etc.

Panel orientation data flow.jpg

If you look closely at the backs of the panels you'll see arrows that point to the panel tops and to the direction of the flow of data. All the panels are identical and don't take an order number until you connect them together. Notice that the BBB connects to the start but that isn't panel #1. When you view the FRONT of the display, panels count from left-to-right as 1-2-3-4. But on the back side, it's reversed. As you view the FRONT of the display, the top left corner is pixel #1 and the last pixel is on the bottom right. Therefore if you want the text to appear from the right and scroll to the left, you're actually scrolling backwards, from panel 4 to panel 1. Also notice that each panel requires its own power connection/injection. Each of these panels required about .8A at 5vdc when fully on so a simple 5A power supply was sufficient. Your power requirements may differ, so be sure to provide ample current at the required voltage. It's likely that all the panels can be powered from one supply like this example, so all power connections were made common and simply connected to the power supply.

Panel orientation front.jpg

Panels are connected together with a short ribbon jumper: Notice the "output" of one goes to the "input" of the next panel, and because the cable connectors are keyed and fit only one way, it's pretty hard to make a mistake:
Panel to panel.jpg
4. How you physically interconnect the panels for mounting is personal preference. The mounting holes/screws may differ from one manufacturer or panel version to the next, and if you plan to use them, you might purchase them at the same time as the panels. In this design, the author opted for a simpler mounting method using 3M VHB tape and angled aluminum stock. Affixing the VHB tape to the aluminum, it was a simple matter to place the panels face-down on a flat surface, tape them together so they wouldn't move, and then press the taped side of the aluminum stock onto the back edges of the top and bottom of the panels. This proved to be a very secure and quick method that should make mounting easy later on.
5. This display is 1-panel tall by 4 panels wide, so it uses only one Octoscroller output. For a matrix that's 2 panels tall, use two outputs; 3 panels, use 3 outputs, etc.

Configuring the Falcon Player for Octoscroller

Installing the FPP software on your BBB computer is ably described at the Falcon Christmas site and will not be addressed here. Likewise, this document will not address connecting to the BBB via your browser or any other networking issues as well as navigating through the Falcon Player software. However, some pertinent screen displays will likely prove helpful. First, a few calculations:
  • Each panel is 32 RGB pixels wide x 16 RGB pixels tall, for a total of 512 RGB pixels. Therefore, 3 universes will be required for each panel. Four panels would therefore require 12 universes and total 6144 "channels." Configuring the FPP e1.31 page is necessary. It isn't necessary to "enable" the output but it does need configuration. The Unicast/Multicast setting doesn't appear to matter because the matrix is physically connected to the BBB and not to the network:
Fpp e131 page.png
  • The LED Panels screen requires configuration as well (but not the BBB panel). Note that the author's setup is 4 panels wide by 1 panel high, and the pixel "start corner" is defined as "top left" which is as if you were viewing the FRONT side of the matrix. For simplicity, this BBB controller is set to control only this display piece, so it will start with channel 1 and control 6144 channels (matching our calculations above). The order of the colors for these panels was set to RGB (changeable later if you discover your panels are GBR or some other order). FPP makes it easy to configure the Octoscroller panels -- just remember that you're configuring them as if your viewing the BACK side of the panels: the left-to-right order is 4-3-2-1. Also note that the author connected the matrix to Octoscroller output #1 on the Octoscroller daughter card:
Panel orientation -FPP.png
  • The FPP test page should be helpful at this point, and you can try various settings to see what happens to the matrix display. Be sure to "enable" the test to activate the display:
Fpp test page.png
  • You might consider turning off "logging" in the Falcon Player. This is found on the FPP Settings page: uncheck any boxes that may contain checkmarks. You'll probably discover that the display will run a little smoother with logging turned off.

Configuring xLights/Nutcracker

This document will not address the details in how to use xLights/Nutcracker software, and the author claims no expertise whatsoever in using this powerful sequencing tool. However, the following settings worked for this 4x1 Octoscroller matrix display.

  • Create the lighting network/infrastructure that xLights will use for the matrix. For simplicity, this setup incorporates only the matrix itself. Note that the settings are consistent with what was defined earlier in the Falcon Player: starting with universe #1, total of 12 universes, in this case only ONE output and the last channel is 6144. Use MULTICAST for convenience, and afterward, be sure that each of them is "enabled" (far right column).
  • Create the matrix display element itself (the "layout model"). Here's where you need to think of the combined P-10 panels as if they were "strings" of lights: because they're interconnected, the four 32x16 panels essentially become one 128 x 16 panel. Converting that to the concept of strings, you'd have 16 strings of 128 pixels each. Also consistent with the Falcon Player setup is the starting channel and the starting corner (top left).
Xlights-layout model.png
  • At the xLights sequencer screen, add the matrix to the sequence and click on the timing area to drag open a duration for the display to run (you can adjust it later). Then complete the details for your sign, including the font, font size, color and movement direction it's to scroll. (Note: Your display screen may appear different.) Anytime you make a change to these settings, click the Update button (or press F5).
  • All that's left to do is "save" the sequence, upload the corresponding .fseq file to the Falcon Player, include that .fseq in a playlist and then "play" it in FPP to display it on the matrix panel. See the Falcon Christmas site for more information on using the Falcon Player.