Close

Mysteries solved!

A project log for NeoPixel Punk Console

Blinking RGB LEDs with 555s and a handful of 74-series logic

adrian-studerAdrian Studer 12/26/2021 at 05:580 Comments

That was quick! The mysteries from my previous project log are already solved. 🥳

Pedantic LEDs

A friend of mine remembered reading about an issue with resetting NeoPixels. He sent me a link to this blog post by Particle which resolves that mystery:

https://blog.particle.io/heads-up-ws2812b-neopixels-are-about-to-change/

TL;DR the minimum length of the reset pulse for the WS2812B changed from 50us to 280us.

A short twist on the trim pot of the 555 in charge of the reset pulse and my 16x16 RGB matrix lights up! Good thing the range of this trimmer was extended from 150us to 350us due to parts availability.

555 Reset Behavior

The other head-scratcher was that the 555 timers didn't immediately stop when their reset pin was pulled low. Turns out I ran into another 555 speed limit.

Googling for 555 reset behavior I found lecture notes stating:

"Delay time from reset to output is typically on the order of 0.5 μS, and the minimum reset pulse width is 0.5 μS. Neither of these figures is guaranteed, however, and may vary from one manufacturer to another."

I didn't find any mention of this in the datasheet for the Texas Instruments TLC556 that I use. However it is mentioned briefly in the LM555 datasheet:

"Delay time reset to output is 0.47 μs typical. Minimum reset pulse width must be 0.3 μs, typical."

In my screenshots I eyeball a delay of about 0.4 us, so that checks out.

Interestingly, while covered in the datasheet for the TLC556, the LM555 datasheet doesn't mention the effects of propagation delays on maximum frequency. Go figure!

Discussions