Teensyduino 3.1 + OctoWS2811 LED Library + 2x 16x16 Flexible Neopixel panels?

Status
Not open for further replies.

CaptainPlanet

New member
Hey everyone. I just purchased two 16x16 Neopixel flexible neopixel panels (seen here) from adafruit and was intending to follow this guide I found on the site so I also purchased a Teensyduino 3.1. I realize now that I've mis-read what panel is used in the teensyduino guide, but I do intend on keeping the flexible panels since I'm going to use them one way or another for a wearable project.

What I was wondering, after researching and finding the OctoWS2811 library and adapter board for Neopixels, is whether or not there's any way to adapt the wiring and Octo library to be compatible with the two 16x16 panels, which I intend to chain in a 32x16 vertical display.

If not, no big deal! I'll try to code less intense stuff on my own....just thought it would be neat to be able to do the GIF stuff right off the bat :)
 
The guide and the panel that you linked indeed are for different products. You can for shure use the OctoWS2811 and it's library to drive your panels, but you don't need it. A simple and fast buffer / level shifter like the 74HC245 or 74LVC245 will work fine to drive the panels.

You don't need to use the OctoWS2811 library if you don't want it (or needed it). Adafruit has an "neopixel" library that can be used to drive led matrix, with a few examples. FastLed is also another well know library. I think OctoWS2811 is optmized using some alwesome optmization to run insane large displays, but for two 16 by 16 matrix, depending on what you want to do with it, both neopixel library and fastled will do just fine.
 
The guide and the panel that you linked indeed are for different products. You can for shure use the OctoWS2811 and it's library to drive your panels, but you don't need it. A simple and fast buffer / level shifter like the 74HC245 or 74LVC245 will work fine to drive the panels.

You don't need to use the OctoWS2811 library if you don't want it (or needed it). Adafruit has an "neopixel" library that can be used to drive led matrix, with a few examples. FastLed is also another well know library. I think OctoWS2811 is optmized using some alwesome optmization to run insane large displays, but for two 16 by 16 matrix, depending on what you want to do with it, both neopixel library and fastled will do just fine.

Good to hear that this is possible. Question about the GIF tutorial though, does it require / work with the non-neopixel library? I guess I thought you needed the Octo library and adapter due to some timing issues with the Neopixels, I don't really understand it as I'm not really a great coder :/
 
OctoWS2811 adapter is basically a level shifter that uses 74HC245 to translate the teensy 3.3 volts logic to 5v logic that the leds require.

This library can be used to play animated gif's from SD cards using the neopixel library.
 
The Adafruit NeoPixel library runs fine on Teensy 3.1. It hogs the CPU while updating the LEDs, but if you're not needing other stuff running at the same time (like communication from a PC or audio processing), and you don't have so many LEDs that you *need* the 8X faster parallel output, then you might as well take the path of least resistance and just use the NeoPixel library.
 
No, I do not have any solid stats or benchmarks.

But I can tell you, the best performance is with FastLED doing rendering, where it uses OctoWS2811 as a driver to update the LEDs.
 
For chipsets like the WS2812 where your timing is pretty tightly set by the chipset, when it comes to raw writing out of the led data, all the libraries involved are going to be close. Here's where you can get performance differences:

* pushing led data in the background, instead of eating up cpu time to do this (FastLED's OctoWS2811 driver, that Paul mentioned above is the fastest option on the teensy 3.x)
* getting clock cycle counts exact, to minimize wasted cycles between led data - it's a crap shoot whether neopixel or fastled is going to be faster at this. There's clock checking overhead which will oscillate the timing of writing out an led a bit, though within the bounds of what the chips are expecting.

Of course, then there's the question of what else is being done with the data - FastLED is non-destructively scaling/dithering/color correcting the led data as it's being written out, in the case of clockless chips like the WS2812, there's 0 overhead for this.
 
Status
Not open for further replies.
Back
Top