The title of this post might seem a bit ridiculous. And you wouldn't be wrong for assuming I'm out of my mind for "trying to teach LED's how to breathe". But I assure you, after reading the second paragraph, you will understand what I'm trying to accomplish.
In this case, the term "breathing" is actually describing a cycle of fading in and out repeatedly, ideally not too fast. And on the other hand, "teaching" just means making the LED's do what I said before. There's plenty of methods that accomplish just what I want. However, all are pretty silly after hearing what my requirements are.
For context, I'm making a necklace pendant in the shape of a heart, laid out on matte black PCB with a gold plated finish (ENIG). The main "selling point" of this idea is that it would incorporate an LED which would breathe very slowly, just as a little attention grabber - if that's even the correct term.
Your first idea might have been to use a micro controller, but there's several reasons why that would be bad. To name a few, power consumption would be absolutely ass, no matter what. Remember, I wouldn't want to wear a necklace with a USB cable or God forbid a huge 18650 battery strapped to it. On the other hand, the smaller the micro controller, the harder it is to program and the less features it will have. For example, PWM (Pulse-Width Modulation) is an absolute necessity to save battery power and some power efficient micro controllers lack that.
Alright then, no micro controllers. What about a timer circuit like the NE555? That's a lot more promising on the power consumption side as there's no CPU, no memory and nothing which would eat the battery in minutes. Programming wise? Well, there's no real way to "code" on a 555 timer. Through some complex (not really, I'm just lazy) math, you need to set up resistors and capacitors with specific values to get a sine wave on the output which somewhat mimics the breathing pattern of a person. I've bought some NE555's along with a few LM358's as I heard those can be used for this as well.
So far, I haven't had any luck with it, purely because the resistor and capacitor values are not in my stock, and thus I have to improvise by stacking several resistors in series.
That's all, folks. 👋