# Mandatory Hardware Basic Configuration

The following section explains the basic configurations that need to be made on the mandatory hardware. For more advanced configurations, refer to the ArduPilot documentation: <https://ardupilot.org/ardupilot/>.

## Calibrating the Accelerometer&#x20;

To calibrate the accelerometer, complete the following steps:

1. Open Mission Planner.
2. Click **Setup ->** **Mandatory Hardware ->** **Accel Calibration**.&#x20;
3. Click **Calibrate Accel**.
4. Place the unmanned aerial vehicle (UAV) level to the ground; then, click **Click when Done**.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-Lvs_E48ctybzMwiy6A2%2F-LvseJ2PTQG5mddfvV5F%2FPhoto%20-%2010.jpg?alt=media\&token=14928ad6-3b7f-4d59-980e-e250a6c75d35)

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2F0blqb67bh8zNgT1SG7Wy%2FScreenshot%202024-10-28%20162142.png?alt=media&#x26;token=c6de6f23-1b16-41af-a186-fb31e15e7725" alt=""><figcaption></figcaption></figure>

5. Place the UAV with the nose pointing to the front and the left side touching the ground; then, click **Click when Done**.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-Lvs_E48ctybzMwiy6A2%2F-Lvsf_0GcWqPNmwycYNs%2FPhoto%20-%2012.jpg?alt=media\&token=3b517f73-b26b-4a5d-ae5e-75c01b649465)

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2Feg8rw4VbwfFIxRSk33yP%2FScreenshot%202024-10-28%20162643.png?alt=media&#x26;token=b7cb768e-8d87-4358-8c1d-8e2c6d0b11e0" alt=""><figcaption></figcaption></figure>

6. Place the UAV with the nose pointing to the back and the right side touching the ground; then, click **Click when Done**.

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2F98jPlblycCs4vL1KTgwn%2FPhoto%20-%2012.jpg?alt=media&#x26;token=13278ded-013c-4cf9-b6fd-4a6028c877d4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FlUxGXWnTMOiyLt8KRrxb%2FScreenshot%202024-10-28%20163016.png?alt=media&#x26;token=a336001e-a5fd-44f4-8970-7cc93496b9f5" alt=""><figcaption></figcaption></figure>

7. Place the UAV with the nose touching the ground; then, click **Click when Done**.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-Lvs_E48ctybzMwiy6A2%2F-Lvsg6efnCVBAu8XYSeS%2FPhoto%20-%2014.jpg?alt=media\&token=6459f4f5-e479-4fb4-a3a6-0015a3603a68)

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2Fo8aeil8GXeiNe1O5ilpf%2FScreenshot%202024-10-28%20163127.png?alt=media&#x26;token=26ff0bea-64c7-4693-92e1-c3710f81a8fb" alt=""><figcaption></figcaption></figure>

8. Place the UAV with the nose pointing upward; then, click **Click when Done**.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-Lvs_E48ctybzMwiy6A2%2F-LvsgX8FWk9Nz0kxe727%2FPhoto%20-%2016.jpg?alt=media\&token=f163f01c-65cc-4408-bd1e-ca1873d30891)

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FGBplVvLZventDZ4nXp5O%2FScreenshot%202024-10-28%20163302.png?alt=media&#x26;token=dd18d30a-3d67-4cf9-85d2-bfcdedf354e3" alt=""><figcaption></figcaption></figure>

9. Place the UAV with the nose pointing downwards; then, click **Click when Done**.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-Lvs_E48ctybzMwiy6A2%2F-Lvsgp2ymn9MHs4-DGXV%2FPhoto%20-%2018.jpg?alt=media\&token=d11b895c-5cd4-45f6-80da-0cf948cdebc3)

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FGigAqFRn7ZhqsVaNBAKs%2FScreenshot%202024-10-28%20164605.png?alt=media&#x26;token=5ae52054-6624-4f50-bcda-78897be315bd" alt=""><figcaption></figcaption></figure>

10. Verify that "**Calibration successful**" is shown.

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2F6m5UoaYeZAYY1eCZfUwh%2FScreenshot%202024-10-28%20164735.png?alt=media&#x26;token=ffca17d1-aa4d-4a8e-b6e6-7bccf9373086" alt=""><figcaption></figcaption></figure>

For more details on how to minimize the magnetic interference and improve the compass performance, refer to [http://ardupilot.org/copter/docs/common-magnetic-interference.html#common-magnetic-interference](https://ardupilot.org/copter/docs/common-magnetic-interference.html#common-magnetic-interference)

## Calibrating the Accelerometer Level

To calibrate the accelerometer level, complete the following steps:

1. Open Mission Planner.
2. Click **Setup** -> **Mandatory Hardware** -> **Accel Calibration**.
3. Place the vehicle level to the ground and click **Calibrate Level**.&#x20;
4. Verify that "**Completed**" is shown.

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2Fo1WINia2yHPOCk5jKXaQ%2FScreenshot%202024-10-28%20165257.png?alt=media&#x26;token=9fb32cf5-1337-4534-9213-1c807e11db4a" alt=""><figcaption></figcaption></figure>

## Calibrating the Accelerometer Scale Factors

To calibrate the accelerometer scale factors, complete the following steps:

1. Click **Setup** -> **Mandatory Hardware** -> **Accel Calibration.**
2. Place the vehicle level to the ground and click **Simple Accel Cal**.&#x20;
3. Verify that "**Completed**" is shown.

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FzWZDab0VyXZ4hyVUGafY%2FScreenshot%202024-10-28%20165428.png?alt=media&#x26;token=67ab2104-dded-48b8-9607-fc8975f30bde" alt=""><figcaption></figcaption></figure>

## Calibrating the Compass

To calibrate the compass, complete the following steps:

1. Click **Setup** -> **Mandatory Hardware** -> **Compass.**
2. Select the priority for the three different compasses by clicking the up and down arrows.
3. Click **Start** to calibrate the compasses.&#x20;
4. Hold the UAV in the air and slowly rotate it so that each side—front, back, left, right, top, and bottom—faces the ground for a few seconds. As the UAV is rotated, the green bars on the display begin to extend to the right.&#x20;

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2Fo84BbEjuEO513Ope04CQ%2FScreenshot%202024-10-28%20170054.png?alt=media&#x26;token=8c20b1d6-4c22-4252-9fb7-482b5d4e1011" alt=""><figcaption></figcaption></figure>

5. Continue rotating the UAV until "**Success"** is shown. A rising tone will be emitted.&#x20;

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FN1PDrOqErewk4nfdFMgZ%2FScreenshot%202024-10-28%20170442.png?alt=media&#x26;token=2b9079f0-ffe7-404e-a2da-6f1532354b91" alt=""><figcaption></figcaption></figure>

7. When the “**Please reboot the autopilot**” window appears, click **OK**. The autopilot needs to be rebooted before the UAV can be armed. &#x20;

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-Lvs_E48ctybzMwiy6A2%2F-LvsjQyT5au3FSHTrFl5%2FPhoto%20-%2023.jpg?alt=media\&token=ff6e6975-16b8-4243-ae69-edd48d59e972)

{% hint style="info" %}
If the compass cannot be calibrated, click **Cancel.** Then, click the **Fitness** drop-down menu and select a more relaxed setting to try again.
{% endhint %}

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FiQQueJHGHwkDfXP6Ayjp%2FScreenshot%202024-10-28%20170720.png?alt=media&#x26;token=2f5eebe3-8736-4c9a-8639-19af7099d22e" alt=""><figcaption></figcaption></figure>

## Calibrating the Radio Control

To calibrate the radio control, complete the following steps:

1. Open Mission Planner.
2. Click **Setup** -> **Mandatory Hardware** -> **Radio Calibration**.
3. Connect the RC receiver to the RCIN port on The Cube and turn on the RC transmitter.&#x20;
4. Verify that the receiver displays a solid green light, which indicates a successful connection with the transmitter, and ensure the transmitter is set to the correct UAV.
5. Verify that the green bars move when adjusting the transmitter sticks.
6. When completed, click **Click when Done**.

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FXPTrYLMLoPEO2fmCvI8f%2FScreenshot%202024-10-28%20171415.png?alt=media&#x26;token=a06ae969-74f1-4fd9-a8c6-78169cbe66ee" alt=""><figcaption></figcaption></figure>

## Calibrating the Electronic Speed Controller (ESC)

To calibrate the ESC, complete the following steps:

{% hint style="danger" %}
Before calibrating the ESC, ensure the following:

* No props on the UAV.&#x20;
* The Cube is not connected to the GCS via a USB cable.
* The LiPo battery is disconnected.
  {% endhint %}

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-LvsnLAdS5rY7VoXLWmY%2F-LvsofJHOqy4exmLhM9b%2FPhoto%20-%2027.jpg?alt=media\&token=29e60929-664c-4529-9547-9f4f88bf7ca9)

1. Turn on the transmitter and adjust the throttle stick to maximum.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-LvsnLAdS5rY7VoXLWmY%2F-Lvsp5FImeq9i9BKPh1q%2FPhoto%20-%2028.jpg?alt=media\&token=25de7853-a240-4be4-b44c-43596f528305)

2. Connect the LiPo battery to the power module.  When connected, The Cube's red, blue, and yellow LEDs will light up in a cyclical pattern.&#x20;

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-LvsnLAdS5rY7VoXLWmY%2F-LvspoJ9vXtH6T4XOPTb%2FPhoto%20-%2029.jpg?alt=media\&token=9b25de51-1e94-4260-9c65-421fab1e5140)

3. With the transmitter throttle stick still adjusted to high, disconnect and reconnect the battery.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-LvsnLAdS5rY7VoXLWmY%2F-LvspzwlvGtaJOjWB5ix%2FPhoto%20-%2030.jpg?alt=media\&token=0ee37d63-c200-45a2-9d3f-4360230ee9a7)

4. Press and hold the safety button until it displays a solid red color. The autopilot is now in ESC calibration mode. The red and blue LEDs will blink on and off.
5. Wait for the ESCs to emit a musical tone -> a series of beeps indicating the battery cell count (e.g., 3 beeps for 3S, 4 beeps for 4S), followed by two additional beeps to confirm maximum throttle capture.
6. Adjust the transmitter’s throttle stick to minimum. The ESCs will emit a long tone indicating the minimum throttle has been captured and the calibration is complete.

![](https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUhw7cdLeWVORgnTA3i%2F-LvsnLAdS5rY7VoXLWmY%2F-LvsrNA8eQuqG946QD_9%2FPhoto%20-%2031.jpg?alt=media\&token=0f27acbd-3d6c-4c13-9c82-a360b5ad3e42)

7. Verify a long tone is emitted, which indicates the ESCs are “live” now.&#x20;
8. Test if the motors can spin by slightly raising the throttle and then lowering it.
9. Set the throttle to minimum and disconnect the battery to exit the ESC-calibration mode.

## Configuring the Flight Mode

The flight mode channel (default is channel 5) is the input radio channel that ArduPilot monitors for mode changes.&#x20;

To change the channel number, complete the following steps:

1. Open Mission Planner.
2. Click **Config** -> **Full Parameter List**
3. Adjust the FLTMODE-CH parameter.

To configure the flight mode, complete the following steps:

1. Open Mission Planner.
2. Click **Setup** -> **Flight Modes**.
3. Toggle the corresponding button to the desired flight mode position.
4. Move the transmitter’s flight mode switch and observe the green bar moving to a new position.
5. When finished, click **Save**.

A total of six autopilot/flight modes can be enabled from the RC transmitter.

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FmUNFBVyrvdzzDphTyIpL%2Fflight%20mode.png?alt=media&#x26;token=ae3b4885-c4ae-41e8-933f-74ef44363a78" alt=""><figcaption></figcaption></figure>

See below for a brief description of the different flight modes. For a more detailed explanation, refer to the ArduPilot documentation:

* <https://ardupilot.org/plane/docs/flight-modes.html>
* <https://ardupilot.org/copter/docs/flight-modes.html>

| **Manual**                                                                                        | **Circle**                                                                                     | **Stabilize**                                                                  |
| ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Manual control surface movement, passthrough                                                      | Automatically circles a point in front of the UAV.                                             | Self-levels the roll and pitch axis.                                           |
| **Training**                                                                                      | **Acro**                                                                                       | **FBWA**                                                                       |
| Manual control up to roll and pitch limits                                                        | Holds attitude, no self-level.                                                                 | Roll and pitch follow stick input, up to set limits                            |
| **FBWB**                                                                                          | **Cruise**                                                                                     | **Autotune**                                                                   |
| Like FBWA, but with automatic height and speed control                                            | Like FBWB, but with ground course tracking                                                     | Automated pitch and bank procedure to improve control loops                    |
| **Auto**                                                                                          | **RTL (Return to Launch)**                                                                     | **Loite**r                                                                     |
| Executes pre-defined mission                                                                      | Returns above takeoff location, may also include landing                                       | Holds altitude and position, uses GPS for movements                            |
| **Takeoff**                                                                                       | **Avoid ADSB**                                                                                 | **Guided**                                                                     |
| Automatic takeoff to specific altitude, and loiter at distance from takeoff until mode is changed | Avoid manned vehicles based on the ADS-B sensor's output.                                      | Navigates to single points commanded by GCS                                    |
| **Qstabilize**                                                                                    | **Qhover**                                                                                     | **Qloiter**                                                                    |
| Allows the UAV to be flownmanually, but self-levels the roll and pitch axis.                      | Maintains a consistent altitude while allowing roll, pitch, and yaw to be controlled normally. | Automatically attempts to maintain the current location, heading and altitude. |
| **Qland**                                                                                         | **QRTL**                                                                                       | **Qautotune**                                                                  |
| Attempts to bring the UAV straight down for landing.                                              | Navigates UAV from its current position to hover above the home position and then land.        | Supports autotuning PIDs.                                                      |
| **Qacro**                                                                                         | **Thermal**                                                                                    | **Loiter to Qland**                                                            |
| For advanced users that provides rate based stabilization.                                        | Mode entered to search for thermal lift by SOARING feature or manually if lift is encountered. | Performs a descending down action and then switches to QLand mode.             |
| **Initializing**                                                                                  |                                                                                                |                                                                                |
| Initializes the flight mode.                                                                      |                                                                                                |                                                                                |

## Configuring the Servo Connection

The servo rail is not powered by The Cube. Therefore, an external BEC or ESC that can provide 5V is needed.

To configure the control channels for the servos, complete the following steps:

1. Open Mission Planner
2. Click **Setup** -> **Mandatory Hardware** -> **Servo Output**.
3. Adjust the parameters based on the requirements.&#x20;

<figure><img src="https://3175993181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhw7cdLeWVORgnTA3i%2Fuploads%2FVLQzpSnjB0GrNYkjgD5a%2FScreenshot%202024-11-06%20114809.png?alt=media&#x26;token=21db176d-0c4d-48e1-b1d5-79c3eb7bfb44" alt=""><figcaption></figcaption></figure>
