# Flight Controller Shell

The following instructions require a network connection to Skynode for development purposes as described on Skynode's page [USB-C Network Connection](/hardware-integration/skynode/advanced-configuration/connecting-to-skynode.md).

## MAVLink Shell on Skynode

MAVLink Shell can be used to connect to the autopilot running inside the Skynode.

{% hint style="danger" %}
Using the PX4 shell (NuttX shell) is for advance developers only. Certain PX4 shell commands available in the MAVLink shell can make the propellers spin and therefore cause harm to people. These commands include, but are not limited to:

* Arming the drone
* Manually setting PWM outputs
* Running motor tests
* Modification of PWM parameters
* Forcing the failsafe on, causing parachute deployment
  {% endhint %}

## SSH into AuterionOS

## When to use MAVLink Shell

The MAVLink Shell connects directly to PX4's NuttX shell through the means of mavlink messaging. It allows a developer to interact with PX4's low-level commands such as starting / stopping drivers or inspecting uORB messages in real-time. See the PX4 documentation for more details on the [MAVLink Shell](https://docs.px4.io/main/en/debug/mavlink_shell.html#mavlink-shell).

## When not to use MAVLink Shell

* The MAVLink shell does not allow users or developers to send any MAVLink commands.
* The MAVLink shell does not give users or developers access to the Skynode mission computer. For that purpose set up an SSH connection as described in [SSH Access](/hardware-integration/auterionos-system-guide/connecting-to-skynode.md).

## Accessing MAVLink Shell in AMC

When connected to a drone, AMC can be used to open a mavlink shell, which effectively exposes PX4's nuttx shell and allows direct interaction with the flight controller.

In order to access the mavlink shell, activate the [advanced mode in AMC](/hardware-integration/flight-controller-customization/amcs-advanced-mode.md) by quickly tapping the menu icon multiple times.

To access the MAVLink shell, open the side-panel on the left and navigate to `Analyze` -> `MAVLink Console`. The `Analyze` tab is only visible in advanced mode:

![](/files/uEKscE0aHFjSbTNUQxLh)

## Accessing MAVLink Shell via SSH

It is also possible to use MAVLink shell without AMC while [connected via SSH](/hardware-integration/auterionos-system-guide/connecting-to-skynode.md). In order to do so, open an SSH connection to the mission computer and then run the following command. This is a python script that is globally available in AuterionOS:

```bash
# Connect to Skynode
ssh root@10.41.1.1
```

And in case of AI node simply change the IP address:

```bash
# Connect to AI Node
ssh root@10.41.2.1
```

```shell
mavlink_shell.py udp:127.0.0.1:14551
```


---

# 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/flight-controller-customization/flight-controller-shell.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.
