Optimizing current setup with arduinos

Hi -

I have a setup I am interested optimizing (making smaller, portable).

I currently use 3 arduino unos, 2 accelerometers (spark fun, ITG3200/ADXL345), and 3 xbee S1s. See attached image.

I have one master unit: The master unit consists of a single arduino uno, an Xbee, and a computer. This Xbee receives data from the slaves (described below) and then provides it to the arduino, which is then captured on the computer.

I have two slave units:
Each slave unit has an arduino uno that provides the I2C bus for an accelerometer. The data from the accelerometer is captured by the Arudino Uno and then the Uno outputs that data (using UART) to the slave Xbee for transmission to the master Xbee.

As you can imagine, this is a mess and not really portable - each arduino has to have a 5V power supply and then I have to have a bunch of breadboards to connect pins.

I thought it may be possible to use one master Arduino to transmit (via Xbees) the I2C bus, but can't figure that out.

So my question - is there a way to make this setup smaller, lightweight, and possibly battery powered?

yapatel:
So my question - is there a way to make this setup smaller, lightweight, and possibly battery powered?

Definitely.

Start by replacing the Unos with Pro Minis (they're completely compatible). You should get an FTDI programmer too, it makes life a lot easier.

Power them using 3xAA batteries and a voltage booster. (or 2xAA batteries if you want it smaller and battery life is acceptable)

Use solder+wires instead of breadboards.

You might want to replace the XBees with NRF24L01 modules (which are smaller). That will need some code changes though.

Xbee runs on 2.8V to 3.4V.
Set up the slaves with 8 MHz Promini and the Xbee, run from 2AA battery.
If the acceleromete is a 3V device too, that makes life easy.

Do you know if it is possible to send the I2C lines from the master arduino to the accelerometers using XBees only (rather than having an arduiino connected to each accelerometer)?

yapatel:
Do you know if it is possible to send the I2C lines from the master arduino to the accelerometers using XBees only (rather than having an arduiino connected to each accelerometer)?

No, it isn't.

Are the three Arduinos going to be in different places or could eveything be done by a single Arduino.

When you mentioned the wiring being a mess and each needing a 5v supply it made me think the 3 devices are close together.

Doing everything on one Arduino would simplify many aspects of the project.

...R

Robin2:
When you mentioned each needing a 5v supply it made me think the 3 devices are close together.

How does that logic work?

the three devices need to be in different places.

Xbee does not have I2C interface, need some processing capability there.
Promini would be sufficient for Serial to Xbee and I2C to accelerometer.

fungus:

Robin2:
When you mentioned each needing a 5v supply it made me think the 3 devices are close together.

How does that logic work?

If they are in separate places separate power supplies are unavoidable so why mention the issue. If they are in the same place they may be able to share a power supply.

...R

Robin2:

fungus:

Robin2:
When you mentioned each needing a 5v supply it made me think the 3 devices are close together.

How does that logic work?

If they are in separate places separate power supplies are unavoidable so why mention the issue. If they are in the same place they may be able to share a power supply.

Obviously.

But... he said: "each needing a 5v supply it made me think the 3 devices are close together".

I was wondering how that conclusion was reached. To me it seemed the opposite.

Is it possible to drive a mini with watch batteries instead of AAs? I need this be a lightweight, if possible.

yapatel:
Is it possible to drive a mini with watch batteries instead of AAs? I need this be a lightweight, if possible.

It can be done but you have to be very careful with current. Most coin cell/watch batteries con only provide tiny amounts of amps. They also have very high ESRs so the voltage can drop considerably when you attach things to them (ie. 3V will go down to 1.5V even with fairly "light" loads).

2xAAA isn't exactly huge and would work with those voltage boosters.

You haven't said how long they have to last, what they do, what the duty cycle is, anything like that. It's pointless discussing without more info.

I would like for the units to last on a single set of (lightweight) batteries for at least 2 hours, if possible. The idea is that the accelerometer data is streamed to a master unit at a frequency (minimum) of 2Hz. Possibly up to 4-5 Hz.

The master unit does some computations on it, etc. It's only unidirectional communication: data from accelerometer sent master xbee by slave xbee.

Please let me know what other information you may need. Your input/help are greatly appreciated!

Just realized I did not provide enough:

The two accelerometers are driven by two Arduino Unos. These Unos are providing the I2C lines to control the accelerometer. The accelerometer data is read by the Uno and then the Uno sends it out to the XBee (via serial output). The Xbee (slave) transmits it to the Xbee (master). At this point the Xbee master's input is read by another Arduino uno.

I have confirmed that the Master Xbee sees the exact data that I am sending it from the slave XBees. But this is only when I view it through the XCTU terminal. When I try to read the data received by the Master XBee using the arduino, I get a bunch of numbers that do not make sense (another issue all together, but stating incase you have suggestions!).

yapatel:
Please let me know what other information you may need. Your input/help are greatly appreciated!

What is it, exactly? Why does it need to be portable now when it used to be plugged into the wall?

It's impossible to design something without actually knowing what it is and how it will be used...

we are studying how people walk.

we want to use two accelerometers (one on each leg) and stream the accelerometer data to a master XBee. The data is fed into our computer for collection and post hoc analysis.

This is why we need it to be wireless and have batteries that will last up to 2-3 hours at a time.

yapatel:
we are studying how people walk.

we want to use two accelerometers (one on each leg) and stream the accelerometer data to a master XBee. The data is fed into our computer for collection and post hoc analysis.

This is why we need it to be wireless and have batteries that will last up to 2-3 hours at a time.

So you don't really need it to be tiny. A 2xAA battery box seems about right to me (you'll need something to glue the voltage booster and pro mini to...)

An Xbee consumes about 50mA, the pro-mini less...double it for the voltage boost, add a bit for luck, call it 500mA draw. A rechargeable AA battery has about 2000mAH capacity so 2xAA should last for three hours or so.

Switching to NFR24L01+ transmitters could increase that by quite a lot (they'll draw well under 10mA in your usage scenario) but you'll need to do some extra programming.