Hot answers tagged

32

Note: I wanted to point out that, even though my answer was accepted, the reader (you) should really read Anindo's answer first if you really want to save energy with any Arduino board. Once you address those items in your design, then you should read my answer and worry about how to set the MCU into low power mode. Having said that, there are several ...


24

Realistically, the biggest power waster on an Arduino board is the linear voltage regulator on it. As long as the microcontroller on the board, the LEDs, or any other peripherals, draw current, the linear regulator wastes power equal to difference between supply and board voltage x current drawn. So, a first fix would be to disconnect the power indicator ...


20

Power consumption The Arduino boards use a fair bit of power compared to other embedded systems with similar functionality. There are three main factors: The NCP1117 (datasheet) 5V linear regulator in the Arduino UNO R3 (schematic) has a quiescent current of around 6mA. The ATMega328P (datasheet) draws around 5mA @ 8MHz and 5V, and probably more than ...


16

Use a switching regulator such as the LM2596. You can get a ready board from eBay for about US$1. Just set the output voltage to 5 V and feed the Vcc input of Arduino; this bypasses the onboard regulator. The benefit is that unlike the linear onboard regulator, a switching regulator is very efficient which means less consumption and less generated ...


13

You could read through the 200-page datasheet, and then mess with some confusing bit shifts and registers, but I recommend this library: http://playground.arduino.cc/Code/Enerlib Also, if you're using an Uno or any one with a usb-to-serial chip, you could disable that or remove it.


9

Once your project is working and you need to deploy to "production" environment, you can opt to replace the Arduino with a bare meta ATMega328 or any of the ATTiny family chips. This will get rid of all the power eaters on the Arduino board you don't need. I found: Arduino board of 9V block battery - 56 mA ATTiny85 bare on 8 MHz without sleep modes etc - ...


9

This would be better answered on Stack Exchange Electrical Engineering. Also see this question and answers. This is not quite the same and the answers there are OK but less than complete or correct, but it adds to the resource available. You need a battery charging controller, a PV (solar) panel capable of producing somewhat more than maximum battery ...


8

Yes, if you want to wake an ATMEGA (the chip in the Arduino) spontaneously (no outside trigger) from Power Down mode at periodic intervals, the you will need to rely on an interrupt generated by the watchdog timer, which has a maxim timeout of 8s. Your goal should be to wake, increment and check the timer, and get back to sleep as quickly as possible since ...


7

The Arduino Uno is not really designed for that. Simply keeping the power indicator LED, regulators and extra circuits on for a week will require in the order of 1500-2000 mAh (10*24*7=1680mAh). That is without any application at all on the MCU. Now it is possible to modify the board and reduce this extra power requirements to less than 1 mA and as low as ...


7

Can I use a I/O as (input/supply) GND? You can use an I/O pin as a supply for another (low power) device, but you should power the Arduino itself from its Vcc and GND pins. I could use the reset button, but would it still give me "random enough" numbers? You will likely see the very same sequence every time you reset it. There are ways around this: ...


7

I'm not surprised you can smell burning. You have the power supply connected backwards. You see that little + and - symbol next to the ON/OFF jumper? That's the polarity of the two runs of pins. You have the + row connected to the - rail of your breadboard (blue) and the - row connected to the (red) positive rail. Turn the power supply around 180° and ...


6

So... turned out what was happening was all in code. Turns out that I was initializing an interrupt on INT0, when it was low, at the very beginning of my code. Problem was that when it started up on 3V backup power, INT0 was always low because INT0 is tied to the 5V line (it's how it knows to go to sleep). Because INT0 was low and the interrupt was ...


6

Yes, charging a battery and supplying an Arduino at the same time is possible as long as we manage the caveats (see below) of in-circuit charging. This is what I use: a 3.3V Arduino (a Pro Mini in my case), a regular Li-Ion battery, a charging controller that supports constant voltage (CV) and constant current (CC) charging, optionally, a 6V solar panel. ...


5

There is an even greater article on this topic: http://www.gammon.com.au/power It shows how to reduce your power usage for the Uno from about 50mA to 350nA (0.000350mA) - at this point, you need to factor in the natural drain of batteries. Also, I have had good success with a project that was activated by a pushbutton, by using a latch - the push button ...


5

What connects the resistor to the LED? Absolutely nothing. It's hard to work out which holes the LED is plugged into, but I think your current circuit looks something like this: You need to connect that resistor and LED together. For your edit: Now your circuit looks like this: Behind the 5 pins in that column with the ground wire there is a big chunk ...


5

An ammeter is basically a small resistor in series over which the voltage drop is measured. That resistance will play a part in the effective output impedance of your power source (battery). This increased impedance will reduce the overall amount of current the battery can provide before the voltage drops to an unacceptable level. For instance, I just did ...


5

You need a voltage divider with resistors that have large values. ...but with all values I have tried one resistor almost melts as soon as you connect to battery. This suggests that you have been using values that are too low. So lets go through the calculations to select good resistor values. 1/4 Watt resistors are common and easily available so I ...


4

There are two constraints here, and I think it might back you into a corner. Size and then power. 2Kbyte/s is 2*60*60*24/1024 = 168.75Mbyte/day. This is a lot. The only readily available technology that can be used with a small microprocessor that can store this volume of data is an SD card. There are no serial EEPROM or flash chips this large, and the ...


4

... won't the ADC reference voltage constantly be dropping with the battery? Yes, which is why you either use or measure an internal bandgap reference instead. Use the analogReference() function to select a reference appropriate for the board in use. Note that you will need to use a voltage divider to reduce the battery voltage to a value below that of the ...


4

To make sure all pins are responding you could put all your pins as input with internal pull-up except pin 13 which must be set as output. The on board led is connected to pin 13, so when you put pin13 high it will turn the led on. Connect every other pin 1 by 1 to the GND to see if the led is toggling once you've connected a pin to the GND. Try to use this ...


4

The datasheet says: The first ADC conversion result after switching reference voltage source may be inaccurate, and the user is advised to discard this result. Then you could try to take each reading twice, looping over four ADC readings: Read bandgap with Vcc as reference, discard the value. Re-take the same, keep the value. Read A1 with 1.1V ...


4

You're overthinking it. Use one or more solar panels, a harvesting IC with sufficient storage, and the bare MCU and peripherals. Use enough panels and storage to run the MCU and peripherals 24/7, and to also charge the storage during the day.


4

(1) A simple method BEST method is to use a proper charger - they are not high cost if you look around and doing it properly extends precious battery life. Next best in this context is my "better" method in 2. below. BUT, given the system you say you are using now, the following very simple method will greatly improve your result and ave your battery ...


4

I made a Temperature and humidity sensor - battery powered in 2013. It is powered from 3 x AA batteries, and lasted, as I recall, until a couple of months ago before I changed the batteries. That is, almost two years. It logs to an SD card every 15 minutes. You could change that interval of course, it would probably not last as long logging every minute. I ...


4

You will definitely not get a week out of a 9V cell - they have very small capacities (and are expensive relative to other types of cell). Your Uno already has a regulator in it and this regulator wastes a certain amount of energy converting between different voltages. I'm certainly no expert, but from what I've gleaned over the last month or so of owning ...


4

Seeing as you want to use a 12V battery, you should try an external motor controller. You would essentially connect the Arduino to the controller, then the external battery and motor to the controller. Dimension Engineering makes several high quality motor controllers that are compatible with Arduino and can handle the voltage (like this controller). The ...


4

There are two things you need to measure the battery of the system that is doing the measuring of the battery: An analog-to-digital converter Some form of fixed voltage reference to compare the battery voltage against. Some ESP8266 modules have a single analog input available, and some don't. You need to check which module you have and which pins are ...


4

While this answer addresses the specific question it should also prove useful as a link to resources relating to current reduction in other microcontroller projects. Short: The "C" rate for a cell is a current in mA numerically equal to the capacity in mAh eg 1000 mA for a 1000 mAh cell. In the absence of a specific data sheet a LiIon or LiPo cell is ...


4

Our beloved admin Nick Gammon has made a very neat articile on this subject, I suggest you read it and apply as many of the methods he described. Also, it can be worth to check the requirements of your project, how long should it work on battery to be acceptable? Set some realistic boundarys to avoid getting lost in (trying to) optimizing beyond all ...


4

Not only can you share the grounds - sharing the grounds is required for there to be any form of meaningful circuit for signals to get around the place. To copy-and-paste a blog post I wrote some time back: A lot of the time on the Arduino forums we get questions regarding wiring things together. One common format is: I want to connect my 12V powered ...


Only top voted, non community-wiki answers of a minimum length are eligible