Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

Member #223821

Member Since: May 6, 2011

Country: United States

  • Hi all,
    I just want to confirm if there is a very small typo in the DataSheet. Table 7 (page 22) states that Register 0 has the ID from bit 6 to bit 1. (bit 0 is not used). Doesn't the ID (which is 7 bit long) go from bit 6 to bit 0 (inclusive)????

  • If I am using a PIC24 at 5V, do I need a level shifter to communicate with the ITG-3200???

  • No, it is actually 0xD2 for writing and 0xD3 for reading. The address if the ITG is 1101001b but the eighth bit tells if you are writing (0) or reading (1) so it becomes:
    Writing: 1101001 0b = 0xD2
    Reading: 1101001 1b = 0xD3

  • Hi,
    I am having trouble connecting the gyro to a PIC24FJ256GA110. I have the following connections:
    VIO: 1.84V
    VDD: 3.3V
    SCL, SDA: Two pull-up ressistor to 3.3V
    CLK: to GND
    INT: Floating
    I am using the following code to run it:

    define GYRO_MASTER 0x9000

    define GYRO_BAUD_RATE 0x0027 // 100.00 kHz

    //Initialize ITG3200 for experimentation
    void gyro_Initialize(){
    //Configure IO pins
    GYRO_SCL_PORT = 0x0; // SCL3 is an input
    GYRO_TRIS_SCL_PORT= 0x1; // SCL3 is an input
    GYRO_SDA_PORT = 0x0; // SDA3 is an input
    GYRO_TRIS_SDA_PORT = 0x1; // SDA3 is an input
    int gyro_read(int command){
    int gyro_read;
    StartI2C3(); //SEND START
    MasterWriteI2C3( 0xD2 ); // sends address to the itg3200 if pin 9 is held high (b1101001) 69,
    //someone is 'avin a larf. Bit 8 is the r/w bit (low) THEREFORE D2
    MasterWriteI2C3( 0x0 ); //access device ID register. Bit 8 is the r/w bit (low)
    RestartI2C3(); //SEND reSTART
    MasterWriteI2C3( 0xD3 ); //address device with r/w bit high as we want to read from the device THEREFORE D3
    gyro_read = MasterReadI2C3(); //READ THE ADDRESS INTO THE ITG3200ID VARIABLE
    StopI2C3(); // stop all I2C communication
    return gyro_read;
    In the oscope I see the signal SCD and SCL sending the right address but I done get the ACK (instead of 0 in the 9th clock I get a 1). Finally, the answer I get from the gyro are all 1's (i.e. 255). Does anybody know what can be going on?
    Thanks a lot.

No public wish lists :(