{
  "family": "Sense",
  "name": "I.9",
  "rev": "c",
  "tile_id": 2,
  "json_version": "0.5",
  "updated_at": "2026-03-07T11:40:05.109Z",
  "headline": "digital 9-DOF IMU",
  "description": "The Sense.I.9 embeds the TDK Invensense ICM20948 IMU with a co-packaged 6-DOF IMU and a 3-DOF magnetic compass.  The triaxial accelerometer has a configurable 16-bit full-scale range from +/-2g to +/-16g with an output data rate up to 4.5 kHz, while the triaxial rate gyroscope has a 16-bit full-scale range from +/-250 to 2000 degrees per second with an output date rate up to 9 kHz.  The triaxial magnetic compass has a 16-bit full-scale range of +/-4900µT with an output data rate of up to 100 Hz.  The sensor includes configurable filters and an on-board motion processor.",
  "application_notes": [
    {
      "details": "The IMU and compass origins are colocated, with the axes aligned at the center of the IC, which is at (-0.2, -0.2) mm relative to the center of the tile.  The Z axis (blue head) of the sensor extends from the top surface of the tile, while the X axis (red head) points up between pads 1 and 10.",
      "heading": "Sensor Axes",
      "image_url": "https://mosaic-component-datasheets.s3.eu-north-1.amazonaws.com/2/app-note-0.png"
    }
  ],
  "package": {
    "pads": 10,
    "type": "T44",
    "size_x": 4000,
    "size_y": 4000,
    "size_z": 0
  },
  "power": [
    {
      "max": 1.95,
      "min": 1.71,
      "type": "system",
      "notes": "",
      "gnd_pad": [
        "1"
      ],
      "function": "",
      "direction": "input",
      "is_required": true,
      "max_current": "3.11mA",
      "positive_pad": [
        "10"
      ]
    }
  ],
  "components": [
    {
      "url": "https://invensense.tdk.com/products/motion-tracking/9-axis/icm-20948",
      "part": "ICM-20948",
      "datasheet": "https://mosaic-component-datasheets.s3.eu-north-1.amazonaws.com/2/TDK_Invensense-ICM20948.pdf",
      "manufacturer": "TDK Invensense"
    }
  ],
  "pads": [
    {
      "pad": "1",
      "geometry": {
        "size_x": 1000,
        "size_y": 400,
        "center_x": -1500,
        "center_y": 1600
      },
      "functions": [
        {
          "type": "power",
          "function": "GND"
        }
      ]
    },
    {
      "pad": "2",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": -1600,
        "center_y": 800
      },
      "functions": [
        {
          "note": "weak internal pull-up sets I2C address to 0x69.  Connect to GND to set I2C address to 0x68.",
          "type": "digital",
          "function": "I2C.AD0",
          "direction": "input",
          "is_default": true
        },
        {
          "type": "interface",
          "function": "SPI.MISO",
          "direction": "output"
        }
      ]
    },
    {
      "pad": "3",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": -1600,
        "center_y": 0
      },
      "functions": [
        {
          "note": "weak internal pull-up enables I2C.  Connect to GND to switch to SPI mode.",
          "type": "digital",
          "function": "I2C.EN",
          "direction": "input",
          "is_default": true
        },
        {
          "type": "interface",
          "function": "SPI.CS",
          "direction": "input"
        }
      ]
    },
    {
      "pad": "4",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": -1600,
        "center_y": -800
      },
      "functions": [
        {
          "note": "when using a non-Core processor, ensure adequate external pull-up resistance.",
          "type": "interface",
          "function": "I2C.CLK",
          "direction": "bidirectional",
          "is_default": true
        },
        {
          "type": "interface",
          "function": "SPI.CLK",
          "direction": "input"
        }
      ]
    },
    {
      "pad": "5",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": -1600,
        "center_y": -1600
      },
      "functions": [
        {
          "note": "when using a non-Core processor, ensure adequate external pull-up resistance.",
          "type": "interface",
          "function": "I2C.DAT",
          "direction": "bidirectional",
          "is_default": true
        },
        {
          "type": "interface",
          "function": "SPI.MOSI",
          "direction": "input"
        }
      ]
    },
    {
      "pad": "9",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": 1600,
        "center_y": 800
      },
      "functions": [
        {
          "note": "programmable interrupt output",
          "type": "digital",
          "function": "INT",
          "direction": "output"
        }
      ]
    },
    {
      "pad": "10",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": 1600,
        "center_y": 1600
      },
      "functions": [
        {
          "note": "1.71-1.95V",
          "type": "power",
          "function": "V+",
          "direction": "input"
        }
      ]
    },
    {
      "pad": "6",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": 1600,
        "center_y": -1600
      },
      "functions": []
    },
    {
      "pad": "7",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": 1600,
        "center_y": -800
      },
      "functions": []
    },
    {
      "pad": "8",
      "geometry": {
        "size_x": 800,
        "size_y": 400,
        "center_x": 1600,
        "center_y": 0
      },
      "functions": []
    }
  ],
  "interfaces": [
    {
      "name": "I2C",
      "type": "I2C",
      "parameters": {
        "modes": [
          "slave"
        ],
        "addresses": [
          {
            "address": "0x68"
          },
          {
            "address": "0x69",
            "is_default": true
          }
        ],
        "data_bits": [
          8
        ],
        "address_bits": [
          7
        ],
        "max_clock_speed": "400kHz"
      },
      "pad_assignments": [
        {
          "pad": "2",
          "function": "I2C.AD0"
        },
        {
          "pad": "3",
          "function": "I2C.EN"
        },
        {
          "pad": "4",
          "function": "I2C.CLK",
          "is_required": true
        },
        {
          "pad": "5",
          "function": "I2C.DAT",
          "is_required": true
        }
      ]
    },
    {
      "name": "SPI",
      "type": "SPI",
      "parameters": {
        "modes": [
          "slave"
        ],
        "max_clock_speed": "7MHz"
      },
      "pad_assignments": [
        {
          "pad": "2",
          "function": "SPI.MISO",
          "is_required": true
        },
        {
          "pad": "3",
          "function": "SPI.CS",
          "is_required": true
        },
        {
          "pad": "4",
          "function": "SPI.CLK",
          "is_required": true
        },
        {
          "pad": "5",
          "function": "SPI.MOSI",
          "is_required": true
        }
      ]
    }
  ],
  "supplies": [
    {
      "max": 1.95,
      "min": 1.71,
      "typ": 1.8,
      "type": "system",
      "notes": "",
      "operating_current": "3.11mA"
    }
  ]
}