> For the complete documentation index, see [llms.txt](https://docs.sky-pulse.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sky-pulse.org/documentation/software-and-getting-started/initial-integration.md).

# Initial integration

This guide will walk you through the physical installation, firmware flashing, and initial configuration of your Helios flight controller using the ArduPilot stack.

{% hint style="danger" %}
Before powering up the vehicle for the first time, **ensure that all propellers are removed**. Unexpected motor spins during ESC calibration or configuration can cause serious injury.
{% endhint %}

#### Hardware Overview & Wiring

Before powering the board, ensure your peripheral connections follow the [Helios pinout.](/documentation/technical-specifications/quickstart.md#flight-controller-interfaces)

* **Power Input:** Connect your Helios to a power source on your platform (BEC / Battery voltage). Helios supports up to 6S LiPo natively. \
  For 8s, please use an external filter to prevent inductive voltage spikes.
* **Battery monitor:** Battery monitors can be connected via CAN / I2C / Analog input. If you have an analog monitor, you can plug it in to the **BATT\_VOLT(24)** and **BATT\_CURR(26)** pins on the J1 connector.
* **RC Input:** Connect your receiver (SBUS/ELRS) to the RCIN port. For ELRS/CRSF, **UART6** (Serial 4 /ttyS3 is recommended)
* **ESC / Servos:** Use channels 1-8 on the Helios to connect to your ESC. If you're running an AM32 / BLHeli32 firmware based ESC, you can get telemetry data via the TELEM port on it. connect the TELEM to **UART7 (Serial5)** on the Helios. DSHOT + Telemetry is highly recommended.
* **GPS/Compass:** Connect your GNSS module to the **UART+I2C / CAN** port. The SkyNav module is recommended.

{% hint style="warning" %}
Ensure the compass orientation matches your mounting.
{% endhint %}

* **Telemetry Radio:** Communicate with your vehicle via any RF / Fiber link. Connect via **UART**. **UART2** is the default telemetry port.
* **Ethernet link:** The connection to the computer in the Helios is done via Ethernet. Use the provided RJ45 adapter in order to connect to your telemetry link. DTC / Microhard links usually give the best performance.
* **Peripheral sensors (Range finders, airspeed sensors):** Helios has a wide variety of interfaces for various sensors, you can use the **I2C, CAN, UART** and **GPIOs** in order to communicate with additional sensors or actuators.

| Physical Port | ArduPilot Serial | Default Function   | Recommended Device             |
| ------------- | ---------------- | ------------------ | ------------------------------ |
| UART2         | Serial 1         | Telemetry 1        | RF / Fiber Link                |
| UART3         | Serial2          | GPS Port           | SkyNav GPS                     |
| UART6         | Serial 4         | RC Input           | ELRS / CRSF / SBUS             |
| UART7         | Serial 5         | ESC Telemetry      | AM32 / BLHeli32                |
| Ethernet      | --               | High-speed Link    | Ground Station RF Link / Modem |
| CH1-8         | --               | PWM / DSHOT/ Relay | ESC and actuators              |
| I2C           | --               | Sensor input       | Compass, Range finder, etc     |
| CAN Bus       | --               | Sensor input / IO  | More sensors                   |

#### Mandatory Hardware Calibration

ArduPilot requires several calibrations before the safety switch can be armed.

{% hint style="danger" %}
Before doing powering up the vehicle for the first time, **ensure that there are no propellers installed!**
{% endhint %}

**Frame Type**

* Go to Setup > Mandatory Hardware > Frame Type.
* Select your configuration (e.g., Quad/X).

{% hint style="info" %}
This example is on ArduCopter but any ArduPilot firmware works
{% endhint %}

**Accelerometer & Gyro**

* Follow the on-screen prompts to calibrate the IMU.

{% hint style="warning" %}
Crucial: Ensure the board is level during the "Level" step.
{% endhint %}

**Compass**

* The compass calibration step is crucial and must be done correctly. Make sure that the compass ordering is correct (usually the external compass should be the first in order) and ensure that the compass / GPS module is aligned with the frame of the vehicle and the Helios.
* Before the calibration step, the vehicle should be completely assembled and mounted with the battery in its final mounting place. Li-Ion batteries affect compasses the most, so make sure that the compass is as far away as it can be from noisy components (for example: battery, XT connectors, ESC, power wires and radio telemetry).
* Start the calibration and move the vehicle in figure 8's / in a sphere. ensure that the calibration is done outside, not close to any metallic objects.&#x20;
* You should see a green bar rising (or more than one bar, depending on the number of compasses you have). When it finishes, you'll get a fitness grading number. Ideally this number should be less than 15 for normal flight, less than 10 is good, and less than 5 is great. If the fitness you get is higher than that, place your compass in a different location / mount it higher on the vehicle.
* If the green bar resets, the compass reading is too noisy and you should move to a different location / place the compass farther away from the frame of the vehicle.

**Radio & ESCs**

* Calibrate your RC ranges.
* Configure your ESCs via the BLHeli / AM32 configurator
