Electronic – arduino – Low power sensor module

arduinomsp430powerxbee

My next project requires me to have energy-efficient wireless sensor modules. Basically, these modules read sensor data and transmits it over a wireless transceiver.

Currently, my setup includes an Arduino Microcontroller and XBee modules. I have been considering using an MSP430 Launchpad instead, as its low power mode uses much less than the Arduino.

However, the XBee modules are crucial as they provide a 2 mile range which for my project is important. If you have suggestions of another transceiver around the same price that provide the same range and considerably lower power consumption, please comment on it below.

I would like this module to run for a year or at least six months, but the current prototype I have with an Arduino chip and an XBee module sending data every minute cleans out a 9V battery in an hour. I have read a lot about this problem and wanted to know if XBee's are out of question. Am I doing something wrong here? Is this a software or hardware problem. Maybe one of you guys have more experience than me so your opinion will definitely help here. Has anyone else tried this same design?

Best Answer

The Arduino is not designed for low power. For an answer to another question I recently estimated the Uno's current at 50 mA, at a 9 V input that's 450 mW. Part of the reason for the high power requirements is that Arduino has 2 microcontroller running at high clock frequencies.

Switching to the MSP430 platform looks like a good idea. I've used MSP430s running of a 32.768 kHz crystal which needed only 4 \$\mu\$A. (Power-down modes can go lower, but I couldn't stop the 32 kHz oscillator, because it took too long to start up.)

Then there's Xbee. A current of a few tens of mA is not unusual for RF modules, but maybe you can cut the average power consumption by switching it off for most of the time. This module has a transmit current of 48 mA, and a 27 mA receive current. If you would only transmit, and do that for 100 ms every minute your average current is 80 \$\mu\$A. Add 5 \$\mu\$A for standby and the MSP430, and a 250 mAh button cell will power it for 4 months. That's less than you specify, but somewhat better than the 1 hour you have now.

Other measures: try to get the Xbee's duty cycle further down. How much time do you really need to transmit a measurement (the 100 ms was a guesstimate)? Do you have to send every minute? Remember that 95 % of the current goes to the Xbee. If you can send once every ten minutes instead of every minute the battery will last 2 years! Smaller gains: can you shut the Xbee completely down instead of going to sleep; would save you 1.7 \$\mu\$A. Can the MSP430 run at a lower clock speed?

You will find other RF modules which require less power, but the 2 mile range may be a problem then.