Hacker News new | past | comments | ask | show | jobs | submit login
How to efficiently operate the Arduino GSM shield with a battery pack (comoyo.github.io)
55 points by ingridod on Aug 9, 2013 | hide | past | favorite | 14 comments



What kind of impact do these changes make? Instead of 24 hours or less can you get a week or two out of the batteries?


I'm preparing a large project using Arduino that will need to be running on battery power for long periods of time. I haven't attempted anything like this before, but everywhere I read tells me that Arduino is not power efficient at all, and people have to get creative to conserve power. I guess such is the way of low-end microprocessors, something we take for granted in power powerful machines.


The Arduino _board_ is not designed for running of batteries and is inefficient. The AVR _microprocessor_ is very efficient; that article links to http://www.gammon.com.au/forum/?id=11497 which documents a draw of 360uA in sleep mode. Even the 15ma of "fully on" is equivalent to a single LED.

The main power consumer in the GSM case is of course the GSM transmitter, so it's no suprise that he can improve power consumption by turning it off.

Generally on more powerful machines you take for granted the operating system, firmware and their many conveniences, but often there will be bugs or poor design decisions that increase power consumption by quite a lot.


Look into the TI MSP430. It was built with low-power in mind. There's even an Arduino IDE port for it called Energia if you're not comfortable in C/C++. Check out http://www.43oh.com for forums. Also, I put together an aggregated list of links to tutorials from a really nice blog http://goo.gl/IFsrJi . Also, I should mention, these boards are < $5 shipped from TI and includes 2 chips and a USB cable!


Edit: I updated the tutorials link with a list of other links I've compiled. Also, it looks like they upped the board price to $9.99 ( http://www.ti.com/ww/en/launchpad/msp430_head.html ). It is absolutely worth it IMO. Good luck with your project!


You can just buy 1 LaunchPad and use it as a programmer to download code to your breadboard or custom PCB. You just need to hook up the TEST, RESET and GND lines. So you can use a cheaper board (and with more pins) like this https://analog10.com/store/BOB-G2553-28.html.


Thanks, that's some good info! I might prototype with Arduino as a proof of concept and see how far I can get with these TI boards if/when I put the project into "production".


Yeah, I like the Launchpads. I ported Contiki to them, and wrote some stuff for eg low-power wireless networking. Unfortunately had to rip out stuff like uIP. Check this post for an in-depth write-up of a low-power radio duty cycling protocol, with lots of measurements etc. http://www.bithappens.se/blog/2013/05/26/simple-yet-efficien...

For those not interested in Contiki, late in the post there are some power consumption measurements that illustrate rather clearly why switching off the 60 mW radio as much as possible is a must as soon as you go battery.

You can find the Contiki-port at https://github.com/msloth/contiki-launchpad


> everywhere I read tells me that Arduino is not power efficient at all, and people have to get creative to conserve power.

Not sure what you mean here, a microcontroller platform like Arduino can be extremely low power. The AVR chip itself uses a few mW running at full speed, and less in sleep mode (less than an LED). What uses most power is other devices in your circuit, you need to be careful with them and shut them off when not needed.


I built such a system with an Arduino a while ago using the bluetooth shield (a huge energy hog). They key was adding some basic "sleep when inactive" routines, it wasn't that creative, if I remember rightly it was about ten extra lines of code to have it sleep for a while if it detected it wasn't in use.

The one gotcha was making sure the board being used had a reasonably efficient regulator on it, some of them have regulators which draw a (relatively) huge idle current so putting the chip to sleep has almost no impact.

Hope that's of some use!


It's not so much the microprocessor, it's all the trappings of the Arduino, and not using sleep mode. If your project is large and runs on limited battery power, you might want to choose another solution and work on power management. The Arduino is an excellent prototyping tool, though.


JeeNode's creator has lots of posts on alternative powering to the JeeNode - which is also based on ATMEGA and Arduino compatible, and has a RF module. See http://jeelabs.org/tag/lowpower/



Anyway solutions for a DIY phone that has encrypted voice/chat apps?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: