If you have a spare Pico + Breadboard it might be worth deconstructing the circuit and wiping the slate clean to do some testing? (The learning engineer part of me also likes to order at least extra 2 of each component if they’re cheap enough)
From the looks of it there is quite the project happening alongside this and there might be some external factors coming into play that’s altering how the Pico’s working.
Some might include:
Low voltage slowing down the system clock
The same pin/memory might be assigned twice from some library messing with stuff
Even though the logic level shifter includes a schmitt trigger, noise from other sources might be false triggering (GND ringing, interference, the power supply itself - I’m running off of my PC’s 5V - 1 A output)
Hi Liam,
I am running it completely standalone on a Pico dev system at the moment, no other code loaded. I have just run it using VSYS pin 39 instead of VBUS pin 40 - with the same operations. There is no 3v3 used anywhere this time (was needed for the original level shifter but not the 74HCT125)
BTW, 3v3 output measured at 3.28v
Hi Bob,
Have not yet tried the scope – will fire that up (probably after dinner)
Interesting side observation - direct drive of the Glowbit - it correctly is at 0.1 brightness, while through the 74HCT125, it seems to be at 1.0 brightness ?!?
Hi Murray
Last resort. Swap out your link wires to the level shifter one at a time. It would not be the first time a connector pin has been crimped onto the plastic or something else gone wrong.
Cheers Bob
Edit. Also you could try different sockets on the photo board. They are not exactly infallible either and connections can deteriorate with use.
Power is supplied from the programming Raspberry Pi USB connector. I don’t have a spare schottky diode at present to make a separate power lead from an external PSU (which I have based on an ATX PSU)
VSYS voltage is 4.99 - 5.00v
the OE pin is grounded to enable output.
74HCT125 Vcc pin w.r.t. Pico pin 38 is 4.99v
74HCT125 Gnd pin w.r.t. Pico pin 38 is 0
74HCT125 pin A at 5v → pin Y is 5v with OE grounded
74HCT125 pin A at 0v → pin Y is 0v with OE grounded
yes running the default code only.
only have a spare 74HCT125 …
All link wires have been swapped about and I am using a different protoboard…
You don’t need any diodes to power the LED strips separately. Just connect the external supply to the + and - of the strip and data to where you have it now. The grounds (-)have to be connected together.
Cheers Bob
EDIT My modest LED XMAS light arrangement is the other way around. I have a 5V @ 14A power supply powering the LEDs and the same 5V to power an Arduino via the 5V pin. Not exactly the same set up as yours as I am only dealing with 5V data (try to stay away from 3.3V) and don’t need conversion but the only main difference is the power arrangement. I have found over many years that overcooking the power supply sometimes saves a heap of trouble.
Hi Bob,
Agree re powering the LEDs and tying grounds etc. At this time in test I am only running a single 8 LED Stick, so am within power budget. I might try to hook up the external PSU just to be sure that there is no power sag (stupid PC-based scope has gone awol so cant look for sag as previously)
The ATX PSU has oodles of capability 14A @ 5v, fused at 3A for the time.
The note about the schottky diode would be if I were to power the Pico etc from the external supply, and wanted to also be able to plug in the Raspberry Pi for programming / monitoring.
Setup seems ok - this one has me pretty well stumped, if you power the Pico from a USB battery bank via the micro USB connector do you still see the same flickering?
My suspicions are pointing towards a damaged/faulty Glowbit stick(it might be worth touching up the solder connections) or some super odd thing in the way the Pico is outputting (code, memory, power ripples, not sure)
EDIT: I am curious if the Neopixels work with the output from the logic level converter
Hi all,
Just to clarify - the initial issue arose on a system built for an event, now past. That system is where the level shifter and bulk power were used given the quantity of LED systems.
I am doing the current tests on a different Pico to the one in the project, and all on a protoboard. This is the Pico I used for the initial code development, where I was using just the Stick as a pseudo standin for the neopixels and the 3 watt LEDs. Initial testing did not have a level shifter, and as has been noted - all seemed to work ok, as it does now when the Stick is directly connected to the Pico (Stick with 5v power, 3v3 data). Adding the level shifter is what causes problems… I think
The code in the project used the Glowbit library, which has the same ‘engine’ as the test code.
A Curiosity …
I have just run a completely standalone system - Pico with code as main.py, a powersupply, and the Glowbit Stick, and the 74HCT125 level shifter.
It powers up, and cycles through the demo code 5 times then ‘runs out’ of the loop.
Driving the Glowbit directly from Pin 18 - works visually as expected.
Driving through the level shifter - still get flickers etc etc
Attach the scope - probe 1 to the level shifter A input, probe 2 to the level shifter Y output - visually looks good, no visible flickers
Maybe it all needs a minimal capacitance to “make it work” …
Hi Murray
74HCT125, What voltages are you using. According to the data sheet “HC” and “HCT” devices differ a bit. Is your oscilloscope probe on the X1 or X10 setting. If X1 it could be the input resistance (1MΩ) making the difference and a pull down resistor of about 10kΩ might fix it.
Unfortunately the only data sheet I could find does not give the detailed schematic of the output stages which would indicate if the output actually drives high and low or if it is left floating a bit in the low position. Does your oscilloscope show a solid low or does it seem a bit iffy.
Where possible your oscilloscope probe should be in the X10 position to minimise probe related interference to the actual circuit operation. In this position the input resistance would be 10MΩ which should not affect circuit operation.
Cheers Bob
Probe 1 to the level shifter A input, probe 2 to the level shifter Y output - visually looks good, no visible flickers
With a probe only connected to the A input pin - almost ok output - one or two flickers I think.
With a probe only connected to the Y output pin - solid display
Set probes to X10
Probe 1 to the level shifter A input, probe 2 to the level shifter Y output - visually looks good, no visible flickers
With a probe only connected to the A input pin - good output
With a probe only connected to the Y output pin - now we get flickers now !?
Hi Murray
Is the input to the 125 hard low or a bit iffy.
It might be the output from the controller might need pulling down. Maybe when you connect directly to the LEDs the data input might pull this output down enough but the 125 does not. The data sheet does not seem to give an indication as to what might be happening. The only thing I think is happening is you are introducing a resistance to ground (the probe) from the controller output / 125 input. All I could suggest at this stage is try a resistor of maybe 10kΩ from this point to ground and see what happens. The input C of the 125 is 10pF and I can’t see the probe being much more although that might be the difference. I am reluctant to suggest throwing capacitors around as past experience dictates this can lead to more introduced trouble.
Cheers Bob