Power Saving Feature

Hey guys,

I have an arduino project im working on, i have an LCD keypad shield, GSM shield, all connected to an arduino mega. I wish to implement a power saving feature which turns off all the devices connected. Is this possible? i understand the 5v pin is connected to the whole board and therefore the whole board will shut off... however is there another way which doesnt require me to build an additional circuit?

I have read about using digital pins and setting them to high to enable the device, and turning them to low to shut them off... however i cant find any documentation for the GSM shield or the 16x2 keypad shield to see how much current it requires, as i know my mega only does 50mA per pin.

frank1293:
Hey guys,

I have an arduino project im working on, i have an LCD keypad shield, GSM shield, all connected to an arduino mega. I wish to implement a power saving feature which turns off all the devices connected. Is this possible? i understand the 5v pin is connected to the whole board and therefore the whole board will shut off... however is there another way which doesnt require me to build an additional circuit?

I have read about using digital pins and setting them to high to enable the device, and turning them to low to shut them off... however i cant find any documentation for the GSM shield or the 16x2 keypad shield to see how much current it requires, as i know my mega only does 50mA per pin.

The LCD display will use very little current if you turn off the backlight.

I have no idea if you can disable the GSM shield, because you gave no clues as to which one you're using.

as i know my mega only does 50mA per pin.

Then you "know" wrong. Where did you hear that?
The absolute maximum, (the point at which damage can occur), is 40mA.
The safe maximum, at which you still get close to 5V from the pin, is about 20mA.

Having said that, the supply voltage for both the GSM shield and the LCD will be taken from the 5V rail, not from a pin. (The term "pin" is typically used to relate to I/O pins, not the 5V or 3.3V supply.)

Do you have a link to the GSM shield?

I don't think it can be done. Any device requiring more than 20 mA should not be powered directly from a digital pin.

The 50 mA for a Mega only applies to 3.3V Pins and you are talking about 5V here.
Refer to: https://www.arduino.cc/en/Main/ArduinoBoardMega

So, I think you will have "to build an additional circuit". Nick Gammon published a peripheral Switch in one of his articles.

In a Project I did, I used a toggle Switch and hard powered off the LCD. That can be done, you just have to reinitialize it when it is turned on. It is probably the same for your GSM Shield.

OldSteve:
The LCD display will use very little current if you turn off the backlight.

Having said that, the supply voltage for both the GSM shield and the LCD will be taken from the 5V rail, not from a pin. (The term "pin" is typically used to relate to I/O pins, not the 5V or 3.3V supply.)

Do you have a link to the GSM shield?

oops yeah sorry i got it mixed up with 3.3v rail, apologies for the wrong terms used. Im not sure of the model number but i have the exact one described here. https://www.arduino.cc/en/Main/ArduinoGSMShield

JaBa:
I don't think it can be done. Any device requiring more than 20 mA should not be powered directly from a digital pin.

The 50 mA for a Mega only applies to 3.3V Pins and you are talking about 5V here.
Refer to: https://www.arduino.cc/en/Main/ArduinoBoardMega

So, I think you will have "to build an additional circuit". Nick Gammon published a peripheral Switch in one of his articles.

In a Project I did, I used a toggle Switch and hard powered off the LCD. That can be done, you just have to reinitialize it when it is turned on. It is probably the same for your GSM Shield.

Yeah i thought of that aswell, might be the only option. My LCD is wired to the 5v rail which is wired to the 5v rail on the arduino board. If i put a toggle switch inbetween the gsm shield and the arduino to the 5v rail it should turn it off and on?

Yes the GSM modem can be shut down temporarily and wake it up whenever you require it. just go through the AT command and you shall find the command to power it off and wake it up whenever you require it.

Nick Gammon's power saving tutorial may be of interest.

...R

Good reading indeed from Nick's web site as always indeed. You are probably interested in the last bullet "Turn off (with a MOSFET) external devices (eg. SD cards, temperature sensors) until needed" given your question.

You have to be careful cutting the power to many devices, if there's a chance that any of the connected Arduino pins are high or can go high. You need to make sure that all connecting Arduino pins are low, if connected to CMOS inputs.

And in the case of many things, like an LCD, re-initialisation is needed when power is switched back on.