> For the complete documentation index, see [llms.txt](https://docs.auterion.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.auterion.com/hardware-integration/ai-node/interfaces.md).

# Interfaces

## AI Node Interface Function Map

<figure><img src="/files/cnlISuQf24t4Bo0Jd6il" alt=""><figcaption><p>AI Node interfaces names</p></figcaption></figure>

## Connectors

### External Interfaces

| Name       | Interface                     | Description                                                      |
| ---------- | ----------------------------- | ---------------------------------------------------------------- |
| Power      | Molex Micro-Fit 3.0 436500200 | Power supply input                                               |
| Ethernet0  | JST GH 9pin                   | Network connection port to Skynode, a payload or ethernet switch |
| Ethernet1  | JST GH 9pin                   | Network connection port to Skynode, a payload or ethernet switch |
| USB0       | USB-C                         | General purpose USB 3.0 port                                     |
| USB1       | USB-C                         | General purpose USB 3.0 port                                     |
| Dev USB    | Micro USB                     | Provides developer access and AuterionOS update capabilities     |
| MIPI-CSI 1 | MIPI-CSI (2 lanes)            | Standard MIPI camera interface, Raspberry Pi camera-compatible   |
| MIPI-CSI 4 | MIPI-CSI (4 lanes)            | Standard MIPI camera interface, Raspberry Pi camera-compatible   |
| IO         | Molex Pico-Clasp 5015714007   | IO avionics port with SPI, I2C, GPIO, CAN and UART pins          |
| NextVision | Custom connector              | Video input and camera control                                   |
| Micro SD   | Micro SD                      | Micro SD Slot for data transfer or storage extension             |

## Pinout and Paths

### Ethernet

GH 9-pin connector. Both ETH0 and ETH1 have the same pinout. Pinout is given for Fast Ethernet (Eg. for connecting to Skynode, and radio) and Gigabit Ethernet modes.

| Pin | 100Base-T | 1000Base-T |
| --- | --------- | ---------- |
| 1   | -         | BI\_DD\_N  |
| 2   | -         | BI\_DD\_P  |
| 3   | RD\_N     | BI\_DB\_N  |
| 4   | -         | BI\_DC\_N  |
| 5   | -         | BI\_DC\_P  |
| 6   | RD\_P     | BI\_DB\_P  |
| 7   | TD\_N     | BI\_DA\_N  |
| 8   | TD\_P     | BI\_DA\_P  |
| 9   | GND       | GND        |

### USB Type C

Each of the two USB Type C ports is USB3.0 rated, with backward compatibility with USB2.0.

USB2.0 hub acts as independent submodule of USB3.0 hub, allowing for independent simultanious use of both USB2.0 and USB3.0 interefaces. Type C connectors are reversible, and have two USB3.0 lanes, and two USB2.0 routed to each of the Type C ports in order to meet reversibility requirements.

{% hint style="success" %}
Due to this design decision, it is possible to use a *passive* break out board to route out up to 8 USB ports for simultaneous use: 4x USB2.0 and 4x USB3.0
{% endhint %}

{% hint style="info" %}
As it is a USB hub, total bandwidth is shared between all attached USB devices, that is:

* 420Mbps for all attached USB2.0 devices
* 5Gbps for all attached USB3.0 devices
  {% endhint %}

### MIPI-CSI

22 pin 0.5mm ribbon cable, RPi camera compatible. By default, configured to IMX219 sensor, may be switched to IMX477 from user-space by setting `CSI1_IMX477=1` or `CSI4_IMX477=1`.

{% hint style="success" %}
On AOS version `ainode-v0.7.0` and above:

* CSI1 is available under `/dev/video1`, or `sensor-id 1` when using `nvarguscamerascr`
* CSI4 is available under `/dev/video2`, or `sensor-id 2` when using `nvarguscamerascr`

These are fixed, persistent, and independent from other cameras attached/detached.
{% endhint %}

{% hint style="warning" %}
On older AOS versions below`ainode-v0.7.0,` `/dev/videoX` is allocated dynamically at boot, and thus is not persistent.`sensor-id` for `nvarguscamerasrc` are also allocated dynamically:

* If both CSI1 and CSI4 are present, CSI1 is `sensor-id 1` and CSI4 is `sensor id 2`
* If only CSI1 is present, it is `sensor-id 1`
* If only CSI4 is present, it is `sensor-id 1`
  {% endhint %}

| Pin | CSI1 Function | CSI4 Function |
| --- | ------------- | ------------- |
| 1   | GND           | GND           |
| 2   | CSI1 D0 N     | CSI4 D0 N     |
| 3   | CSI1 D0 P     | CSI4 D0 P     |
| 4   | GND           | GND           |
| 5   | CSI1 D1 N     | CSI4 D1 N     |
| 6   | CSI1 D1 P     | CSI4 D1 P     |
| 7   | GND           | GND           |
| 8   | CSI1 CLK N    | CSI4 CLK N    |
| 9   | CSI1 CLK P    | CSI1 CLK P    |
| 10  | GND           | GND           |
| 11  | -             | CSI4 D2 N     |
| 12  | -             | CSI4 D2 P     |
| 13  | GND           | GND           |
| 14  | -             | CSI4 D3 N     |
| 15  | -             | CSI4 D3 P     |
| 16  | GND           | GND           |
| 17  | Camera PWDN   | Camera PWDN   |
| 18  | -             | -             |
| 19  | GND           | GND           |
| 20  | I2C SCL       | I2C SCL       |
| 21  | I2C SCA       | I2C SCA       |
| 22  | 3V3 VDD       | 3V3 VDD       |

### IO Header

[Molex connector](https://www.digikey.com/products/en?keywords=5015714007). Pinout *partially* compatible with Skynode, and can be used Pixhawk adapter board.

| Pin | Name       | Notes                                                             |
| --- | ---------- | ----------------------------------------------------------------- |
| 1   | 5V VDD     |                                                                   |
| 2   | GPIO\_11   | Linux pin #422                                                    |
| 3   | GPIO\_10   | Linux pin #417                                                    |
| 4   | GND        |                                                                   |
| 5   | SPI1\_SCK  | Linux pin #491                                                    |
| 6   | SPI1\_MOSI | Linux pin #493                                                    |
| 7   | GND        |                                                                   |
| 8   | GPIO\_CS0  | Linux pin #494                                                    |
| 9   | UART2\_TX  | <p><code>/dev/ttyTCU0</code></p><p>Debug serial, 115200 bauds</p> |
| 10  | GPIO\_12   | Linux pin #286                                                    |
| 11  | UART2\_RX  | <p><code>/dev/ttyTCU0</code></p><p>Debug serial, 115200 bauds</p> |
| 12  | SPI1\_MISO | Linux pin #492                                                    |
| 13  | 5V VDD     |                                                                   |
| 14  | GND        |                                                                   |
| 15  | 5V VDD     |                                                                   |
| 16  | GPIO\_13   | Linux pin #393                                                    |
| 17  | GND        |                                                                   |
| 18  | UART1\_TX  | `/dev/ttyTHS0`                                                    |
| 19  | I2C1\_SCL  |                                                                   |
| 20  | UART1\_RX  | `/dev/ttyTHS0`                                                    |
| 21  | I2C1\_SDA  |                                                                   |
| 22  | 5V VDD     |                                                                   |
| 23  | GND        |                                                                   |
| 24  | GND        |                                                                   |
| 25  | GPIO\_09   | Linux pin #436                                                    |
| 26  | GPIO\_04   | Linux pin #265                                                    |
| 27  | GPIO\_07   | Linux pin #424                                                    |
| 28  | GPIO\_03   | Linux pin #264                                                    |
| 29  | GPIO\_06   | Linux pin #267                                                    |
| 30  | GPIO\_02   | Linux pin #419                                                    |
| 31  | GPIO\_05   | Linux pin #266                                                    |
| 32  | GPIO\_01   | Linux pin #421                                                    |
| 33  | GND        |                                                                   |
| 34  | -          |                                                                   |
| 35  | CAN\_P     |                                                                   |
| 36  | GND        |                                                                   |
| 37  | CAN\_N     |                                                                   |
| 38  | GND        |                                                                   |
| 39  | GND        |                                                                   |
| 40  | 5V VDD     |                                                                   |

### Nextvision

To be used with NextVision cameras only. Incorporates video input and camera controls. For more details contact our sales department.
