# Interfaces

<figure><img src="https://3329189600-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFW1Ge1p1f6WHyiYCb146%2Fuploads%2Fgit-blob-90b1f023f7973ff5e8667e961d46540b31a880d5%2FAuterion%20Skynode%20S%20-%20Ports.svg?alt=media" alt=""><figcaption><p>Skynode S connectors</p></figcaption></figure>

## Connectors

<table><thead><tr><th width="179">Name</th><th width="189">Connector</th><th>Description</th></tr></thead><tbody><tr><td><a href="#usb-c">USB-C</a></td><td>USB Type-C</td><td>General purpose USB 2.0 port</td></tr><tr><td><a href="#usb-2">USB 2</a></td><td><p>JST GH 7-pin</p><p>SM07B-GHS-TB</p></td><td>Host mode only USB 2 port</td></tr><tr><td><a href="#mipi-csi">CSI 0 and 1</a></td><td>2x MIPI-CSI (4 lanes)</td><td>Standard MIPI camera interface,<br>Raspberry Pi camera-compatible</td></tr><tr><td><a href="#esc">ESC</a></td><td>JST SH 8-pin<br>SM08B-SRSS-TB</td><td>Power supply and ESC control</td></tr><tr><td><a href="#gps">GPS</a></td><td><p>JST GH 6-pin</p><p>SM06B-GHS-TB</p></td><td>External GPS and Compass</td></tr><tr><td><a href="#extras-1">EXTRAS 1</a></td><td><p>JST GH 10-pin</p><p>SM10B-GHS-TB</p></td><td>FMU connections: CAN, UART, Analog, Timers</td></tr><tr><td><a href="#extras-2">EXTRAS 2</a></td><td><p>JST GH 12-pin</p><p>SM12B-GHS-TB</p></td><td>Linux GPIO/SPI and FMU auxillery PWM</td></tr></tbody></table>

## USB C

The USB Type C connector has one USB3.0 (5Gpbs) and one USB2.0 (480Mbps) routed. The USB-C connector is fully reversible for USB2.0 speeds, however, for USB3.0 only one orientation is supported.

## USB 2

The connector has 7 pins to avoid accidental connection with the GPS port. The extra power pins allow for more current to be supplied from 5V.

<table><thead><tr><th width="96">Pin</th><th width="144">Name</th><th width="104">Direction</th><th width="74">Level</th><th>Function</th></tr></thead><tbody><tr><td>1</td><td>5V_EXT</td><td>OUT</td><td>5V</td><td></td></tr><tr><td>2</td><td>5V_EXT</td><td>OUT</td><td>5V</td><td></td></tr><tr><td>3</td><td>D-</td><td>I/O</td><td>5V</td><td>USB2 host mode</td></tr><tr><td>4</td><td>D+</td><td>I/O</td><td>5V</td><td>USB2 host mode</td></tr><tr><td>5</td><td>GND</td><td></td><td></td><td></td></tr><tr><td>6</td><td>GND</td><td></td><td></td><td></td></tr><tr><td>7</td><td>GND</td><td></td><td></td><td></td></tr></tbody></table>

{% hint style="info" %}
USB 2 supports speed up to 480Mbps in **host mode** only.
{% endhint %}

## MIPI-CSI

22 pin 0.5mm ribbon cable, RPi camera compatible.

<table><thead><tr><th width="75">Pin</th><th>CSI0 Function</th><th>CSI1 Function</th></tr></thead><tbody><tr><td>1</td><td>3.3V</td><td>3.3V</td></tr><tr><td>2</td><td>I2C4 SDA</td><td>I2C3 SDA</td></tr><tr><td>3</td><td>I2C4 SCL</td><td>I2C3 SCL</td></tr><tr><td>4</td><td>GND</td><td>GND</td></tr><tr><td>5</td><td>CSI0 LED</td><td>CSI1 LED</td></tr><tr><td>6</td><td>CSI Enable (shared with CSI1)</td><td>CSI Enable (shared with CSI0)</td></tr><tr><td>7</td><td>GND</td><td>GND</td></tr><tr><td>8</td><td>CSI0 D3 P</td><td>CSI1 D3 P</td></tr><tr><td>9</td><td>CSI0 D3 N</td><td>CSI1 D3 P</td></tr><tr><td>10</td><td>GND</td><td>GND</td></tr><tr><td>11</td><td>CSI0 D2 P</td><td>CSI1 D2 P</td></tr><tr><td>12</td><td>CSI0 D2 N</td><td>CSI1 D2 N</td></tr><tr><td>13</td><td>GND</td><td>GND</td></tr><tr><td>14</td><td>CSI0 CLK P</td><td>CSI1 CLK P</td></tr><tr><td>15</td><td>CSI0 CLK N</td><td>CSI1 CLK N</td></tr><tr><td>16</td><td>GND</td><td>GND</td></tr><tr><td>17</td><td>CSI0 D1 P</td><td>CSI1 D1 P</td></tr><tr><td>18</td><td>CSI0 D1 N</td><td>CSI1 D1 N</td></tr><tr><td>19</td><td>GND</td><td>GND</td></tr><tr><td>20</td><td>CSI0 D0 P</td><td>CSI1 D0 P</td></tr><tr><td>21</td><td>CSI0 D0 N</td><td>CSI1 D0 N</td></tr><tr><td>22</td><td>GND</td><td>GND</td></tr></tbody></table>

## ESC

The connector pinout is the same as the BLHeli\_S ESC pinout. For other ESCs, you need an adapter cable!

<table><thead><tr><th width="78" data-type="number">Pin</th><th width="144">Name</th><th width="104">Direction</th><th width="74">Level</th><th>Function</th></tr></thead><tbody><tr><td>1</td><td>TELEMETRY</td><td>IN</td><td>3.3V</td><td>Digital telemetry input based on UART</td></tr><tr><td>2</td><td>CURRENT</td><td>IN</td><td>3.3V</td><td>Analog current measurement</td></tr><tr><td>3</td><td>PWM1</td><td>OUT</td><td>3.3V</td><td>Motor 1</td></tr><tr><td>4</td><td>PWM2</td><td>OUT</td><td>3.3V</td><td>Motor 2</td></tr><tr><td>5</td><td>PWM3</td><td>OUT</td><td>3.3V</td><td>Motor 3</td></tr><tr><td>6</td><td>PWM4</td><td>OUT</td><td>3.3V</td><td>Motor 4</td></tr><tr><td>7</td><td>VBAT</td><td>IN</td><td>≤36V</td><td>Battery input</td></tr><tr><td>8</td><td>GND</td><td></td><td></td><td></td></tr></tbody></table>

All PWM pins can be configured to output PWM, OneShot, or DShot protocol in PX4. The order can be freely defined in software.

The analog current measurement is limited to the 0-3.3V range, however, the pin will survive higher voltages up to 12V.

## GPS

The connector pinout is the same as for most GPS receivers.

<table><thead><tr><th width="78" data-type="number">Pin</th><th width="144">Name</th><th width="104">Direction</th><th width="74">Level</th><th>Function</th></tr></thead><tbody><tr><td>1</td><td>5V_EXT</td><td>OUT</td><td>5V</td><td>5V power supply</td></tr><tr><td>2</td><td>UART8_TX</td><td>OUT</td><td>3.3V</td><td>GPS1 TX</td></tr><tr><td>3</td><td>UART8_RX</td><td>IN</td><td>3.3V</td><td>GPS1 RX</td></tr><tr><td>4</td><td>I2C1_SCL</td><td>I/O</td><td>3.3V</td><td>I2C for external compass</td></tr><tr><td>5</td><td>I2C1_SDA</td><td>I/O</td><td>3.3V</td><td>I2C for external compass</td></tr><tr><td>6</td><td>GND</td><td></td><td></td><td></td></tr></tbody></table>

Connected GPS and external compass are automatically recognized on boot.

{% hint style="info" %}
I2C lines are pulled up with 2kΩ in Skynode. External pullups should not be added.
{% endhint %}

## EXTRAS 1

All functions are connected to the FMU only and configured via PX4.

<table><thead><tr><th width="78" data-type="number">Pin</th><th width="144">Name</th><th width="104">Direction</th><th width="74">Level</th><th>Function</th></tr></thead><tbody><tr><td>1</td><td>5V_EXT</td><td>OUT</td><td>5V</td><td>5V power supply</td></tr><tr><td>2</td><td>3V3_EXT</td><td>OUT</td><td>3.3V</td><td>3.3V power supply<sup>1</sup></td></tr><tr><td>3</td><td>PWM9</td><td>IN</td><td>3.3V</td><td>Auxilary PWM5 or analog input<sup>2</sup></td></tr><tr><td>4</td><td>RC_IN</td><td>IN</td><td>3.3V</td><td>RC input</td></tr><tr><td>5</td><td>UART3_TX</td><td>OUT</td><td>3.3V</td><td>TELEM2 TX</td></tr><tr><td>6</td><td>UART3_RX</td><td>IN</td><td>3.3V</td><td>TELEM2 RX</td></tr><tr><td>7</td><td>PWM10</td><td>IN</td><td>3.3V</td><td>Auxilary PWM6 or PPS input<sup>3</sup></td></tr><tr><td>8</td><td>CAN1 H</td><td>I/O</td><td>5V</td><td>CAN1 high</td></tr><tr><td>9</td><td>CAN1 L</td><td>I/O</td><td>5V</td><td>CAN1 low</td></tr><tr><td>10</td><td>GND</td><td></td><td></td><td></td></tr></tbody></table>

1: Use this power rail only for supplying IO voltage levels. It may only be available several seconds after the 5V power supply is available.

2: This pin can only provide PWM 50-400Hz. To use it as an analog input, set the parameter  `PWM_MAIN_TIM2`  to `-2`. The analog value gets published in the uORB message `adc_report.raw_data[4]` . The maximum input voltage must not exceed 3.3V!

3: This pin can only provide PWM 50-400Hz. To use it as a PPS input, set the parameter `PWM_MAIN_TIM3` to `-2` and `PWM_MAIN_FUNC10` to `2064`.

{% hint style="info" %}
The CAN pins include an internal 120Ω bus termination.
{% endhint %}

## EXTRAS 2

The PWM functions are connected to the FMU only and configured via PX4.

The GPIO and UART (or SPI\*) signals are connected to the mission computer.

<table><thead><tr><th width="78" data-type="number">Pin</th><th width="157">Name</th><th width="104">Direction</th><th width="74">Level</th><th>Function</th></tr></thead><tbody><tr><td>1</td><td>5V_EXT</td><td>OUT</td><td>5V</td><td>5V power supply</td></tr><tr><td>2</td><td>GPIO0</td><td>I/O</td><td>3.3V</td><td>Controlled by Linux: Bank 0, Gpio 0</td></tr><tr><td>3</td><td>GPIO1</td><td>I/O</td><td>3.3V</td><td>Controlled by Linux: Bank 0, Gpio 1</td></tr><tr><td>4</td><td>UART3_CTS (SPI1_MISO<sup>1</sup>)</td><td>IN</td><td>3.3V</td><td>Controlled by Linux: UART3 or SPI1 Input<sup>1</sup></td></tr><tr><td>5</td><td>UART3_TX (SPI1_MOSI<sup>1</sup>)</td><td>OUT</td><td>3.3V</td><td>Controlled by Linux: UART3  or SPI1 Output<sup>1</sup></td></tr><tr><td>6</td><td>UART3_RX (SPI1_CLK<sup>1</sup>)</td><td>I/O</td><td>3.3V</td><td>Controlled by Linux: UART3 Input or SPI1 Clock<sup>1</sup></td></tr><tr><td>7</td><td>UART3_RTS (SPI1_CS<sup>1</sup>)</td><td>OUT</td><td>3.3V</td><td>Controlled by Linux: UART3 or SPI1 Chip Select<sup>1</sup></td></tr><tr><td>8</td><td>PWM5</td><td>I/O</td><td>3.3V</td><td>Auxilary PWM1</td></tr><tr><td>9</td><td>PWM6</td><td>I/O</td><td>3.3V</td><td>Auxilary PWM2</td></tr><tr><td>10</td><td>PWM7</td><td>I/O</td><td>3.3V</td><td>Auxilary PWM3</td></tr><tr><td>11</td><td>PWM8</td><td>I/O</td><td>3.3V</td><td>Auxilary PWM4</td></tr><tr><td>12</td><td>GND</td><td>I/O</td><td></td><td></td></tr></tbody></table>

All PWM pins can be configured to output PWM, OneShot, or DShot protocol in PX4. The order can be freely defined in software.

1: UART and SPI are mutually exclusive features, meaning only one can be active at a time. UART is enabled by default. To switch to SPI, a specific device tree overlay must be applied.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.auterion.com/hardware-integration/skynode-s/interfaces.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
