MatrixWriter
Member
I was told by Paul to post my questions related to the OctoWS2811 libraries here.
So I am making an LED display for my university's senior engineering project. This is my first large scale LED project for me. Nothing has been built so far as I am still in the design phase, but I hope to get some questions answered before I buy materials.
Basic idea: Need to control thousands of LEDs to run various applications such as video, displaying text, and small programs.
Specifications of the project:
1) 96 x 60 resolution (5760 LEDs!) as it needs to display text and images as clearly as possible. This is also a 16:10 display aspect ratio which is preferred for the type of applications the should be ran on it.
2) Will be using the latest Teensy boards, version 3.1 as they can each power up to 4000 LEDs.
3) Will feature a Beaglebone Black board (latest one) or a Raspberry Pi controlling the two Teensy's via USB (unless I need more Teensy board -- See 2nd question below)
Now for the part I would like some help on for the project:
1) I could not find any documentation on the forum or site on this:
How many LEDs can the Teensy 3.1 fit on each pin? Can each pin (I call it channel) do 96 LEDs in a row?
2) I understand that the OctoWS2811 is designed to run 8 strips of LEDs of equal length.
Just for ease of the project, should I buy 8 Teensy microcontrollers and assign the each row of LEDs it's own pin on the Teensy. Ex: Row #1 goes to LED 1, Row #2 goes to LED 2, and so on.
Or do I want to have some of the rows "serpentine" to the next one? Wouldn't this make the video display complicated or does the library know how to do this?
Ex:
Rows #1 to #3 go to LED 1 pin
Row 1 (96 LEDs): ----------------------------------------------------------------------------
|
Row 2 (96 LEDs): ----------------------------------------------------------------------------
|
Row 3 (96 LEDs): ----------------------------------------------------------------------------
Rows #4 to #6 go to LED 2 pin
Row 4 (96 LEDs): ----------------------------------------------------------------------------
|
Row 5 (96 LEDs): ----------------------------------------------------------------------------
|
Row 6 (96 LEDs): ----------------------------------------------------------------------------
....
3) Does the number of LED pixels in the array have to be divisible by 8 (I know the name Octo means 8) or does the 8 refer simply refer to the fact that the library is designed ONLY to run 8 led stripes up equal length with up to 4000 LEDs on Teensy 3.1? This is sort of redundant somewhat to question #2.
4) Going off the response from questions #2 and #3, should I change the resolution to a factor of 8? So instead of 96x60 should be 96x64? Just note that the slight resolution change increases the LED count as well as power/cost by a ton!
5) How do you know what size resistor to put on the data line of the WS2812 LEDs when attaching to the Teensy board.
You mention values between 47 ohms to 220 ohms. Should I use an oscilloscope to measure or is that LED count (as well as wiring) dependent - or is it based on experimentation?
6) Last question: can the Teensy boards be controlled from a main controller board such as a Raspberry Pi or Beaglebone? I see people mentioning it but haven't really seen good answers unless someone can redirect me to the page.
I want to basically hook up the Teensy boards to one main board where the main board will end up interfacing with a PC (or mobile device). The main board shall convert the commands from the PC and then send it out to the Teensy boards.
The Teensy boards in my case are simple used to convert the user input into the code where the Teensy board does the actual running and output to the LEDs.
I just think this layout is cleaner for my application and I can send all the code to one place. Is this even possible?
I am missing something such as you only send code to one Teensy board and the video frame sync port will have the other boards run? Or do I have to end up having to load code to every single board? Help!?
Sorry for so many questions as I am new to this stuff. I appreciate any help and feedback that anyone has to offer.
If there are more questions, I'll post.
Here is a diagram of what I want my system to be like.
So I am making an LED display for my university's senior engineering project. This is my first large scale LED project for me. Nothing has been built so far as I am still in the design phase, but I hope to get some questions answered before I buy materials.
Basic idea: Need to control thousands of LEDs to run various applications such as video, displaying text, and small programs.
Specifications of the project:
1) 96 x 60 resolution (5760 LEDs!) as it needs to display text and images as clearly as possible. This is also a 16:10 display aspect ratio which is preferred for the type of applications the should be ran on it.
2) Will be using the latest Teensy boards, version 3.1 as they can each power up to 4000 LEDs.
3) Will feature a Beaglebone Black board (latest one) or a Raspberry Pi controlling the two Teensy's via USB (unless I need more Teensy board -- See 2nd question below)
Now for the part I would like some help on for the project:
1) I could not find any documentation on the forum or site on this:
How many LEDs can the Teensy 3.1 fit on each pin? Can each pin (I call it channel) do 96 LEDs in a row?
2) I understand that the OctoWS2811 is designed to run 8 strips of LEDs of equal length.
Just for ease of the project, should I buy 8 Teensy microcontrollers and assign the each row of LEDs it's own pin on the Teensy. Ex: Row #1 goes to LED 1, Row #2 goes to LED 2, and so on.
Or do I want to have some of the rows "serpentine" to the next one? Wouldn't this make the video display complicated or does the library know how to do this?
Ex:
Rows #1 to #3 go to LED 1 pin
Row 1 (96 LEDs): ----------------------------------------------------------------------------
|
Row 2 (96 LEDs): ----------------------------------------------------------------------------
|
Row 3 (96 LEDs): ----------------------------------------------------------------------------
Rows #4 to #6 go to LED 2 pin
Row 4 (96 LEDs): ----------------------------------------------------------------------------
|
Row 5 (96 LEDs): ----------------------------------------------------------------------------
|
Row 6 (96 LEDs): ----------------------------------------------------------------------------
....
3) Does the number of LED pixels in the array have to be divisible by 8 (I know the name Octo means 8) or does the 8 refer simply refer to the fact that the library is designed ONLY to run 8 led stripes up equal length with up to 4000 LEDs on Teensy 3.1? This is sort of redundant somewhat to question #2.
4) Going off the response from questions #2 and #3, should I change the resolution to a factor of 8? So instead of 96x60 should be 96x64? Just note that the slight resolution change increases the LED count as well as power/cost by a ton!
5) How do you know what size resistor to put on the data line of the WS2812 LEDs when attaching to the Teensy board.
You mention values between 47 ohms to 220 ohms. Should I use an oscilloscope to measure or is that LED count (as well as wiring) dependent - or is it based on experimentation?
6) Last question: can the Teensy boards be controlled from a main controller board such as a Raspberry Pi or Beaglebone? I see people mentioning it but haven't really seen good answers unless someone can redirect me to the page.
I want to basically hook up the Teensy boards to one main board where the main board will end up interfacing with a PC (or mobile device). The main board shall convert the commands from the PC and then send it out to the Teensy boards.
The Teensy boards in my case are simple used to convert the user input into the code where the Teensy board does the actual running and output to the LEDs.
I just think this layout is cleaner for my application and I can send all the code to one place. Is this even possible?
I am missing something such as you only send code to one Teensy board and the video frame sync port will have the other boards run? Or do I have to end up having to load code to every single board? Help!?
Sorry for so many questions as I am new to this stuff. I appreciate any help and feedback that anyone has to offer.
If there are more questions, I'll post.
Here is a diagram of what I want my system to be like.