> For the complete documentation index, see [llms.txt](https://docs.auterion.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.auterion.com/app-development.md).

# App development

- [Getting Started](https://docs.auterion.com/app-development/app-development.md): The aim of this documentation is to guide you through all necessary steps to successfully develop, deploy and integrate your applications for Auterion powered drones.
- [Development environment Setup](https://docs.auterion.com/app-development/app-development/application-development.md): Follow the below listed instructions to easily set up your development environment.
- [Connecting to a device](https://docs.auterion.com/app-development/app-development/connecting-to-a-device.md): This short guide shows how to connect to a device, select it and list the applications installed on it.
- [Application Development](https://docs.auterion.com/app-development/app-development/application-development-1.md): Workflow to build and install an app on AuterionOS
- [App Framework](https://docs.auterion.com/app-development/app-framework.md)
- [Building your First App](https://docs.auterion.com/app-development/app-framework/app-framework.md): Structure of the app meta file, and how to build the app
- [Apps API](https://docs.auterion.com/app-development/app-framework/app-framework-1.md)
- [Sensor Data](https://docs.auterion.com/app-development/app-framework/sensor-data.md): Accessing live sensor data from the flight controller (FMU)
- [Video Streams](https://docs.auterion.com/app-development/app-framework/payload-manager.md)
- [Photos](https://docs.auterion.com/app-development/app-framework/photos.md)
- [Hardware Peripherals](https://docs.auterion.com/app-development/app-framework/peripherals-hardware.md)
- [Persistent Storage](https://docs.auterion.com/app-development/app-framework/file-storage.md)
- [MAVLink](https://docs.auterion.com/app-development/app-framework/communicating-with-the-autopilot.md): Mavlink Communication with the Autopilot and other systems that use the MAVLink protocol
- [Native Docker Compose](https://docs.auterion.com/app-development/app-framework/compose-override.md): Compose override allows the use of native docker compose directives
- [App Parameters](https://docs.auterion.com/app-development/app-framework/app-settings.md)
- [Mountsets](https://docs.auterion.com/app-development/app-framework/mountsets.md)
- [Log App Data to Auterion Suite](https://docs.auterion.com/app-development/app-framework/logging.md)
- [How to log Time Series Data](https://docs.auterion.com/app-development/app-framework/logging/logging-ros2-messages.md)
- [How to log basic Text Output](https://docs.auterion.com/app-development/app-framework/logging/logging-text-output.md)
- [How to store an App's Binary Data on Skynode](https://docs.auterion.com/app-development/app-framework/logging-arbitrary-data-persistently.md)
- [User Web Interfaces](https://docs.auterion.com/app-development/app-framework/user-interfaces-web.md)
- [Build Arguments](https://docs.auterion.com/app-development/app-framework/build-arguments.md): Use build arguments to modify the app or its behaviour during build time
- [Debugging apps with SSH](https://docs.auterion.com/app-development/app-framework/ssh-access.md): Get SSH access to your app
- [Debugging Apps with gdb](https://docs.auterion.com/app-development/app-framework/debugging-apps-with-gdb.md)
- [PX4 Messages in ROS 2](https://docs.auterion.com/app-development/app-framework/px4-messages-in-ros-2.md): Interact with uORB messages in APX4 using ROS 2
- [DDS / ROS2 Configuration](https://docs.auterion.com/app-development/app-framework/dds-ros2-configuration.md): For the inter-process communication between FMU and apps or app to app, AOS applies DDS/ROS2 as a middleware/framework. This page describes default configurations and possible points of modification.
- [Structuring Applications with Multiple Services](https://docs.auterion.com/app-development/app-framework/structuring-applications-with-multiple-services.md): Best practices guide on how to structure larger applications consisting of multiple services efficiently and optimize storage requirements
- [Auterion SDK](https://docs.auterion.com/app-development/auterion-sdk.md)
- [Installation](https://docs.auterion.com/app-development/auterion-sdk/installation.md)
- [Write Your First App](https://docs.auterion.com/app-development/auterion-sdk/write-your-first-app.md)
- [SDK API](https://docs.auterion.com/app-development/auterion-sdk/sdk-api.md)
- [Flight Mode API](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api.md)
- [Flight Mode API](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/flight-mode-api.md)
- [Multicopter Modes](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/multicopter-modes.md)
- [Dynamics in Body Frame](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/multicopter-modes/dynamics-in-body-frame.md)
- [Dynamics in Local Frame](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/multicopter-modes/dynamics-in-local-frame.md)
- [Go-To in Local Frame](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/multicopter-modes/go-to-in-local-frame.md)
- [Fixed Wing Modes](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/fixed-wing-modes.md)
- [Dynamics Control](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/fixed-wing-modes/dynamics-control.md)
- [Guidance Control](https://docs.auterion.com/app-development/auterion-sdk/flight-mode-api/fixed-wing-modes/guidance-control.md)
- [System State API](https://docs.auterion.com/app-development/auterion-sdk/system-state-api.md)
- [Peripheral Actuator Control API](https://docs.auterion.com/app-development/auterion-sdk/peripheral-actuator-control-api.md)
- [Camera API](https://docs.auterion.com/app-development/auterion-sdk/system-state-api-1.md)
- [Gimbal API](https://docs.auterion.com/app-development/auterion-sdk/gimbal-api.md)
- [Navigation Input API](https://docs.auterion.com/app-development/auterion-sdk/navigation-input-api.md)
- [Global Navigation](https://docs.auterion.com/app-development/auterion-sdk/navigation-input-api/global-navigation.md)
- [Local Navigation](https://docs.auterion.com/app-development/auterion-sdk/navigation-input-api/local-navigation.md)
- [Visual Tracking API](https://docs.auterion.com/app-development/auterion-sdk/visual-tracking-api.md): The Visual Tracking API is used as an intermediary between Auterion Mission Control and a computer vision app that is running the tracking logic on the video stream and producing a tracking result
- [Object Detection API](https://docs.auterion.com/app-development/auterion-sdk/object-detection-api.md)
- [VTOL API](https://docs.auterion.com/app-development/auterion-sdk/vtol-api.md)
- [Simulation](https://docs.auterion.com/app-development/simulation.md)
- [Virtual Skynode](https://docs.auterion.com/app-development/simulation/virtual-skynode.md): Usage of Virtual Skynode and its apps. Virtual Skynode simulates a Skynode device that can be used for app development
- [Simulation-Gazebo Reference](https://docs.auterion.com/app-development/simulation/virtual-skynode/simulation-gazebo-reference.md): Auterion offers a meta debian package for Ubuntu called simulation-gazebo. This can be run in conjunction with Virtual Skynode.
- [Simulation-AirSim Reference](https://docs.auterion.com/app-development/simulation/virtual-skynode/simulation-airsim-reference.md)
- [Connecting from other Computers](https://docs.auterion.com/app-development/simulation/virtual-skynode/connecting-from-other-computers.md): This page describes how to set up the computer hosting Virtual Skynode such that other devices in the network can connect to Virtual Skynode
- [Resetting Virtual Skynode](https://docs.auterion.com/app-development/simulation/virtual-skynode/resetting-virtual-skynode.md): How to restore a clean state of Virtual Skynode
- [Multiple Virtual Skynodes on single machine](https://docs.auterion.com/app-development/simulation/virtual-skynode/multiple-virtual-skynodes-on-single-machine.md): How to run multiple instances of Virtual Skynode on a single machine to emulate multiple vehicles
- [Custom simulation modes and worlds](https://docs.auterion.com/app-development/simulation/virtual-skynode/custom-simulation-modes-and-worlds.md): Extend the Gazebo-powered simulation with customized vehicles and personalized environments
- [Physical Skynode](https://docs.auterion.com/app-development/simulation/simulation-in-hardware.md): How to use a physical Skynode to simulate flights without any additional hardware connected
- [Auterion Simulator](https://docs.auterion.com/app-development/simulation/auterion-simulator.md)
- [Hardware in the Loop](https://docs.auterion.com/app-development/simulation/hardware-in-the-loop.md)
- [Resources](https://docs.auterion.com/app-development/resources.md)
- [Cross Compilation - Faster Builds](https://docs.auterion.com/app-development/resources/cross-compilation-faster-builds.md)
- [Auterion CLI Reference](https://docs.auterion.com/app-development/resources/auterion-cli.md): Command line utility to interact with Auterion Devices and Apps
- [Troubleshooting](https://docs.auterion.com/app-development/resources/troubleshooting.md)
- [Skynode Vision Kit S](https://docs.auterion.com/app-development/resources/skynode-vision-kit-s.md): This section presents the hardware components of the kit and explains how to correctly set them up.
- [Set up the Vision Kit](https://docs.auterion.com/app-development/resources/skynode-vision-kit-s/set-up-the-vision-kit.md)
- [Install and test a simple vision app](https://docs.auterion.com/app-development/resources/skynode-vision-kit-s/install-and-test-a-simple-vision-app.md): This example app uses the Vision Kit API to compute the average brightness of each frame captured by the camera.
- [Legacy app workflow](https://docs.auterion.com/app-development/legacy-app-workflow.md)
- [App Development](https://docs.auterion.com/app-development/legacy-app-workflow/app-development.md)
- [MAVLink](https://docs.auterion.com/app-development/legacy-app-workflow/mavlink.md): Mavlink Communication with the Autopilot and other systems that use the MAVLink protocol
- [Using the App Template](https://docs.auterion.com/app-development/legacy-app-workflow/application-development-guide.md)
- [Example Applications](https://docs.auterion.com/app-development/legacy-app-workflow/examples.md)
- [Autopilot Telemetry (C++)](https://docs.auterion.com/app-development/legacy-app-workflow/examples/get-telemetry-cpp.md): Can be found under examples in auterion-developer-tools
- [Autopilot Telemetry (Python)](https://docs.auterion.com/app-development/legacy-app-workflow/examples/get-telemetry-python.md): Can be found under examples in auterion-developer-tools
- [Photo Gallery](https://docs.auterion.com/app-development/legacy-app-workflow/examples/gallery.md)
