ITG3205 (ITG3200?) register locations

I have been trying to use an ITG-3205 from a wii motion plus unit from deal extreme. I was extremely happy when I read the WHO_AM_I register which returned the expected value (68). I thought "cool now I just change the register and I can read whatever I want" but it hasn't been that simple.

Firstly, where is there documentation on register locations? Presumably this is where I'll also find documentation on what registers need what values for different settings? I have the ITG3200 datasheet from the Invensense website, but it doesn't have a register map or anything.

So far I've been looking at other peoples' codes, and assumed that the following would work:

define WHO 0x00

define SMPL 0x15

define DLPF 0x16

define INT_C 0x17

define INT_S 0x1A

define TMP_H 0x1B

define TMP_L 0x1C

define GX_H 0x1D

define GX_L 0x1E

define GY_H 0x1F

define GY_L 0x20

define GZ_H 0x21

define GZ_L 0x22

define PWR_M 0x3E

However when I got a bunch of zeroes from places where there shouldn't be, I ran code which sequentially read from 0x00 to 0x3F, and found that the only registers that return values are:

00,20: 68 - WHO_AM_I, as expected 03,23: 1F 0D,2D: 01 0E,2E: varying values, but always has 0 as the second hex value (60, 90, B0 etc.) 0F,2F: seemingly random even when stationary 10,30: seemingly random even when stationary 11,31: seemingly random even when stationary 1C: increments each time I read 3E: starts at whatever value I set it to (assume it is PWR, so I wrote 0x80 to reset, as I saw in other code but I haven't seen documentation on this), but usually changes value within a short time.

So it seems I have some different registers, but I'm not getting many expected values. I'm hoping I just need to initialise it properly, but can anyone shed light on what's going on?

Yeah I've had quite a bit of a google. Most people asking questions are asking what to do with data once they've got it, or they can't get data at all. I'm getting correct data in a couple of registers (I believe) but yeah I really need a datasheet. I just can't see how it would be so different to everyone else's work.

You need the datasheet v1.4 for ITG3200. You can get it from Sparkfun http://www.sparkfun.com/tutorials/265 or send me an mail.

Can somebody tell me something about the ITG3205? I need this gyro for my MultiWii copter.

Hi fredderyk,

I found the datasheet the day after I posted this stuff. All it did was confirm all the register locations other people had described. I’m back at uni now and haven’t spent any more time trying to get the Gyro to work. I’m (almost) certain it’s not faulty - it seems absurd that it would send valid data (WHOAMI) over serial, yet otherwise not work properly.

I’ll have a look over the next few days. As far as I’m aware, the 3205 is just a newer version in the 3200 series - it should function in the same manner. However I’ve never seen anything from Invensense about this. Have you received yours yet?