AirOS is a modular, robust, and efficient platform for managing a vehicle or robot from its onboard computer. It is the evolution of the Companion project, which aimed to route a vehicle's video stream and communications to its control station computer. Recognizing the need for a more sophisticated and scalable system, AirOS was created from the ground up, embracing modularity to ensure portability, robust updating, and extensibility.
- Official documentation
- Development documentation
- Registered Extensions
- Install directory (for custom installations)
The development of AirOS is driven by the following core principles:
- An interface that is simple by default but powerful when needed - the user has the power to change anything they desire and customize the full experience
- Designed to focus on what matters, improving user access to information and controls with a human-friendly UI and UX
- Make complex tasks simpler and improve ease of use by reusing design patterns from other applications (based on the material UI guidelines)
- Advanced error handling and detection, making any problems clear to the user and developers, along with how to fix them
- Simplify development, providing full access to our services API and modular development model
- Portable and flexible, you should be able to run on a Raspberry Pi 3/4 or any SBC with Linux operating system, contributions are welcomed
- Highly functional with low CPU usage, the entire system is built to run efficiently
- Developed on solid foundations, critical parts or intensive workforce services are designed using the most advanced languages and features available for stability
The design, organization, and future releases of AirOS are aligned with these principles, striving to provide an optimized and enriched user experience.
AirOS is available in three release types:
- Stable: Officially tested and validated versions with long-term support. Recommended for most users.
- Beta: Lightly tested rolling releases with new features, bug fixes, and improvements.
- Master: Bleeding-edge development releases with almost daily changes. These are the very latest features that may not have been tested yet.
AirOS has been designed with a focus on vehicle and platform agnosticism. Our aim is to facilitate broad compatibility across a wide spectrum of applications. Currently, AirOS officially supports the following vehicle types:
ArduPlane is an open-source, uncrewed aircraft platform. Whether you are commanding a leisure aircraft or a research UAV, AirOS's compatibility with ArduPlane ensures that you can navigate the skies smoothly 🪂.
FRAME UAV is supported by default.
ArduCopter is an open-source, uncrewed quadcopter platform.
AGR is supported by default.
ArduRover is an open-source, uncrewed boat platform. Whether you are commanding a leisure boat or a research vessel, AirOS's compatibility with ArduRover ensures that you can navigate the waters smoothly 🌊.
BlueBoat is supported by default.
ArduSub is the go-to control system for remotely operated underwater vehicles (ROVs) 🐟. AirOS offers seamless integration with ArduSub, enabling efficient management and operation of underwater vehicles.
BlueROV2 is supported out of the box.
AirOS provides generic support for a wide variety of terrestrial, aerial, and marine uncrewed vehicles that use ArduPilot and PX4 autopilots. This extends the range of vehicles that can be managed using our system, from drones to autonomous cars and more.
Note: Specific vehicle configuration may be necessary to ensure optimal performance with AirOS.
AirOS is designed to perform optimally across a wide range of systems. Our latest releases are automatically built for the following architectures:
-
armv7: This is a common architecture for embedded devices. Covers Raspberry Pi models up to and including the Raspberry Pi 3.
-
armv8/arm64: This is used by more recent, high-performance devices. You can run AirOS on a Raspberry Pi 4, or in a computer with Apple Silicon.
-
amd64: This is the architecture used by most desktop and laptop computers. A typical example is any modern PC running a 64-bit version of Linux. Not fully supported.
Right now we officially support the Raspberry Pi 3 and 4, but the system should "just work" on all listed architectures with the correct docker binds.
Docker based development environment is available for via the core/compose/compose.yml docker compose file. This will start a development environment with all the required services as well as mount all of the needed directories in this repository for development.
docker compose pull # Ensure that docker is up-to-date
docker compose -f core/compose/compose.yml upWhen restarting the development environment you may need to remove the volumes to ensure that the development environment is clean.
docker compose -f core/compose/compose.yml down



