# 3rd party controller setup

This is a quick start up guide to setup a 3rd party controller for our Patron FPV, such as the PS4 controller. Any 3rd party controller recognized by QGC can be used to pilot the drone.

{% hint style="info" %}
In the following tutorial is used **PS4 controller** as an example.
{% endhint %}

In the following picture you can find recommended layout of controls to fly FPV.

<figure><img src="/files/PZprET4eTDM9Oq2nmIQK" alt=""><figcaption><p>PS4 controller setup controls</p></figcaption></figure>

## 3rd party controller setup

Recommended button action bindings:

<table><thead><tr><th width="101">Button</th><th>Action</th><th width="95">Button</th><th>Action</th></tr></thead><tbody><tr><td><strong>(1)</strong></td><td>Throttle and Yaw</td><td><strong>(7)</strong></td><td>Zoom in</td></tr><tr><td><strong>(2)</strong></td><td>Pitch and Roll</td><td><strong>(8)</strong></td><td>Zoom out</td></tr><tr><td><strong>(3)</strong></td><td>Arm</td><td><strong>(9)</strong></td><td>Emergency stop</td></tr><tr><td><strong>(4)</strong></td><td>Land</td><td><strong>(10)</strong></td><td>Emergency stop</td></tr><tr><td><strong>(5)</strong></td><td>Loiter</td><td><strong>(11)</strong></td><td><em>unused (customizable)</em></td></tr><tr><td><strong>(6)</strong></td><td>Altitude Hold</td><td><strong>(12)</strong></td><td><em>unused (customizable)</em></td></tr></tbody></table>

To bind controller buttons to actions please follow these steps:

{% stepper %}
{% step %}
**Connect the controller to the PC**

Connect the 3rd party controller to the PC according to the controller's manual. In our setup, PS4 controller should be automatically recognized by operating system and QGC.
{% endstep %}

{% step %}
**Assign actions to controller buttons**

1. Click on the Airvolute icon in the top left corner.
2. Choose **Vehicle Setup**.
3. Open **Joystick** in the menu on the left side. (Joystick menu is present only when controller is recognized)
4. Open the **Button Assignment** tab.
5. **Assign actions** to controller buttons from the drop down menus for every button.

<figure><img src="/files/Wza86qSFF9rToWg5Da1Z" alt=""><figcaption><p>Step 1: Open settings.</p></figcaption></figure>

<figure><img src="/files/mphMmqlNDA9XMQzx4ii1" alt=""><figcaption><p>Step 2: Open Vehicle Setup.</p></figcaption></figure>

<figure><img src="/files/78GfE63cBDEXeod4LmKa" alt=""><figcaption><p>Step 3: Open Joystick.</p></figcaption></figure>

<figure><img src="/files/lF6mqkQ5Wyu2eOkXfLca" alt=""><figcaption><p>Step 4 and 5: Open Button Assignment and assign actions to buttons.</p></figcaption></figure>
{% endstep %}

{% step %}
**Calibrate the controller**

1. Click on the Airvolute icon in the top left corner.
2. Choose **Vehicle Setup**.
3. Open **Joystick** in the menu on the left hand side
4. Open the **Calibration** tab.
5. Click **Start** and follow the calibration process.
   {% endstep %}
   {% endstepper %}

The 3rd party controller should now be able to control the Digital Patron FPV.


---

# 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.airvolute.com/uas-platforms/patron-fpv/patron-fpv-user-manual/digital-patron-fpv/getting-started/rc-transmitter-setup.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.
