> For the complete documentation index, see [llms.txt](https://docs.yagsl.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yagsl.com/devices/gyroscope/adis16470.md).

# ADIS16470

{% hint style="warning" %}
Keep your robot still at startup EVERY TIME with this gyroscope.
{% endhint %}

## Documentation

{% embed url="<https://wiki.analog.com/first/adis16470_imu_frc>" %}
Official documentation
{% endembed %}

{% embed url="<https://docs.wpilib.org/en/stable/docs/software/hardware-apis/sensors/gyros-software.html#adis16470>" %}
WPILib documentation
{% endembed %}

<figure><img src="/files/jM4ZEWwZpb5CjaVbk3mL" alt=""><figcaption></figcaption></figure>

The ADIS16470 is a 3-axis gyroscope meaning it must be parallel to the earth for it to work!

## YAGSL Checklist

* [ ] Ensure the ADIS16470 is attached to the roboRIO firmly.
* [ ] The roboRIO is centered on the robot.
* [ ] The roboRIO is flat parallel to the earth.
* [ ] The robot DOES NOT MOVE AT ALL on startup for at least 10 seconds!

## Communication

The ADIS16470 attaches directly to the SPI port on the roboRIO and is only connectable via there with YAGSL.

## Example `swervedrive.json`

<pre class="language-json"><code class="lang-json">{
  "imu": {
    "type": <a data-footnote-ref href="#user-content-fn-1">"adis16470"</a>,
    "id": <a data-footnote-ref href="#user-content-fn-2">0</a>,
    "canbus": <a data-footnote-ref href="#user-content-fn-3">null</a>
  },
  "invertedIMU": <a data-footnote-ref href="#user-content-fn-4">false</a>,
  "modules": [
    "frontleft.json",
    "frontright.json",
    "backleft.json",
    "backright.json"
  ]
}
</code></pre>

[^1]: Select the `adis16470` gyroscope as the primary gyroscope.

[^2]: ID is not relevant for the NavX so `0` is chosen arbitrarily.

[^3]: The `canbus` is not relavent for the NavX so `null` ensures nothing is set in the configuration.

[^4]: Reads default counterclockwise
