# How to power an embedded board using capacitors and solar panels?

I am working on a battery-less system. The system has the following energy pipeline:

Solar panels -> DC-DC boost converter -> capacitor -> microcontroller.

Here the solar energy is harvested using solar panels. Then for a period of time, this energy is stored in the multilayer ceramic capacitor (MLCC). When the energy stored inside the capacitor reaches the maximum operating voltage of the microcontroller (5.5 V), then using an analog switch, the MLCC is connected to microcontroller. The microcontroller is powered ON and it will executes operations till there is sufficient energy inside the capacitor. And when the energy reaches the minimum operating voltage of the microcontroller (1.7 V), then it is powered off. This cycle repeats. It is fine if it the embedded board executes only for 1 ms and is powered off for 100 ms.

I want to know how to calculate the required capacitance and energy storage capacity of the capacitor? Is there a way to find the actual capacitance at different voltages due to DC bias?

Based on the datassheet of the nrf52840-dk MCU.

• Welcome! I=C*dV/dt. For 1 ms of 1 mA and 1 V drop allowed, you need 1 uF. What voltage swing can you tolerate and what's your current during the 1 ms on? Commented Jan 19, 2023 at 15:17
• Typically current consumption goes up as the voltage goes up. A CMOS circuit switching at a fixed frequency will very roughly follow Ohm's law -- and it may not be in the data sheet. You may have better luck following your capacitor with a super low-power buck converter with a 1.8V output -- the MCU will be happier, and your power consumption may well be lower. Commented Jan 19, 2023 at 15:46
• What energy does the embedded board take during the 1 ms it is on? Commented Jan 19, 2023 at 16:30
• @winny When the embedded system is powered it consumes a current of 3.16 microamp, and during system off 0.40 microamp. i did not understand the voltage swing question, can you please elaborate? Commented Jan 19, 2023 at 16:52
• @shakingwindow from 5.5V down to 1.7V is 3.8V difference Commented Jan 19, 2023 at 17:30

Capacitance is the amount of charge transfer per voltage loss. 1uF means you can take 1uC (that's 1uA x 1s, or 1mA x 1ms, or so on) to get a 1V drop.

You say the system uses 3.16 uA when powered. When not powered, I think you are saying it doesn't matter because the power will be cut off with an analog switch.

You want it to run for 1ms, that's 3.16nC. A 3.16nF capacitor (that's really tiny) would only drop 1 volt when that much charge was used. You can afford for the voltage to drop by 3.8 volts - not just 1 volt - so you only need 1/3.8th of that, which is about 0.83nF. I want to emphasize that's a really really tiny capacitor. If your PCB was rather big, you could even have that much parasitic capacitance already, without adding any capacitors at all.

(This calculation doesn't take into account whether the microcontroller uses more current at higher voltages, nor whether the capacitor loses capacitance at higher voltages.)

So, you may as well use a bigger capacitor and your microcontroller can run longer than 1ms at a time, or you can use more than 3.16uA.

The same math works for charging: assuming that you just connect the solar panel directly to the capacitor, and it acts as a constant current source (which solar panels do, approximately, when the voltage is below the MPP voltage), then to make it rise by 3.8V you need 3.8 times the capacitance, in current x time.

• Suppose if I came to know that the system uses 3.16mA instead of 3.16uA, the calculations remain same, is not it? From your calculations, it comes to be 0.83uF for 3.16mA? Commented Jan 19, 2023 at 20:08
• @shakingwindow yes, you need 1000 times as much capacitance if the current is 1000 times higher. 0.83uF is still a pretty small electrolytic or MLCC capcaitor. Commented Jan 20, 2023 at 12:15
• If the embedded board gets powered after 70ms and executes an atomic task of 40ms, hence I need the ON period to be 110ms, then how will the calculations vary? Commented Jan 20, 2023 at 18:12