I am working on a project using a Arduino Pro Mini 3.3V. The idea is to have it powered by 2x AA alkaline cells giving a total of 3V.
According to the specs of the Arduino the RAW input needs at least 3,35V so I would need a step up converter.
The converter can give between 3.35V - 12V to the Arduino for it to work.
But I am also trying to find one that is small, doesn't use a lot of power, and has a low cut of voltage, so I can use the batteries down to the very last electron.
Any ideas on a suitable one? I have found several but non that fits my needs.
(The reason for 2x AA is so its easy for the end user to replace the batteries)
You could connect the batteries directly to the Vcc pin instead, which is the output of the internal regulator, and it should run fine. Then you wouldn't need any boost converter at all. But you would need to see where in the alkaline discharge curve the Pro Mini stops working. Or if you do use a boost converter, there's no point running its output into the RAW pin. Just set it to produce 3.3V, and feed that into Vcc. The boost converters I've used were based on the MT3608, which will work down to 2V input. The batteries would be pretty nearly discharged I think.
If not using the internal regulator, you'll save a little power if you remove it. The same for the power LED.
Also, how about three AAs? The Pro Mini will work with Vcc up to 5.5V. Again, with no converter.
The Pro Mini will work fine between 2 and 3V (applied to the Vcc pin), but make sure to use the internal 8 MHz oscillator or an 8 MHz crystal or resonator for reliable operation.
You might need to set the Brown Out Detector fuse to a lower voltage, or disable it completely.
It indeed will run just fine on 2xAA supplied to the Vcc pin (not the Vin). For extended battery power, remove the regulator and power LED. Those use power unnecessarily.
ShermanP:
You could connect the batteries directly to the Vcc pin instead, which is the output of the internal regulator, and it should run fine. Then you wouldn't need any boost converter at all. But you would need to see where in the alkaline discharge curve the Pro Mini stops working. Or if you do use a boost converter, there's no point running its output into the RAW pin. Just set it to produce 3.3V, and feed that into Vcc. The boost converters I've used were based on the MT3608, which will work down to 2V input. The batteries would be pretty nearly discharged I think.
If not using the internal regulator, you'll save a little power if you remove it. The same for the power LED.
Also, how about three AAs? The Pro Mini will work with Vcc up to 5.5V. Again, with no converter.
Great info! I think tree AAs will take a bit much room.
jremington:
The Pro Mini will work fine between 2 and 3V (applied to the Vcc pin), but make sure to use the internal 8 MHz oscillator or an 8 MHz crystal or resonator for reliable operation.
You might need to set the Brown Out Detector fuse to a lower voltage, or disable it completely.
If the Arduino gets 2V from the battery to the VCC pin, will that also affect the GPIO pins that power other components?
Can you clarify what you mean with "make sure to use the internal 8 Mhz oscillator or an 8Mhz crystal or resonator"
Seems the brownout is default to 2,7V, but I wonder how a lower voltage would affect the board. Probably a reason its not set lower?
wvmarle:
A 3.3V Pro Mini has a 8 MHz resonator.
It indeed will run just fine on 2xAA supplied to the Vcc pin (not the Vin). For extended battery power, remove the regulator and power LED. Those use power unnecessarily.
If a lower voltage to the VCC also means lower voltage to other components I might opt for a step up converter instead.. Step up converter:
I found these 10P SMD Super Small Step Up Booster DC DC 0.8-3.3V to 3.3V Voltage Regulator | eBay
They seem to be cheap, and can handle input down to 0.8V. But say that the efficiency is 85%.
In my project I have an important status LED that needs to keep its brightness regardless of battery voltage. If I understand correctly not using a step up converted would be better in terms of low power usage of the board, while using a step up converted would be better in tems of keeping everything stable regardless of battery voltage.
If the Arduino gets 2V from the battery to the VCC pin, will that also affect the GPIO pins that power other components?
The voltage output when the pin is set HIGH will be slightly lower than Vcc.
Seems the brownout is default to 2,7V, but I wonder how a lower voltage would affect the board.
The board will not work at voltages below the brownout detection limit, unless you turn off the brownout detector completely.
If you want your project to work, you must satisfy the power requirements of ALL the devices, not just the processor.
The problem with using step up converters is that they waste a lot of power, even when the processor and sensors are sleeping. Plan on frequent battery changes if you use one.
The GPIO pins would follow Vcc. So if you have sensors or whatever that need to communicate at 3.3V, then a boost converter is probably the way to go. But you will get some 150KHz ripple in the supply on the one you found on Ebay, so you probably need to test one of those thoroughly to make sure there are no problems.
There is a question in my mind about putting the two AAs in parallel instead of in series. I don't know which way would be more efficient, and I really don't know how to calculate it. But at first glance the answer isn't obvious to me. But jremington will know.
Forgot to say - if you have an LED that needs to be on all the time, then that might be an opportunity to save on battery life. If you can blink the LED instead of having it constantly powered, that will save a whole bunch. And if you don't want it to visibly blink, you can flash on and off it at 60Hz. I know they say that perceived brightness is just a function of the average current, but I think the persistence of vision in humans may give you a bit of a free lunch on that. And finally, there's a really big difference in the efficiency of various LEDs. I think they have some super-efficient reds now that produce good light on next to nothing. So it may be worthwhile to spend some time on the LED selection.
jremington:
Of course. The voltage output when the pin is set HIGH will be slightly lower than Vcc.
The board will not work at voltages below the brownout detection limit, unless you turn off the brownout detector completely.
If you want your project to work, you must satisfy the power requirements of ALL the devices, not just the processor.
The problem with using step up converters is that they waste a lot of power, even when the processor and sensors are sleeping. Plan on frequent battery changes if you use one.
Hmm good points there. But is there no downside in terms of the Arduino itself of using low voltage in to Vcc? If we imagine that all the other components in the circuit will not be negatively impacted by low voltage.
ShermanP:
Forgot to say - if you have an LED that needs to be on all the time, then that might be an opportunity to save on battery life. If you can blink the LED instead of having it constantly powered, that will save a whole bunch. And if you don't want it to visibly blink, you can flash on and off it at 60Hz. I know they say that perceived brightness is just a function of the average current, but I think the persistence of vision in humans may give you a bit of a free lunch on that. And finally, there's a really big difference in the efficiency of various LEDs. I think they have some super-efficient reds now that produce good light on next to nothing. So it may be worthwhile to spend some time on the LED selection.
Nice idea with blinking it rapidly, that is definitely something I can try. I was thinking of fading it in and out quickly as well. Do you have any links about the super-efficient LEDs that you mentioned?
I agree with you that the most power hungry part will be the LED, so will need to think more about this.
I could maybe describe the project briefly. It is a detector for when letter has arrived in my post inbox. When it has occurred it will shine a LED to notify me of this. My inbox is in a larger box where everyone in the house has a compartment, so I was thinking of shining the LED out of the spaces in the door to the compartment, thus I need a strong LED. Apart from this it is using infrared LEDs and receivers for detecting if something is inside of the post compartment.
After good points here I am less optimistic about using the step up converter, as low power usage and long run-time using some sleeps is something I really need to avoid having to change batteries often.
I don't have a link on the LEDs. The last ones I bought were in the form of a seven segment display. I was able to display "88" with good brightness on about 4mA of current. You'll just have to look on Digikey or similar to find ones with high brightness at low current. Also note that intensity is affected by the lens part of the LED - some spread out the light, while others focus it more.
There are a lot of mailbox notifiers around. I designed one a while back using a Wemos D1 Mini. Opening the mailbox door would power up the D1 Mini, which would connect to my wifi and send a notice to my phone through IFTTT. Then it would power down. So it would draw no current at all except for about 15 seconds twice a day. Something along those lines might work for you if you add the detection of a letter in the box.
I recently built a low power project that also needed some kind of power LED to show it's active. Of course running an LED all the time beats the low power part, taking way too much current.
I solved that by letting the processor sleep for 8 seconds at a time, wake up using the WDT, flash an LED for some 64 ms (that's another WDT based sleep period. That flash of a 0805 size SMD LED, with just a few mA, is very visible to the eye. You just have to watch your project for up to 8s to see its heartbeat. This way it barely uses any extra power, a few uA on average.
Most current quality LEDs are highly efficient (a more correct term that "super bright") and the white ones seem particularly bright. There is some suggestion that pulsed operation (at certain frequencies?) gives a brighter perception as well.
Sadly, the Arduino site information suggests - particularly misleadingly - that one should use the "Vin" pin to power various Arduinos. This is in general, a terrible suggestion as the on-board regulator on the one hand, can cope with a very limited current draw as it has very little heatsinking, before it overheats and shuts down - hopefully reversibly!
On the other hand, if you are using batteries and wishing to to conserve power as far as possible, the regulator "bites" you another way. The voltage it drops is completely wasted power and it has a certain "quiescent" or minimum current draw to ground in the regulator itself (while some are much better than others) which again wastes power even if you manage to shut down your processor in "sleep".
So the approach to using battery power is to match the battery voltage to just what the processor requires for reliable operation and connect it directly. On a Pro Mini, you will want to just remove the regulator to to remove any possible "leakage" and also disable the "pilot" LED.
ShermanP:
There are a lot of mailbox notifiers around. I designed one a while back using a Wemos D1 Mini. Opening the mailbox door would power up the D1 Mini, which would connect to my WiFi and send a notice to my phone through IFTTT. Then it would power down.
How did you implement that? powering down?
The ESP-01 is probably best suited for this purpose. The Chip Enable pin will essentially zero its power consumption with no additional active components. When enabled by a switch, you can connect a diode to a GPIO to hold it on while the code executes and then shut it down.
Speaking of white LEDs and pulsed operation, the annoying trend of current cars to have LED DRLs demonstrates the dramatic efficiency of the LEDs, while watching "car crash" videos on YouTube indicates that many traffic lights appear for some reason to use pulsed operation. I wonder why?
For traffic lights: maybe to use the same traffic light for a generic circle, an arrow, or a walking pedestrian animation.
In mainland China they like to have traffic lights that change function (and place them horizontal to weed out those with colour blindness). So a traffic light is green arrow up, then turns yellow (at least that's a different light - next to it), before switching green again but now with an arrow right...
There are a lot of mailbox notifiers around. I designed one a while back using a Wemos D1 Mini. Opening the mailbox door would power up the D1 Mini, which would connect to my WiFi and send a notice to my phone through IFTTT. Then it would power down.
How did you implement that? powering down?
Nothing fancy. Opening the door turns on the power, but then the D1 Mini maintains it until it's finished, then turns it off (after the door has been closed). If the door is left open, it sends another notice to that effect, then goes to sleep.
ShermanP:
There are a lot of mailbox notifiers around. I designed one a while back using a Wemos D1 Mini. Opening the mailbox door would power up the D1 Mini, which would connect to my wifi and send a notice to my phone through IFTTT. Then it would power down. So it would draw no current at all except for about 15 seconds twice a day. Something along those lines might work for you if you add the detection of a letter in the box.
The issue here is that my compartment is within a larger box with one compartment per apartment. The mailman opens a large door which gives he/she access to all the compartments. When I want to get the mail I will open a smaller door for only my box. This means I can't use any sensor for door opening, or motion. So I opted to have IR leds in the top and receivers in the bottom that alert when not receiving IR any longer (ie covered by a letter)
I was planning on sleeping and waking every X seconds or minutes, check if there is mail, if not go back to sleep.
If there is mail then I need to start powering the status LED in some smart way. The status LED is inside my compartment so it needs to be bright enough to shine out through the cracks.
Paul__B:
Sadly, the Arduino site information suggests - particularly misleadingly - that one should use the "Vin" pin to power various Arduinos. This is in general, a terrible suggestion as the on-board regulator on the one hand, can cope with a very limited current draw as it has very little heatsinking, before it overheats and shuts down - hopefully reversibly!
On the other hand, if you are using batteries and wishing to to conserve power as far as possible, the regulator "bites" you another way. The voltage it drops is completely wasted power and it has a certain "quiescent" or minimum current draw to ground in the regulator itself (while some are much better than others) which again wastes power even if you manage to shut down your processor in "sleep".
So the approach to using battery power is to match the battery voltage to just what the processor requires for reliable operation and connect it directly. On a Pro Mini, you will want to just remove the regulator to to remove any possible "leakage" and also disable the "pilot" LED.
I think the best way to handle the status LED is to flash it very briefly once every few seconds. You would have to experiment, but I would bet you could turn it on for maybe 20ms once every two or three seconds and still be able to detect it easily.
Then there's the issue of the IR detector LED, which also consumes power. Once mail has been detected the first time, there's no point trying to detect it again. When you open the door and remove the mail, you could reset your circuit, and it would start looking again.
And it seems a shame to have it trying to detect mail when the postman won't be back for almost a day, or from Saturday to Monday. That leads to thoughts of adding an RTC with an alarm instead of using the WDT, so it wouldn't even start looking for mail until, say, 10:00 AM, or whatever predictable time your postman usually arrives, or whatever time you'll get home to get any waiting mail.
I wonder if there's an alternative to the IR leds. Maybe a false floor that pushes down enough to close a contact from the weight of a single letter.
ShermanP:
I think the best way to handle the status LED is to flash it very briefly once every few seconds. You would have to experiment, but I would bet you could turn it on for maybe 20ms once every two or three seconds and still be able to detect it easily.
Then there's the issue of the IR detector LED, which also consumes power. Once mail has been detected the first time, there's no point trying to detect it again. When you open the door and remove the mail, you could reset your circuit, and it would start looking again.
And it seems a shame to have it trying to detect mail when the postman won't be back for almost a day, or from Saturday to Monday. That leads to thoughts of adding an RTC with an alarm instead of using the WDT, so it wouldn't even start looking for mail until, say, 10:00 AM, or whatever predictable time your postman usually arrives, or whatever time you'll get home to get any waiting mail.
I wonder if there's an alternative to the IR leds. Maybe a false floor that pushes down enough to close a contact from the weight of a single letter.
Yeah you could reset it manually, but I liked the idea that when you remove the mail you don't need to do anything else. The detector will notice that no mail is there and turn of the LED (eventually).
But to save power I was thinking to only try to detect mail for 2 seconds once ever minute or so. Right now the circuit when the IR LEDs and receivers are on use about 8mA. That is included the onboard LED I haven't removed yet, as well as the regulator. And including powering it on the RAW ping as I am doing on my breadboard right now.
Interesting thought on skipping the weekends, I might need to think about that. But then again, less than 8mA for 2 seconds every minute is not too bad. I guess I could even extend that to only check once per a few minutes instead. Seems I need to sleep a max of 8 seconds each time but I could just do one sleep after the other. I guess an RTC would use some power as well as well as the hassle of needing to set and keep a correct time.
About the detection mechanism I was considering many different methods. Something to detect the weight, PIR sensors, microwave sensors etc. But PIR won't react to a letter, and not sure if microwave would either. The detection of weight was hard when you need to detect a single A4 page which is about 5g.
I might consider replacing the status LED and instead sending a message over LoRa WAN at some point, would be cool to get a message on my phone instead : )