Steve cut a new cable for power to reach the top row and with help from everyone in the space we got the power running and then the data lines hooked up. There’s a 3 pin connector being used on the data line so we could easly insert a resistor (recommended to prevent first-pixel burnout). We connected the extra ground line back to the teensy’s ground and that seemed to stop the flicker. Once it turned on there were a few touchy spots - the first panel on the top row was lit until I touched the connector between 1 and 2 and then the rest of the row came on. Note to self: “magic touch” excuse from now on.
The USB cable was the big issue - I tried five that night. All claimed to talk to the teensy, only two could reboot the board, and only one could get the power light on the Teensy to turn on when I plugged in.
I did not use VHS-LEDWall2 or VHSled. Apparently I had some other code on my laptop that made the plasma display work. I’ll check it in later today.
The next step is to run it at maker fair and then run it back in the space again.
Interesting to note: at 768 LEDS, 3 bytes per pixel, that’s 18.432kb/frame. 60FPS is over 1.1MBits/s transfer rate. I’ve never seen anyone serial to an Arduino run faster than 250kbps. I asked the experts and they told me to run some tests and find out.
I was in the process of testing Serial throughput with my Teensy when I realized that the video problem has already been solved, so we need not wonder about transfer rates being sufficient. The OctoWS2811 library documentation from pjrc.com has sample video code and says that one Teensy 3.0 can run up to 1000 LEDs.
There is a Processing sample file called movie2serial (can find in your local installation at \Arduino\libraries\OctoWS2811\examples\VideoDisplay) that reads a video file and sends pixel data over serial to the Teensy. I don’t know how many formats it supports, but the example shows it reading an AVI. If you’re not ok with transcoding in advance (FormatFactory is great and free), someone has taken movie2serial and made it read the video from a UDP stream rather than a local file, so if you can get VLC to play to UDP, that should be sufficient.
the serial problem is not between the LEDs and the teensy. the serial problem is between your PC and the teensy. How fast can we send data to the wall? Where is the bottleneck?
Where does the UDP stream come from? Is that the same as the serial connection in the Arduino Serial Window?
movie2serial is a Processing sketch that runs on your PC, or in this case, it could run on the Raspberry Pi that is powering the Teensy. movie2serial makes a Serial connection to the Teensy over USB, and streams the video data over it. I don’t know if it can do 60fps at this resolution, but there is configuration in the sketch to adjust the frame rate, so you can at least try. If not, just use a lower fps video.
The UDP stream would be targeted at a port on the RPi. It could potentially initiate on the RPi as well, but could also work over a network. Once movie2serial (the modified version, on GitHub) connects to the UDP video stream, it reads it and sends the data over Serial to the Teensy.