Teensy 3.1 & Programmable WS2812B RGB LED POV Staff - Newbie Questions

Status
Not open for further replies.

ac17

New member
Hi all,
I am looking at making an LED project using the Teensy 3.1:
I want to connect two Teensies to two 2m lengths of this and line the insides of two separate 1m lengths of clear plastic tubing so that I can make a pair of 'programmable LED Staffs' to twirl / juggle with (i.e., Each 1m staff will have 2m of LED strips - the lights will thus be visible on both sides). My inspiration comes from MortonKopf among others, who has an AWESOME and inspiring blog about light painting and other LED projects using the Teensy, here.

I am wondering, firstly:
- Are there any other 'better' light strips I could use - eg with more pixel density?.
I am wondering what kind of light arrays the more expensive manufactured POV toys use (like the $1500 'visual poi' here - video here , and the $400 "future poi" here with corresponding video here).
NB: I looked at a guy's "future poi" last week in a park and counted the lights - there were about 40 (x2 strips) on each POI, which were only about a foot long. They looked incredible. Maybe they were not WS2812Bs, maybe they were smaller lights like 3528 SMDs? (I knew absolutely nothing last week, so if I see him this week I will take pics / vid and get a closer look and post back to this thread).
- I also stumbled across this impressive project, but have no idea what light array he is using... Maybe I am aiming too high for a first project, I don't know... I just can't see how manufacturers are selling this simple technology for $1500!!! (what does it do that a Teensy 3.1 / Arduino can't do to some RGB strips, provided they have the same pixel density)?

Second Question: - what it the best way to connect the Teensy to the Strips & Battery source, in the most secure way so that it can withstand both inertia of being spun around, thrown, and caught, but also occasionally (accidentally) dropped? . Naturally simple soldering will not withstand such punishment...
Would something like this work?
- I am a bit of a newbie to all things electronic, and am not exactly sure from the Teensy pics where I am supposed to connect it to the power supply or if cables like these would be a feasible solution (from pics, the teensy to me just looks like a circuit board with no connectors, suggesting to me that it can only be soldered to wires directly. Am I wrong?).
- I fear that merely soldering all wires might not be strong enough, hence my idea of these little cables.

I was thinking of using a 3.7v rechargeable battery for both staffs, or something slightly lower-powered, but USB rechargeable.

Thanks in advance, Teensy pals! :)
 
Last edited:
I'm going to take a guess here that others are finding it difficult to know where to start in helping you. So many questions!

The Visual Poi videos are very impressive!

ICs can take amazing amounts of acceleration if mounted properly. I've heard stories around the office of FPGAs in artillery shells. That's a bit more acceleration than dropping a stick on the ground. Ordinary solder isn't designed for strength, but silver solder can be used to make stronger solder connections. I think bending is the key thing you need to minimize. Another technique for protecting electronics is "potting" which means to embed the circuit board in a material that transforms from liquid to solid, like epoxy.

Since you're just getting started, I suggest you try some small experiments. Maybe at first you only try a half a dozen leds and don't worry about POV. Just make something that you can test. After you figure out how to make it rugged, then maybe move on to making the battery recharging system. Step by step.

Best of luck!
 
The biggest problem that you are going to have with the WS2812B's is refresh rate. You can't go above 400fps with them otherwise you start messing with their own internal refresh rate and things start getting wonky. Most of the folks I know who are building POV things are using chips like the LPD8806 which can push data at close to 20Mhz and has a PWM refresh rate about 6 times as high as the WS2812B's. (This is, of course also ignoring the WS2812's 800khz data rate vs. the 20Mhz data rate of the LPD8806 - and recent WS2801/WS2803 data sheets appear to claim data rates as high as 25Mhz, but I have yet to verify this in person).
 
ac17 - thanks for reading the blog about graphic poi / pixel poi. As Daniel says, the ws2811 12 issue is the one that I crashed into a while back, and mentioned on the blog about refresh rates, and the speckled effect that happens. There will always be a trade off between the amount of money you have, the skill you have, what materials you can access, etc. I have three builds for pixel poi, all three have different aspects, but all three have one thing in common, I did not want to go down the route of circuit board making and chip soldering. The only way to get that high density, pure unshackled effect that you see in the expensive kit, is to go down that route at the moment, because the led strips available don't do it.

Kit from A1 Technologies and others use IC and led combinations via their own circuit boards, rather than leds with inbuilt chips like the ws2811. See pic below:

graphicPoi.png

Interestingly, A1 have scratched out the IC number, but there are lots of discussions around as to which ones you could go with.

I used the now deprecated LPD6803 led due to its fast refresh rate, but it is 15bit colour, and the smallest form factor I could find only allowed for 15mm spacing. This did give very nice colour transformations, but low density and rather heavy baton as the form factor it was available in included heat sink board / mounting board. It also required a lot of soldering, with again increased the weight and susceptibility to breakdown.
IMG_0143.jpg

The ws2811 strip was soooo easy to use, and worked in both the 74led/m and 144led/m variants without draining the batteries too quickly, but… did not refresh fast enough to avoid that horrible speckle - just not good enough.

If you want $1500 look and feel, you need to get into more electronics, I guess. However, on the bright side, there is probably an led strip just around the corner with a very fast refresh rate.

For tubing, I used a protective polycarb casing, and fixed the leds to a clear central polycarb strip which was the right width for the internal diameter to give a snug fit.

Batteries are 4xAAA rechargables and run for between 45min and an hour depending on what images and programmes were being run. I used a standard 4 battery plastic holder that fits snugly inside of the tube. I fixed the teensy to the outside of the tube (not very elegant at all - but wanted to avoid putting anything up the far end of the poi in case of hitting it) and used polymorph (also called thermo-morph) plastic to create a small housing.

Also, as someone who has spend a long time creating a software system for a performer to use to update performance sketches to the kit in an easy non-technical way, I can understand where $1500 price tags start to come from.

You will also need to think about whether you are going to be happy with the progmem/const space size, or whether you are going to be updating from an sd card, as this may mean read speed limitations from the sd card, and a different battery life.

btw, I think that future are not programmable with your own images, logos, etc.

So, from what i researched (which is a couple of months out of date now) there were no high density fast refresh rate strip options available. 60led/m 8806 is the highest density I could find.

Regarding connecting up wires, well, different schools of thought, but consider if you want to put it together permanently, or be able to 'unplug' the teensy for other purposes. You can solder directly tot he Teensy pads and pin holes, you can fit header pins and use connectors, you can fit header pins and solder to those.

wiz820_assem4.jpg12646_01__21180.1387538201.1280.1280.jpg

Because of the way that I set my teensy externally near the handle, I needed the teensy to be slightly away from the casing so that access to the usb port was easier, so I ended up fitting header pins and the soldering to those. This also allowed me to use heat shrink on each connection to provide insulations and some mechanical strength to the solder points.

mortonkopf
 
Last edited:
Thanks for your thoughts and generous replies!
-Is this an example of pixels on a board that this DIY guy is using? (does anyone know?) https://www.youtube.com/watch?v=cEy8uD2F1g8

He shows its programmable potential (via undisclosed software) here:
https://www.youtube.com/watch?v=VXfj3B2HDbw

He uses lithium batteries and 60/m pixels. I have no idea on specs for either. I've googled his software but can't find it so am more or less confused about it.

-but this looks good to me. Is there 'lag' in there that characterises the 2812b?
 
Last edited:
-but this looks good to me. Is there 'lag' in there that characterises the 2812b?

Pixelation would characterise the 2811 12 look, by this, I mean a dotted effect rather than a smooth looking transition from one colour point to the next.

No idea on the two links, will have a more detailed look later, but my guess is that this is not using 2811 12, the refresh rate is far too high for that, which you can on the very fast spins.
 
Last edited:
I just wanted to answer one question from this old thread as I was casually browsing for this topic. The pic from A1 poi i think it is almost certainly seems to be the tlc59711 as its 12 channels (so 4 rgb leds per chip) and you can see the texas instrument logo on the chip. https://www.adafruit.com/datasheets/tlc59711.pdf

Just 2 cents as there seems to be a lot of ppl asking about what chips are used for these fast refresh rates. IMO if your after something along these lines then look into the TLC5940 as it has libraries that work for the arduino and teensy already at hand. Be warned that they do have some depreciated code in them depending on what IDE your using.
 
Just completed my pov poi days ago,with arduino uno, and suffered from the refresh rate, or whatever
I've somehow counted the frame rate and found out i got only about 120 lines per second, with 36 LEDs in my strip
which is kinda insufficient, even if i swing poi really slow

So i'm trying to find other drivers like TLC5940/59711, also moving on teensy 3/LC
wondering if there is any library built with DMA channel and drives RGB LEDs (through TLCs)?
 
I can recommend the apa102 as well. ~20 KHz pwm rate, 24bit color. You can get them up to 144leds/meter (~40/meter on aliexpress, if you go for 60/meter you can get ~4meters for ~$60 on amazon). They expect 5v input, so you'll have to pick up a logic level converter if you use a teensy 3.x, but you can use a 2++ right out of the box (I cut up and soldered a strip for use in my computer, way overkill, but way cool ;)
 
Normally I don't like vaporware, but I should mention I'm developing an add-on board and software for these sorts of POV applications. It's a very commonly requested feature... I've heard the many requests. In about 6-8 weeks, I hope to have something pretty awesome for you.

However, it won't include battery & power management, so it'll still need to be pair with another add-on, like one of Onehorse's charger boards.
 
Paul, very interested in what you are planning. Will the software element deal with spi transactions for SD card to work with the APA102? I am part way through putting together a new POV baton using li-ion, onehorse new charger, and 144led/m but struggling with image display from SD card
 
Will the software element deal with spi transactions for SD card to work with the APA102?

Yes, proper SPI sharing.

But not SD cards. It's all based around SPI flash with the SerialFlash library. SD cards are too slow and they have unpredictable latency. Those SPI flash chips have low latency which is perfectly constant every time.
 
Yes, proper SPI sharing.

But not SD cards. It's all based around SPI flash with the SerialFlash library. SD cards are too slow and they have unpredictable latency. Those SPI flash chips have low latency which is perfectly constant every time.


thx paul, i'm also working on SPI flash, so that i don't need to worry about my micro SD card (from flying out my poi while doing some tricks) anymore.
The power is just not my problem to worry about, a 18650 in my circuit suits well now, and it can directly power my ws2812b strip somehow, though the power drain will fail the SD reader sometime( especially when pixels were mostly bright-white):D
An upgrade from 2000mAH to 3500mAH/high currency battery should solve that problem,
and thx for the apa102 suggestions , i'll try em later, maybe my framerate problem will be solved after I move my project from 328p to teensy3.1(from 18mhz to 72mhz)
or maybe after I change from adafruit library to octows2811 with DMA.
 
Last edited:
@po ting. The ws281* LEDs don't work, they don't refresh quickly enough. The end result is a very speckled image that disappoints. Below is an example of this effect, it is very noticeable even at slow rotation speeds. It is worth progressing with the apa102.
image.jpg
 
@po ting. The ws281* LEDs don't work, they don't refresh quickly enough. The end result is a very speckled image that disappoints. Below is an example of this effect, it is very noticeable even at slow rotation speeds. It is worth progressing with the apa102.
View attachment 5067

not very ideal, but still an image
i'll pick up whatever better effect before I step to the next

thx for the suggestion anyway
 
Because WS2812 LEDS only have 3 wires (power, ground, and data), the timing is hardwired to 800KhHz. It doesn't matter whether you use an Arduino or a Teensy, the basic communication to the LEDs is always at 800KHz. Now, using a Teensy, particularly with the Octows2811 library (or the FASTLED library) means that the additional instructions being done to support the LEDs is faster. Octows2811 also speeds things up by doing 8 LEDs in parallel.

APA102's have 4 wires (power, ground, data, and clock), which means you can go faster than 800KHz per LED, which helps with POV type displays.
 
The internal PWM of the WS2811 controller is the real problem. It runs at approx 425 Hz, regardless of the communication speed. That's plenty fast enough for stationary or slow light painting, but not enough for POV.
 
The internal PWM of the WS2811 controller is the real problem. It runs at approx 425 Hz, regardless of the communication speed. That's plenty fast enough for stationary or slow light painting, but not enough for POV.

thx, didn't notice about that internal PWM , the theoretical frame rate for WS2811 for my project is about 3200 lines per sec (800000byte/ approx 250byte per line)
makes no sense with 425Hz PWM, which gives probably all white , or limits the frame rate to 425? though still four times faster with the current POV i got(120lines/sec as mentioned above),

on the other hand, just trying to make best use with the strips(which i got 2 meters left), wonder if there's any possibility besides POV?
 
thx, didn't notice about that internal PWM , the theoretical frame rate for WS2811 for my project is about 3200 lines per sec (800000byte/ approx 250byte per line)
makes no sense with 425Hz PWM, which gives probably all white , or limits the frame rate to 425? though still four times faster with the current POV i got(120lines/sec as mentioned above),

on the other hand, just trying to make best use with the strips(which i got 2 meters left), wonder if there's any possibility besides POV?

You are still limited to a frame rate of 425 - even worse, with WS2812's if you try to update them at a higher rate than 425Hz they will glitch out like no tomorrow, and so you have _have_ to cap off your refresh rate at that. Seriously, don't use WS281x for POV.
 
APA102's have a > 20Mhz data rate (I've heard of people driving them as high as 32Mhz) and a 20kHz PWM refresh rate, how this is too slow for POV?
 
Do the APA102s buffer the clock and resync the data to the buffered clock as it travels down the strip? Or does clock drive and data setup & hold time become an issue as the strip gets longer?
 
Status
Not open for further replies.
Back
Top