A better way to drive LED panels in Christmas displays

darylc

404 darylc not found
Joined
Dec 8, 2012
Messages
1,203
This is a multi part post to demonstrate a new (currently experimental) way of running 'Panels'

Background:
In late 2014/2015 the Christmas community worked towards getting P10 panels running from BeagleBone Blacks via Octoscroller capes and driven by Falcon Player.

The types of P10 panels that we can drive from the BBB are limited and thus as a community we typically can't use waterproof panels for example.

Whilst P10 panels work well for a lot of people driving them from BBB, I had a lot of problems doing in my 2015 show which motivated me to find another way.

Thanks to Wizard for the lead on the control cards, to CaptainMurdoch for his guidance in hacking FPP and to Smartalec for testing my FPP hacks in his show this year.
 
Types of Panels:

Panels come in many types:
  • Pitches eg P10, P8, P6 (P10 = 1 pixel per 10mm)
  • Scan rates eg 1/2, 1/4, 1/8, 1/16 (1/8 is what we use on BBB, eg 1/8th of the panel lit at any one time)
  • Weather types: eg Indoor rated, Outdoor rated
  • Sizes eg 320x160mm, 192x192mm etc
The BBB method (more or less) current limits us to P10, 1/8 scan, indoor 320x160mm panels which is a tiny spectrum of the panel types readily available. Some people have had luck with P6 1/8 scan 192x96mm but mostly people have lucked out with other panel types.
 
How can we drive panels in the future?

How can we drive panels in the future?

Using commercial grade controllers from LINSN:
Led Studio software to configure the LINSN cards:
Modified Virtual Matrix functionality in FPP to output sequence data on the HDMI port of your Raspberry Pi.

Standard FPP setup on a PI with an HDMI to DVI cable to connect to the LINSN sender card


High level diagram here: (not intended to be a wiring guide)
panels on linsn.png
 
My 2016 P6 Waterproof Matrix

My 2016 show has a 48 panel P6 outdoor 1/8 scan matrix
  • 48 x P6 outdoor rated, 32 x 32 pixels, 1/8 scan panels
  • 12 x 4 panel configuration providing resolution of 384x128 pixels and size of 2.3m x 0.77m
  • 49,152 pixels or 147,456 channels
  • 6 x RSP-320-5 power supplies
  • 1 x RV908T receiver card
  • 1 x TS802D sender card
Panels are mounted to a coro box to obtain a waterproof seal with a wooden frame inside it. Laser cut perspex would be much easier than drilling the ~1000 holes in the coro I suspect, but it can be done and it has worked for me.

It is easily bright enough to read during the day even when not on full brightness. The outdoor panels have some minor sun shading built in above each pixel too. I will post a video showing the matrix performing at night soon, it really does look like a TV screen from across the road. It's an order of magnitude or two more impressive than the P10's I did last year.

IMG_3608.JPG

IMG_3473.JPG

IMG_3475.JPG

IMG_3478.JPG

IMG_3495.JPG
 
More Details:

Adafruit have a great guide to building a LED Video Wall. This uses panels, LINSN controllers and Led Studio which is 90% of what you need to do: https://learn.adafruit.com/adafruit-diy-led-video-wall/overview

The hardest part in all of this is configuring the LINSN cards via LedStudio. It becomes much easier if your panel vendor supplies .rcg configuration files for your specific panels.

FPP's FBMatrix code needs to be modified so that it only lights up 1 pixel on the HDMI for 1 set of pixel data rather than scaling it up. My hacked FBMatrix.cpp is available at https://dl.dropboxusercontent.com/u/49382186/FBMatrix.cpp It assumes that you will configure LED Studio to start the images at coord 300,300 from memory.

The default FPP config (/boot/config.txt) has overscan for the hdmi enabled. This means you don't get a true piexl for pixel representation. To fix this add disable_overscan=1 to the file and comment out the rest of the overscan_* settings and reboot your pi.

(more information to be added here in future)
 
Tips:

Try to do this in 3 parts.
  1. Build the matrix and get your laptop (or similar) outputting to the matrix
  2. Get FPP setup and plugged into a monitor so you can see the virtual matrix on the screen and can play sequences to it
  3. Put it all together.
I had an HDMI matrix handy, so I set it up so I can plug both a monitor and the LINSN sender card into the PI and see in real time what the HDMI looks like. I found this very handy in troubleshooting.
 
Learnings:

Originally I ran this on a dedicated PI in bridge mode (eg acting as an e1.31 controller) so it was separate from my main show PI.

This worked ok from Xlights, but I found that my show PI could not put out the universes fast enough to feed this many channels into a controller.

Apparently the Ethernet on the PI's is USB based and a little limited. Using the HDMI port on the show PI is an interesting way of working around this limit :)
 
Where do we go next?
  1. Contribute patch to FPP to make an option for Virtual Matrix to be 1 set of pixel data becomes 1 pixel on the HDMI. By default FPP scales this up to full screen because it assumes you want to display on a tv or projector.
  2. I suspect it is possible to drive multiple matricies from the same FPP/LINSN sender card provided the panels are all the same model. I hope in 2017 to explore this further.
 
Great writeup and I will help wherever I can from the FPP side.

I will also mention the Colorlight receiver cards. I have one of the 5A-75 boards being shipped to me now and want to create a FPP channel output to drive these directly. At $31 U.S. Shipped, this could be even more economical for smaller layouts. I will definitely test with my 30-panel indoor P10 layout once I get some code written.
 
CaptainMurdoch said:
Great writeup and I will help wherever I can from the FPP side.

I will also mention the Colorlight receiver cards. I have one of the 5A-75 boards being shipped to me now and want to create a FPP channel output to drive these directly. At $31 U.S. Shipped, this could be even more economical for smaller layouts. I will definitely test with my 30-panel indoor P10 layout once I get some code written.

Be interesting to see how the colorlight receiver cards are - in theory FPP could directly control the LINSN receiver cards as they are just ethernet, however sadly it's a proprietary protocol and it looks truly evil.
 
Back
Top