Advice for wireless connectivity

I am working on a project that can be described as:

  • An arduino uno that will take input from several sensors
  • I need it to transmit the data back to a computer approx 75 feet away (i.e. the arduino will be a client only)
  • The arduino will be battery powered so I plan to put it in deep sleep for long periods (10 mins)
  • I will only transmit the sensor data back (a very small amt) approx every 10 minutes
  • I do not want to change the batteries or reset the arduino very often (i.e it needs to run on its own for at least weeks at a time)
  • The arduino will be in an area covered by wifi

The reason for this post is to get advice for wireless options. I have been extensively reading about the options and here's my impressions of the options:

  • Arduino + Wifi shield: The wifi shield firmware is not stable when running over long periods. There are also issues with getting it to reliably go into sleep mode.
  • Arduino + Ethernet shield + external Wifi bridge: There are several cheap wifi bridges that I have found people using but this combo seems like a bad idea for battery based projects.
  • Arduino + Wireless shield + Xbee module: seems like an ok option but I will need to get some good examples because the v2 stuff is tricky to setup. I couldn't find too many arduino projects using xbee. This is where I am leaning right now.
  • Arduino + Wireless shield + Bluetooth module: didn't see too many people using bluetooth -- it isn't the best for low power either
  • Arduino + Raspberry pi + wifi usb dongle for pi: interesting option but I think this will break my power budget
  • Arduino + Electric imp : another interesting option but I think this will also break my power budget
  • Arduino + some sort of RF board: I don't have time to mess with this

In my ideal world, I would like an extremely reliable wifi interface that could reliably be put into and out of sleep mode for long periods to preserve battery life.

So arduino experts, what are your thoughts?
(reliability and low power are key)

thanks

bc-ne:

  • Arduino + Wireless shield + Xbee module: seems like an ok option but I will need to get some good examples because the v2 stuff is tricky to setup. I couldn't find too many arduino projects using xbee. This is where I am leaning right now.

Why would both an XBee and a Wireless Shield (I'm reading that to mean WiFi) be needed?

In my ideal world, I would like an extremely reliable wifi interface that could reliably be put into and out of sleep mode for long periods to preserve battery life.

Is Wifi (IEEE 802.11) an absolute requirement, or is just getting the sensor data wirelessly from the Arduino into the computer reliably and efficiently with respect to power sufficient?

By "Arduino + Wireless shield + Xbee module" I mean using an Xbee module with the Wireless SD shield (which just has a space for a xbee or bluetooth module)

Wifi isn't an absolute requirement... just getting the sensor data reliably is the critical aspect (on battery power)

For low power applications, Arduino boards are out. They are just not designed for it. There is ancillary circuitry that continues to draw more power than the microcontroller even when the MCU is sleeping. This is not a criticism, they are designed as prototyping boards.

This means that you are looking at a custom circuit and possibly a custom PC board.

I haven't used any of the various WiFi modules but my perception is that they're not necessarily designed with low power in mind, i.e. may not have a sleep mode.

This seems to me to be a perfect XBee application. On the one end, sensors, a microcontroller and an XBee. On the other end, either (a) just an XBee connected to the computer, or (b) an XBee and a microcontroller. Depending on what kind of programming you want to do. Not sure if it's important to your application, but if having a computer running all the time isn't necessary or desirable, a microcontroller on the receiving end could store the data on a micro SD card, for instance.

I'm sure that a properly designed sensor board with an XBee and an ATmega328P microcontroller like used in the Arduino Uno (and others) could run maybe six months on a pair of AA alkaline cells, transmitting data once every ten minutes, and sleeping the MCU and the XBee in between. Assuming that the sensors themselves are not terrible power hogs or need to be powered on for relatively long periods.

Does seem like an ideal xBee application. They have a sleep mode that's easy to administer. Not sure why you would need an arduino at all.

ponobill:
Not sure why you would need an arduino at all.

Depending on the sensors, perhaps not!

I agree with others, if you go xbee route, you might not need an Arduino, which has too much other stuff running and drawing power even if you put Arduino into deep sleep. I am new to Arduino, so be kind to me :slight_smile:

Actually, not to hijack this thread, anyone knows how much current an deep sleep Arduino Uno draws?

mjkzz:
Actually, not to hijack this thread, anyone knows how much current an deep sleep Arduino Uno draws?

You might want to look at the tutorial from Nick Gammon on power saving techniques: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors.

mjkzz:
Actually, not to hijack this thread, anyone knows how much current an deep sleep Arduino Uno draws?

I measured my Arduino Uno at 42mA when running.
With the MCU in power-down mode (the deepest sleep mode), it still draws 31mA.
The ATmega328P microcontroller alone uses around 0.1µA in power-down mode.
I'm currently designing an Arduino-based data logger using an ATmega328P on a custom PC board. There are one or two other components that draw small idle currents as well, but when it's sleeping the whole board draws < 5µA. A "sleeping" Uno draws 6200 times more current.