capacitor advice to power BLE module


I’d like to see if I can power a BLE module using potatoes. The BLE module wakes from pin interrupt, performs I/O reading, and sends an advertisement on all 3 channels. There are somethings I can do to reduce energy usage (like advertise on only one channel). But let’s say these are the conditions. I’m looking for some advice on how to wire this up and what capacitor to use.

Results vary, but let’s say each potatoe generages 1V at 0.2mA. I’ll need a capacitor to provide the current needed, and rely on a few potatoes in series to regenerate the capacitor in between wake-ups (I have a few seconds in between interrupts, so I think that’s plenty of time).

BLE module is rated for 2.0-3.6V

Energy consumption for BLE module: I took this scope reading with an inline resistor to give a more accurate picture of the current consumption during wakeup and transmit. Let’s call it 12mA for 5ms @ 3.0V.

Googled this equation:

C = I x T / V
I = excess current to be provided.
T = time to provide this extra current.
V = acceptable drop in voltage during this period.
C = capacitance in Farad to meet this requirement.
C = .012A * .005S/0.5V = .00012F = 120uF

So I’m looking at about 120uF capacitor? I’m not sure if this equation is right - it doesn’t take into account capacitor equivalent series resistance, which I thought would affect rating.

I’d like advice on what type of capacitor would work for this experiment. I don’t have a lot of practical experience with capacitors. Would a 10V 150uF aluminum electrolytic capacitor do the job? I’m not looking to spend a lot on super caps or anything fancy like that. I have some large electrolytic capacitors salvaged from old VCR’s, hoping I’d have something around that would work. What other capacitor characteristic do I need to be concerned with?

Also, potatoes change voltage & current characteristics depending on conditions. I’ve read that boiling them increases both current and voltage. Higher available current is nice, but the nRF51822 I’m using is only rated for up to 3.6V. If I use an LDO, I can stack as many potatoes together as I need for current and voltage and be able to tolerate a greater voltage drop on the capacitor. But is that added complexity needed? If I measure my starting conditions and the potatoes are giving me 3.6V or less, I should be safe to connect the potatoes directly to the BLE module, and expect the mA charge current to be enough to charge the capacitor in the seconds between interrupts. I haven’t worked out the math for recharge rate, it seems like if the potatoes can do .5mA over a couple seconds, it would be plenty from a watts perspective. Is that OK?

Given V = 3 V
I = 0.012 A
RLOAD = V/I = 250 ohms.

I would suggest simply getting a 250 ohm 1 % resistor and using an op amp amplifier to amplify the voltage across it and read it with the ADC. Barring that, you can read it directly but the accuracy isn’t going to be as good. Collect your data from the resistor , (considering that the dummy load) and plot the output of the potatoes. Personally, given the recent advances in capacitor technology and the fact that you can order a 1 Farad SUPERCAP online for about the cost of a cup of coffee (something you could never do when I started in electronics 38 years ago), I would just forget the calculations and use a 1 Farad cap. But if your project requires you to show your work then I guess you still need to do the math. Either way, the first place any engineer would start is collecting data with a dummy load (ergo , a 250 ohm resistor) , since that allows you to begin your experiments immediately. The code should monitor the voltage and record a timestamp when it dips below the 3 volt setpoint. and record the duration of the “undervolt” conditions. Thirty eight years ago I could have said, "Then you can just go to RadioShack and buy your 120 uF cap and try that and see the difference in your data. Now, I don’t know where you get your components when you don’t want to wait but I go to Fry’s Electronics.
FYI, the input current for the ADC is 160 nA so I wouldn’t worry about it loading your circuit and affecting the accuracy of the voltage readings. The resolution is 4.88 mV per count but if you want more accuracy you can get an ADS1115

available from Adafruit

I would suggest you take a look at THIS
(I was able to log data at 40,000 samples per second:

SanDisk class 4 cards work well at fairly high rates. I used the 4 GB SanDisk
card to log a single pin at 40,000 samples per second.

I had some issues initially but by post #20 I had it working correctly at 40,000 samples per second,
logging to an SD card. You might find this useful for your data collection.
I think I’ll pass on the math you presented , although I didn’t see any obvious errors.
Math isn’t my strong suit so I’ll let someone else address that. My strong suit is perseverance : persisting until I get the outcome I was looking for, like this one:
TRIBUTE 82 Lighitng Controller (3).jpg

Note the date in the filename (1982, the year IBM released the IBM-PC), so embedded microcontrollers were not very available at the time.

BTW, you might also consider inserting a micro relay to isolate the vegetable from the circuitry under processsor control based on the voltage read across the load. If it drops below the setpoint for longer than a preset maximum allowable time, disconnect the potato from the circuit by turning off the relay.
Just a suggestion. This allows you to program the system for autonomous operation, monitoring the voltage and connecting the load for some programmed duration and then disconnecting it to allow the cap to recharge. It would seem like the logical mode of operation. (if you ask me, which you did, indirectly anyway, when you posted).