Let's say I have a very low power solar cell, which is producing a couple of uA of current at 100-200 mV for an output power of a few hundred nW. What I would like to know is what is the best (most efficient) way to flash an LED using this as the only power source? I'm aware that a typical LED consumes maybe 40 mW, so I could at best hope to turn flash the LED for maybe 10 ms every half an hour or so.

I am not an electrical engineer by training, nor very adept with circuit design and analysis, so I'm not sure if there's a relatively simple circuit that could used consisting only of capacitors, resistors, and mosfets and/or zener diodes, or if I would be better off trying to utilize a power management IC with a boost converter, something like the TI BQ25504 or the LTC3108.

My sense is that these ICs are overkill for something that I would imagine is relatively simple, but my Google-fu is failing to come up with an approach for something like this.

  • 1
    \$\begingroup\$ hack a cheap solar powered garden light. \$\endgroup\$
    – jsotola
    Mar 26, 2018 at 22:44
  • \$\begingroup\$ You may want a YX8018 or similar part. \$\endgroup\$
    – jonk
    Mar 26, 2018 at 22:45
  • \$\begingroup\$ might look into joule thief circuits \$\endgroup\$
    – dandavis
    Mar 26, 2018 at 23:18

3 Answers 3


What you are asking for is not "relatively simple".

The biggest problem is the very low voltage. You can connect a capacitor to the solar cell, then do something when it gets to a particular voltage. The "do something" part would be possible just from the energy stored in the cap.

The problem with this is that something still has to decide when there is enough energy in the cap (its voltage is high enough) to use the slug of energy. That something will take some quiescent current. That quiescent current obviously needs to be less than the 2 µA coming from the solar cell, else the cap would never charge.

Well under 2 µA quiescent current is certainly doable, but not at a casual hobby level. However, the real gotcha is that at 200 mV, ordinary semiconductors don't conduct at all. It is just too low a voltage to operate from directly.

It is possible to boost a voltage, but that takes control current too, and will also loose some power. If a higher voltage were available, a very carefully designed circuit could possible make use of 200 mV, but the allowed quiescent current goes inversely proportional to the voltage you boost too.

The only way I see this working out is if you get multiple solar cells and connect them in series to get a higher voltage. I would want at least 1 V. 2 V will be much easier.

  • \$\begingroup\$ I didn't mean to imply that the problem was trivial, just that the ICs maybe were more than required (I believe the LTC3108 could potentially do the job, albeit inefficiently). I guess you get to the heart of the problem here: "The problem with this is that something still has to decide...to use the slug of energy." I assumed there would be some way to use low-leakage ceramic caps and MOSFETs to build up a big enough "slug of energy" and dump it on the LED quickly enough to produce light when it reached critical mass, but I guess maybe not, at least not anywhere close to "simple". \$\endgroup\$
    – jwinterm
    Mar 26, 2018 at 23:16
  • \$\begingroup\$ @jwinterm The problem with building it out of linear components is that as the voltage slowly builds up the output will slowly turn on. And then it'll reach an equilibrium where the tiny amount of light you get exactly balances the tiny amount of electricity coming in, and it'll stay in that state. You need something that will instantly turn all the way on, and then stay on (until the energy runs out again), and that's hard to find at such low voltages. \$\endgroup\$
    – user253751
    Mar 27, 2018 at 0:37

The essence of what you are looking for is a circuit like this:


simulate this circuit – Schematic created using CircuitLab

Here, I've indicated a circuit that will work if you are willing to stack up a few solar cells. I've tried to design this for lowest operating voltage, so it's probably okay starting at around \$2.5\:\text{V}\$ (red LED only, obviously, though with larger source voltages other LEDs would then work.) I know this isn't a single cell. But there it is.

The basic idea is to let \$C_1\$ charge up slowly. At some point the voltage trigger (middle section with \$Q_1\$) will fire off the SCR that is made up of \$Q_2\$, \$Q_3\$ and \$D_9\$. The SCR dumps the accumulated charge on \$C_1\$ through the LED (\$D_7\$). \$Q_2\$ and \$D_9\$ form a current mirror with a gain very much less than one. And \$Q_3\$ forms up the rest of the SCR. A little tickler positive feedback is provided via \$C_2\$ and \$R_7\$ (both essential for clean operation) to make this a reliable circuit.

That's about it.

But this provides a "flavor" of what a discrete circuit might look like. As you can see, it's non-trivial. And it only does part of what you want. There's no boosting here. And that's yet another stage.

Spice shows, at \$3\:\text{V}\$, that this delivers \$10\:\text{mA}\$ pulses into a red LED and draws an average current of about \$1.5\:\mu\text{A}\$. And there remain a variety of adjustments that can be made to the circuit to tailor it to specifications, if you have them.


This LED flasher circuit is optimized to run from the ambient light present in your room and no other power source. A small photovoltaic cell converts the light to electricity and that weak current charges a 1000uF capacitor. After a time period of around 1.5 seconds, the stored energy is discharged through an LED. https://www.instructables.com/Ambient-Light-Powered-LED-Flasher/


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.