I'm pretty sure 14 pins is the smallest DIP package that's commonly available. 74HCT125 is probably the best choice in 14 pin format.adafruit wrote:Is there any smaller buffer chips that you think would work? like an 8 or 12 DIP? the 245s are just so huge!
Controlling NeoPixel from Teensy
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- paulstoffregen
- Posts: 444
- Joined: Sun Oct 11, 2009 11:23 am
Re: Controlling NeoPixel from Teensy
-
- Posts: 12151
- Joined: Thu Apr 06, 2006 4:21 pm
Re: Controlling NeoPixel from Teensy
ooh yeah, we get from WS direct! Sorry to hear about the 'grumpy' strip but that will help us debug issues with other customerspaulstoffregen wrote:My "grumpy" strip came from a might-as-well-be-nameless merchant on Aliexpress. Or maybe it was Ebay? I really don't recall now.
For anyone reading this thread, buying from those no-name sources is risky. With Adafruit you get a known good product from a great company with excellent support. I often buy Adafruit stuff. But as a library author and the developer of the Teensy platform, I also intentionally seek out the very worst stuff so I can test it. Sometimes I even swap some free Teensys for terribly problematic hardware a customer found.
-
- Posts: 12151
- Joined: Thu Apr 06, 2006 4:21 pm
Re: Controlling NeoPixel from Teensy
Oh hey we stock that too. we'll try to get that in ASAPpaulstoffregen wrote:I'm pretty sure 14 pins is the smallest DIP package that's commonly available. 74HCT125 is probably the best choice in 14 pin format.adafruit wrote:Is there any smaller buffer chips that you think would work? like an 8 or 12 DIP? the 245s are just so huge!
- dsamarin
- Posts: 3
- Joined: Wed Apr 11, 2012 4:34 pm
Re: Controlling NeoPixel from Teensy
Great thread with lots of info pertaining to a problem I'm currently bumping into (running the black Adafruit 144-led neopixel strip with a Teensy 3.0 and level shifter).
Two questions:
1.) If I bought the 30-pixel/m white strip (pid 1376) from the Adafruit store right now, would I be getting the WS2812 or WS2812B pixels? Currently, the picture shows the pixels with 6 pins (WS2812) as opposed to 4 pins (WS2812B).
2.) On page 3 of this thread, 1chicagodave did some datasheet and library dissection and determined that in Adafruit_Neopixel.cpp, signal timings for the Teensy 3.0 and 3.1 can be changed by altering the divisor in the code:
If I modified one set (800k) or the other (400k) to run at 600khz, could I be in the sweet spot for clocking these pixels? Like dave mentioned, these two options are running on the margins of what the chinese datasheet says to run at. Has anyone tested running at 600khz? (Maybe I'd be first. I've got a month or so till showtime with this project.) I'd love to be able to run the WS2812B's without buying more/different hardware, since we've got a few surplus strips leftover from a project at work, and I've got a teensy3.0 in hand. (I've also got the Arduino mega 2560 which runs the strip nicely, but the board is too bulky for this project).
Thanks for the help everyone.
--d
Two questions:
1.) If I bought the 30-pixel/m white strip (pid 1376) from the Adafruit store right now, would I be getting the WS2812 or WS2812B pixels? Currently, the picture shows the pixels with 6 pins (WS2812) as opposed to 4 pins (WS2812B).
2.) On page 3 of this thread, 1chicagodave did some datasheet and library dissection and determined that in Adafruit_Neopixel.cpp, signal timings for the Teensy 3.0 and 3.1 can be changed by altering the divisor in the code:
Code: Select all
#if defined(__MK20DX128__) || defined(__MK20DX256__) // Teensy 3.0 & 3.1
#define CYCLES_800_T0H (F_CPU / 2500000)
#define CYCLES_800_T1H (F_CPU / 1250000)
#define CYCLES_800 (F_CPU / 800000)
#define CYCLES_400_T0H (F_CPU / 2000000)
#define CYCLES_400_T1H (F_CPU / 833333)
#define CYCLES_400 (F_CPU / 400000)
Thanks for the help everyone.
--d
-
- Posts: 12151
- Joined: Thu Apr 06, 2006 4:21 pm
Re: Controlling NeoPixel from Teensy
All strips are coming in as 'Bs now - you should assume all strips and breakouts and such are moving to B
- paulstoffregen
- Posts: 444
- Joined: Sun Oct 11, 2009 11:23 am
Re: Controlling NeoPixel from Teensy
If you get a "grumpy" strip that refuses to recognize 3.3V signals, no amount of fiddling with timing parameters will do anything. Many of the "B" ones do work with 3.3V signals, so there's really no way to tell for certain if any particular strip will work, other than just trying it.
If you're planning a large LED project (1000+ LEDs), a 74HCT245 buffer and impedance matching resistors can save you a lot of time. Even if the strips recognize 3.3V signals, when you have so many LEDs, even if you use large wires, you'll get some voltage drop along the ground wires. Typically these problems show up as a (perhaps small) portion of your display flickering when the whole display shows certain colors or combinations of colors. 5V signals will buy you extra margin to allow for imperfect grounds.
PJRC is currently making an adaptor board with the buffer, resistors, and connectors for CAT6 cables to enable the best possible wiring scheme. It's due in about 2 weeks. I know your goal was to not buy anything other parts, but if you're connecting a large number of LEDs, a proper buffer and good quality wiring will save you a lot of time and trouble.
If you're only connecting a couple hundred LEDs, and your strips recognize 3.3V signals, you can probably get away with not using the buffer chip.
If you're planning a large LED project (1000+ LEDs), a 74HCT245 buffer and impedance matching resistors can save you a lot of time. Even if the strips recognize 3.3V signals, when you have so many LEDs, even if you use large wires, you'll get some voltage drop along the ground wires. Typically these problems show up as a (perhaps small) portion of your display flickering when the whole display shows certain colors or combinations of colors. 5V signals will buy you extra margin to allow for imperfect grounds.
PJRC is currently making an adaptor board with the buffer, resistors, and connectors for CAT6 cables to enable the best possible wiring scheme. It's due in about 2 weeks. I know your goal was to not buy anything other parts, but if you're connecting a large number of LEDs, a proper buffer and good quality wiring will save you a lot of time and trouble.
If you're only connecting a couple hundred LEDs, and your strips recognize 3.3V signals, you can probably get away with not using the buffer chip.
- dsamarin
- Posts: 3
- Joined: Wed Apr 11, 2012 4:34 pm
Re: Controlling NeoPixel from Teensy
Thanks for the responses.
I currently have adafruit's level shifter board based on the TXB0108. I have no hard proof yet but I think the ground lift is confusing the bi-directionality and causing my 'outputs' to hi-Z at weird times. I'll have to single-point-ground everything and see where I end up. I'm only driving 144 pixels as I prototype, and I plan on only driving 60 in the final project, so I might be able to squeak by with 3.3V signaling and a good wiring scheme.
Thanks again and sorry for digging up the thread!
I currently have adafruit's level shifter board based on the TXB0108. I have no hard proof yet but I think the ground lift is confusing the bi-directionality and causing my 'outputs' to hi-Z at weird times. I'll have to single-point-ground everything and see where I end up. I'm only driving 144 pixels as I prototype, and I plan on only driving 60 in the final project, so I might be able to squeak by with 3.3V signaling and a good wiring scheme.
Thanks again and sorry for digging up the thread!
- paulstoffregen
- Posts: 444
- Joined: Sun Oct 11, 2009 11:23 am
Re: Controlling NeoPixel from Teensy
The TXB0108 has weak output. Place it as close as reasonably possible to the LED strip. Do not connect a long wire (more than a few inches) between the TXB0108 and LED strip.
- ALF666
- Posts: 2
- Joined: Wed Dec 13, 2017 9:53 am
Re: Controlling NeoPixel from Teensy
Hi all :)
I found this topic while searching information about 74HCT245N .. but my question to somebody who knows all :D can I use this level shifter >> 74AHCT1G125W5-7 instead of 72HCT245N ??
I found this topic while searching information about 74HCT245N .. but my question to somebody who knows all :D can I use this level shifter >> 74AHCT1G125W5-7 instead of 72HCT245N ??
- adafruit_support_bill
- Posts: 88093
- Joined: Sat Feb 07, 2009 10:11 am
Re: Controlling NeoPixel from Teensy
We've been using the quad-gate 74AHCT125 for a while now. https://www.adafruit.com/product/1787
The single-gate "1G" version should work fine too.
The single-gate "1G" version should work fine too.
- ALF666
- Posts: 2
- Joined: Wed Dec 13, 2017 9:53 am
Re: Controlling NeoPixel from Teensy
Ok... will try and let you know how it works. It cost almost nothing :D but it is much smaller than quadgate and for leds I'll be using only one gate :D
Please be positive and constructive with your questions and comments.