As the day gets closer to when I'll be able to start wiring sensors onto my OpenROV, I decided it was time to start taking a look at the I2C address space for the Arduino on the OpenROV cape, and make sure there were no conflicts.
Here's a snapshot of the spreadsheet I put together, tracking the devices I want to put on my ROV:
So there are a couple of things that can be noticed immediately, before I get deeply into wiring sensors.
Most of the sensors can use either a 3.3V or a 5V I2C bus (the Cape is currently set up with a 5V I2C bus on the Arduino). If we end up going with the Measurement Specialties MS5803 pressure (depth) sensor, this part will not work at 5V.
Real-time clock boards based on the DS1307 will not run at 3.3V. In addition, the Sparkfun version of this seems to have a reputation of keeping poor time. I'm going to try the clock board made by Gravitech, which is a bit more expensive but can run at either 3.3 or 5V.
The ST L3GD20 gyro chip that is used on some of Pololu's sensor boards has a possible address conflict with the real-time clock boards. The gyro board will need to be set up with the sensor using 0xD2,D3 for its address space.
Note that I'm sketching out having an auxiliary A/D board, so that I can have a lot more current/voltage diagnostics than what's currently on the Cape.