Brand new user here. I have setup an ESP32 controller and one string of 2811 pixels. During bench testing everything worked perfectly. Now that I have installed the power supply, ESP32, fuse block and step down converter (12v to 5v) in a project box (and still in bench testing mode) I get a random blink or flash of one to several pixels. I have triple checked all wiring but can’t seem to figure out where this is coming from. I will try to attach photos of the wiring setup, but it is very clean, neat and well done. Yes, Im a bit anal retentive, but if I’m gonna do something, I try to do it right.
If anyone has suggestions on where to look first, I’d greatly appreciate it.
Parts used:
MEAN WELL LRS-350-12 Switching Power Supply
Rextin WS2811 Pixels Digital Addressable LED String Lights
WUPP 12 Volt Fuse Block
EPBOWPT Power Converter Regulator DC 12V 24V to 5V
QILIPSU Waterproof Outdoor Junction Box
All from Amazon. Couldn’t add the links :<(
Had exactly the same thought.
The video is generally a good explanation and demonstration of the issue but it suggests a shifter that is likely to cause other problems in the long run.
Good to know, I may have bought the wrong thing, not a problem, very cheap. And not needed so far.
Looking at the ones listed on the linked page, they all seem to be surface mount except the TXS0102 and TXS0108. And the TXS0102 appears to be a I2C which the page says to not use.
So I should order some TXS0108 in case of future problems?
Ok, so based on the article in the KB, I ordered these from Amazon: Juried Engineering SN74AHCT125N SN74AHCT125 74AHCT125 Quadruple Bus Buffer Gates with 3-State Outputs Breadboard-Friendly IC DIP-14 (Pack of 5)
Also ordered an assortment of resistors and capacitors, some mini pcb boards and some screw terminal connectors. This should be a straight forward project but any tips (especially w the capacitor) would be greatly appreciated. Is the capacitor necessary, as some illustrations don’t include it. And I’ve never soldered up one. Is there a direction of flow that I need to be aware of?
It does not matter what way you put the ceramic cap. Just try to keep it as close to the + and - of the SN74xxx chip as possible. I normally put mine up at top end by vcc. You can see them in the wiring diagram pic of my shield below.
They’re not that hard to solder onto the adapter (with a little practice and patience) and they often are all you need for an in-line levelshifter. Just remember to add the bypass capacitor on the adapter board.
Thanks to everyone for the help and suggestions. I’ve taken Jinx’s suggestions and ordered the parts he linked in an earlier post. They are arriving today. In the mean time I have been studying the wiring diagrams and have a question based on these two pics.
In the single circuit illustration the 1OE is negative and 2OE is positive. In the dual circuit illustration both 1OE and 2OE are negative. Since I’m not an EE I don’t understand the logic here.
Design #2: 74HCT125
Another viable design is based on the 74HCT125 Quadruple Bus Buffer Gates with 3-State Outputs. This chip has 4 channels, with each channel having the logic diagram shown at right. With each of the 4 OE/ inputs connected to Ground, each channel can be used as an independent driver with inputs on the “A” side and outputs on the “Y” side. The driver output circuit capabilities are identical to those of the 74HCT245.
From: Logic Level Shifters for Driving LED Strips – Electric Fire Design
The wiring diagram from Jinx makes much more sense to me, although there is more going on than I fully understand. (possibly an ESP32 and a D1Mini, two level shifters supporting 8 channels?)
I have a simple roof line and had anticipated just one data channel and a simple wiring setup. But now I’m wondering if I should just wire for dual data lines. So, my questions are:
Are both wiring diagrams correct?
Can I wire as dual and only use a single channel for now?
How does dual wiring affect my WLED programming?
My instincts tell me to follow Jinx’s wiring diagrams and prep for up to 4 channels. Not sure how that will affect my WLED config. I need to do some safe experimentation with multiple channels/segments.
I’m sorry if some of my questions seem obvious to an experienced user, but this is my first adventure with addressable LEDs and I’m trying to learn without any blue smoke errors. Many thanks to those who have helped so far and I’m excited to get this project finished and on the house.
Haha my diagram is 2 shifters for 8 ports to an esp32. The thing you see as a d1 mini is a relay/shield.
As I understand it, you need to tie unused inputs to either ground or to 5v to help prevent noise. As for why that shows them going to to different places I have no idea. When I did my wiring it was based off the old diagram they had where it did not show the unused things being tied together. At that time all the OE’s were depicted being tied to ground.
All of my A’s are connected to GPIO’s because I wanted 8 outputs. So far I have not used 8 but they are there for expansion.
I know it is said to tie unused inputs to + or - but if I were you and if you think there will come a time when you will use more than 1 output I would wire accordingly or at the very least use wire jumpers or something so that you could easily modify the shifter wiring to use another output at a later time.
The 62-100 Ohm resistors are optional and are trial and error use case for if you happen to run into data issues (the value needed depends on wire used/environment variables). That should actually also list 33Ohm as an option as that is likely what would be needed if you were using regular pixel cables and had an issue (xConnect, Ray Wu… Etc…)
@divsys may be able to explain the difference in those 2 diagrams.
The 2 channel diagram is setup to allow a 2nd data line to be used (if needed).
The reason it looks a little more complicated is because the 74AHCT125 is slightly more complicated than just an A input and a Y output for each of the 4 channels.
There’s also a ~OE line controlling each of the 4 channels as well.
You can sort of think of ~OE as a “master power switch” for the channel, when it’s active the channel passes the input A to the output Y. When it’s inactive the output Y is not connected, it’s in a Hi-Z or “High Impedance” state.
Notice I’ve said active/inactive not HI or LO. That’s because ~OE (drawn with that funny bar over the top) is an Active Low input. To turn it on (make it active) you take it LO, which can be a little counterintuitive. That’s just the way that chip is designed. The idea is supposed to be you could have a logic design where 2 or more outputs could be tied to the same input. You choose which one is active (you don’t want both at the same time) via the ~OE line.
For WLED designs we will just normally use one GPIO going to one channel going to each different strip so we activate the channel(s) we need and attach the GPIO(s) where we want them. The issue becomes what to do with remaining channels we didn’t use? You have connect them somewhere, because if you leave them “floating” (not attached to anything) the chip is sensitive enough to start reacting to noise signals and start oscillating. That can add noise to your WLED data and cause flickering.
The short version for WLED is you can actually connect all the ~OE inputs together to ground, so all 4 channels are always active. You just have to make sure the 4 “A” inputs are tied to something as well, either a GPIO or HI or LO. If you do it that way, it can be easier to change your mind later when you need “just one more channel for that extra strip”. You can connect another GPIO to one of the remaining channels to drive another strip.
BTW - You still need the 100nF (0.1uF) ceramic bypass capacitor near the power pins whichever way to wire it.
Thank you both for the great explanations and help. Today, with all my parts finally arriving, I set out to wire up the Logic Lever Shifter. Since the 74AHCT125 chips came with no documentation I had to figure out which way the chip was oriented relative to the wiring. I’m assuming the small recessed circle in the chip indicated pin 1, so that’s where we started. I wired up the chip, capacitor (#104, 10nf) and resistor (86 ohms) as indicated in my diagram and powered up the lights to a blinking mess.
Please disregard the text on the chip, as I was using TinkerCad to make the diagram and the 74AHCT125 chip is not supported. The circuit is 5V in and commonly grounded to the ESP32 and power supply. After tripple checking all my connections, voltage points and resistor value it was clear this did not solve my issues, but only made them worse.
After several hours of watching videos and rereading web pages, I decided to try the ‘One output’ diagram I inquired about earlier.
Unfortunately, this wasn’t any better. Next I went back to the basic setup and tried removing the resistor, capacitor and both all with no changes. I also tried several other configurations where the OE pins were commonly grounded (as in Jinx diagram). None of these configurations worked and I’m at a loss for what to try next. Could there be an inductance issue within my project box. It’s a snug fit for everything but I went out of my way to make it clean and tidy, no excess wire, no loops, everything securely crimped or properly terminated.
On my bench, using cheapo 12V power supply and the ESP32 powered via USB I had no flicker or other issues. In the box, using the Meanwell PS and a 12v > 5V converter to power the ESP32 I began having problems. Adding the LL Shifter has not helped. The output of the PS is 12.08v and the buck converter puts out 5.09v.
Just a small “housekeeping item” - do you understand for breadboards that all 5 pins on each side in a row are wired together? For eg. Row 13 A,B,C,D,E are all tied together by the breadboard.
I ask because the way you drew your wires is somewhat confusing, it’s hard to tell what’s actually connected. It’s possible that’s just an issue with your drawing software and not your breadboard skills - no offense meant.
Apart from common ground for the data and power supplies, I’d guess floating inputs are a likely issue.
To simplify your wiring, on the 74AHCT125:
Connect pin 2 to the GPIO
Connect pin 3 to the LED strip Data In. Keep the wire short and don’t worry about the resistor.
Connect pins 1,4,5,7,9,10,12,13 to Gnd
Connect pin 14 to 5V
Keep the capacitor where you had it.
If it still flickers or gives lousy output, try a different GPIO pin on the ESP32
This is not the perfect solution, but have you tried a sacrificial LED in the box with the controller. Each WS chip in the string regenerates the Data Out for the next LED, so the sacrificial LED acts as a level shifter. (Slightly out of spec, but I have used this method in several projects with consistent success.
Also, occasional flickering can be caused by low voltage on the string.
@divsys
Yes, I understand how the breadboards work (and no offense taken). My diagram was to simply show where red, white and black were connected to each component. I do appreciate your detailed explanation of where each pin is connected to alleviate floating inputs.
I had to step away from this project for a couple days but expect to get back at it this week. I was able to get a component board soldered up before putting things on hold, and hope to test later this week. Thanks to all who provided feedback.
Hi all
I suffered from a very similar issue, although the white flashing was juat on one channel out of 2 for a strip and matrix controller.
The weird thing here is that my intention was to replace as ESP32 controller with an ESP32-S3 one to make use of some additional mods.
Both circuits use an HCT245 level shifter which according to various docs doesn’t require a resistor on the output whereas HCT125 does, so I’ve never used one and never had an issue.
So my light strip which only has about 200 pixels strobes white when connected to the ESP32-S3 circuit, although my matrix of 16x48 pixels doesn’t. This is regardless of which of the 2 outputs I use, which would imply some issue with the 200 pixel strip if it weren’t for the fact that it’s perfectly stable with a different controller (ESP32) amd same type of level shifter.
So you probably know where this is going… I added a 100 ohm resistor to the output of the level shifter, based on circuits I’ve seen for the HCT125 shifter and problem solved.
Another bit of info… the ESP32 has standard 2.54mm pitch pins and prototype board to match. The ESP32-S3 I’m using has 1.27mm pitch pins and suitable prototype board (these are quite rare!) so I suspect with everything being so much closer together and many wires running close to others, this is more susceptible to noise (all grounding checked and looking good). I’m not an electrical engineer so not entirely sure how my arbitrarily chosen resistor has helped, but it has
Oh, and working with 1.27mm pitch is a MAJOR PAIN!
Actually I did try reducing the distance to the first LED and that worked too. But the cable isn’t actually that long (around 40cm) and it’s odd that the other controller is happy with a longer extension (about 125cm).
I did initially suspect a ground issue, but using common ground for controller, LED’s and level shifter.
There’s also a large capacitor across the LED’s 5v and GND as required.
The fix works but I just find it strange that it’s not required on my other controller despite ising the same LED strips and level shifter circuit.