It turns out there there are quite a few versions of the “same” components out there. Uploading sketches to an Arduino-on-a-breadboard is trickier than it first appears.
Putting an Arduino together from scratch lets us look at where the power consumption might be reduced — and is just an interesting thing to do anyway.
Clearly saving battery power means getting the XBee radio to sleep at the behest of the Arduino. This turns out to be fairly simple, but does require modifying the XBee shield slightly.
Controlling the XBee requires issuing AT commands. The XBee library has the low-level machinery to do this.
Some initial measurements of power consumption.
It’s funny how even early experiences change the way you think about a design. Two minor changes to SleepySketch have been suggested by early testing.
Keeping the microcontroller asleep as much as possible is a key goal for a sensor system, so it makes sense to organise the entire software process around that.
The Arduino has several sleep modes that can be used to reduce power consumption. The most useful for sensor networks is probably the one that uses the watchdog timer.
Any sensor network has to represent sampled data somehow. What would be the most friendly format for so doing?