I am brand new to the Arduino and LED world so please forgive the fact that I do not know the lingo. I’m starting to work on a setup for my Christmas light display for this year (timed to music using Vixen of course). Now that I am done building my relays I decided to complicate things and try adding in some LED strips as well.
I am aware that I am diving into a complex project but diving in the deep end and then learning my way out is my MO.
I purchased a strip of WS2812B Pixels. The strip is 60 LED/M and 5M long so 300 pixels. After getting that to work (not perfectly due to the code I copy/pasted was not exactly right) pretty quickly, I got excited and ordered 7 more strips of lights… dun dun dunnnnnn
So now I am talking about 2,400 pixels which is a totally different animal (as I am learning) and my Arduino Mega is NOT going to cut it. Powering them is no big deal since I have experience in that realm.
Based on what I think I know… here are my thoughts/questions:
In Vixen, I can set up multiple controllers so I am thinking I can just use one Mega to control the relays and then a (insert appropriate micro controller here) for every (insert number of pixels here) pixels.
Is the Arduino Due the right controller for this? How many Pixels would that competently control? Would each controller be considered a ‘Universe’?
The LED’s do not HAVE to be a part of my display this year but I would sure love them to be and I think with the time that I have, I can make that happen with your help.
Please be kind. I know this is a big project. Also, I am reading the book ‘Programming Arduino’ but if you have some other material that I should look over, I love learning!
Teensy 3.2 for just over 5000 pixels (25 fps) over 8 spi feeds (8 pins). Look for my earlier posts on the megapixel controller (board that has the teensy, components, connections , termination boards and optional spot for Ethernet if your not using the serial). I haven’t tested over 1600 pixels over serial yet it but if vixen will allow a hi mbaud rate then it should surpass what you need. If using Ethernet then we have no problem. The controller code obeys universes so you specify the starting universe, total pixels , total strands. Each pin can handle multiple universes (170 pixels)
@Chris_Rees Thanks for the info! Just to make sure that I am understanding you correctly. I should be able to use a Teensy 3.2 as my controller? the video you are referring to is a board you made with Tennsy Components?
Vixen gives me options for baud rates from 2,400 to 1,048,576. I’m not opposed to using ethernet however I feel that adds on more layer to the puzzle so maybe I should stick with serial until I have that much figured out.
Also, I’m a little confused on what you were saying about pixels. IF I am understanding you correctly you are saying that each of the 8 pins on the Teensy 3.2 can handle 170 pixels? at the top of your reply you said just over 5,000 pixels. I’m sure that it is my misunderstanding that is the issue so if you don’t mind clarifying it for me I would really appreciate it. Thanks again for the reply.
@Andrew_Jensen sorry I mistyped 170 = 1 universe of pixels each pin can send multiple universes. The testing I have done and current code can send up to 680 pixels per pin (4 universes) at 25 fps.
Yes teensy as your controller. The board makes it easier to plug in the parts and go. It will come full diy where you can order just the board, board with parts, and pre assembled boards for plug program and play operation
I recall that you can override the vixen baud rate to higher speeds. I am guessing but you should be able to set it at 2-3mbaud and get about 3000 pixels. I know we had 1600 pixels on 1mbaud. The teensy USB is connected at 11Mbps to the pc. It’s just getting the serial to mbaud its capability.
Cool! I think that I am mostly with you at this point haha. I definitely wouldn’t mind going the ethernet route but it is one step at a time.
I ordered 2 fully assembled Teensy 3.2’s which will arrive on Monday and I will start working then.
I’m sure that you all write your own code but is there code somewhere that I should use as a starting point or do I need to take the shipping time as an opportunity to read up and start writing code myself? I bet I can find some example code from people that are using FastLED + Teensy + Vixen.
Thanks again. I will start doing some research on this combo.
I have the code and I can post it for serial and Ethernet. Most of which was derived from other projects. There is already code out there for vixen . I don’t recall if it’s for the teensy or not but it would be easy to port if not. Most of my time was spend getting Ethernet to work with many universes.
Here is a pic of my board with the teensy. If your making your own make sure you get the octows2811 so it can shift your teensy pins to 5v signals. You may be able to do it without it but your results will vary missing/deleted image from Google+
My plan is to sell them as boards without parts, boards with parts, and boards pre assembled. Right now I have about a half dozen sets of parts and boards . I don’t have my site ready yet but I do have PayPal account for other stuff I sell online (eBay). If your willing to “test” it out and build your own I can get you a decent deal. Parts are through hole. . If you don’t want to deal with soldering let me know and I can figure something out
@Chris_Rees - Let me know when you’re selling the boards. I can try to help with a blog article and a couple links to your site or whereever you’re selling them.
Hey Chris, on the Teensy OctoWS2811 Adaptor there is a Sync pin that allows me to multiple boards together. Is this an option on your setup? The reason I am interested in this is with my application being outside for a Christmas Light Display, I may need to use multiple boards so none of my data runs are too far.
In this particular application it’s not needed. The timing will come from the application (vixen, xlights, jinx etc). The teensy has many ways to do things and in certain applications may require the sync pin
@PaulStoffregen Thanks Paul! The first batch of boards are working great but I need to make some minor changes. And get the second batch coming and they should be ready. I have another beta tester testing it out with a w5500 version module but having some issues with one socket. I may need to get one to see if I can make it work. I am using the w5200 version without issue