Fastest way to communicate bidirectionally between Max 7 and Arduino/Teensy 3.1

Henrik's icon

Hi there,

I want to build a huge video wall project with the Adafruit DotStar Digital LED stipe (144 LEDs/m). The video wall should have about 720 LEDs (5m) and it should be as flexible as possible (it should fit to bent forms).

So the data transfer rate between the Arduino Due or Teensy 3.1 should be at least 518400 Bit/s (720 LEDs * 24 Bit * 30 fps). For safety let's say it should be at least 1 MBit/s. I think the easiest way would be to use the USB serial port (maybe later I also want to transfer the data over bluetooth).

My Problem is, that the standard Max serial object offers a maximum baud rate at only 115200 Bps.
Does anyone has a workaround for this or knows a better communication interface / protocol to use?

Thanks!

Christopher Overstreet's icon

Not sure if it would work with the dotStars, but you might find something like it or choose to go with neopixels. Check this out.. http://www.adafruit.com/products/1779 (Octo) or this http://www.adafruit.com/products/1689 (fade candy). I believe you can have daisy chain them with or without multiple teensy's as needed.

gavspav's icon
Henrik's icon

Thanks for you replies.
I decided to use the standard teensy usb_uart connection and it works great over the Max serial object and jit.iter. Maybe I will try to get it work over a Bluetooth serial connection in the future.

Robin Price's icon

I did a large LED array recently using the OctoWS2811 sketch for Teensy which is what I'm guessing you're using and to cut a long story short your best bet is to share the textures from jitter to processing using syphon then use pjrc's sketch for sending the data up, why re-invent the wheel?

I have some code for this if you're interested.

David Beaudry's icon

Actually I'd love to hear from cycling74 if the serial object does in fact cap at 115200. I've been using 921600 without Max balking for quite a while (when the micro can handle the speed). And when you are using the teensy3 usb connection, it simply negotiates the fastest usb uart connection the OS will allow (12 Mbit/sec if I remember correctly). I never thought twice that max could be throttling this (i.e. it wasn't just a direct connection to the serial capabilities in the OS).

Any clarification from those more in the know?

Thanks,
David

Niklas Coyne's icon

Hi.
Interesting discussion. :)
@Robin Price saw your video of the ping pong table. Impressive. I am trying to accomplish something similar. Vdmx - syphon - processing - octows2811 teensy. Its for my friends stage lightning when performing.
I have fiddling around with pauls Movie2serial code and got it working but im getting stuck on changing out the movie object to read syphon input. You mentioned some code you could share. Might i have a look at the code to help me in my quest to better understanding how to solve it? Or any hints on how to learn more to get further in realising my idea.

best regards Niklas