30 open-source projects similar to inavflight/inav, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Inav alternative.
PX4-Autopilot is a professional-grade flight control software stack designed for autonomous unmanned vehicles, including multicopters, fixed-wing aircraft, and vertical takeoff and landing platforms. It operates as a modular, real-time framework that decouples flight control logic from hardware drivers through a publish-subscribe middleware architecture. The system utilizes a deterministic microkernel runtime to execute time-critical flight control loops and sensor fusion tasks, ensuring stable navigation and vehicle operation. The platform distinguishes itself through a parameter-driven conf
Betaflight is open-source flight controller firmware designed to stabilize aircraft and manage sensor data through PID loops and motor control. It serves as a multirotor flight stack that integrates low-level drivers and control algorithms to manage electronic speed controllers, radio receivers, and telemetry hardware. The system focuses on real-time flight stabilization and telemetry routing. It includes a PID stabilization system to calculate motor outputs for aircraft stability and a flight telemetry manager to route real-time information to ground stations and on-screen displays. The fir
Navigation2 is a ROS 2 navigation framework for autonomous mobile robots. It provides the core identity of a path planner, costmap management system, kinematic motion controller, and behavior tree orchestrator to compute collision-free routes and execute movement commands. The framework is distinguished by its use of behavior trees to coordinate modular task servers, enabling complex navigation routines and autonomous recovery actions. It supports a plugin-based architecture that allows planners and controllers to be swapped at runtime to adapt to different environments. The system covers a
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides a comprehensive environment for quadruped robot development, featuring tools for locomotion gait design, inverse kinematics, and a layered control architecture that separates high-level intelligence from low-level motion. The project distinguishes itself as an embedded AI deployment tool, allowing users to train, quantize, and deploy machine learning models to vision modules for tasks such as object detection and visual target tracking. It further supports complex human-robot
This project is a robotics software package designed for simultaneous localization and mapping, providing a framework for visual-inertial odometry and environmental mapping. It functions as a middleware-integrated library that enables autonomous mobile robots to estimate their position and orientation by processing sensor data within modular software systems. The library distinguishes itself by utilizing hardware-accelerated processing to perform feature tracking and odometry calculations on dedicated graphics hardware. It maintains spatial accuracy through graph-based optimization and statis
This project is a framework for autonomous mobile robot navigation within the Robot Operating System ecosystem. It provides a suite of tools for calculating safe trajectories and movement commands, enabling mobile bases to reach specific destinations while avoiding obstacles in dynamic environments. The system utilizes a hierarchical planning approach that separates long-range path generation from short-range reactive obstacle avoidance. It maintains spatial awareness through a centralized coordinate tracking system and a grid-based representation that stores obstacle information and proximit
This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj
This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The
ArduPilot is an autonomous vehicle autopilot software platform designed to manage navigation, stabilization, and mission execution for aerial, ground, and marine vehicles. It functions as a comprehensive flight controller that utilizes a real-time operating system kernel to manage concurrent control loops, sensor fusion, and state-based logic for diverse operational modes. The system distinguishes itself through a modular hardware abstraction layer that decouples navigation logic from specific sensor drivers and microcontroller architectures. It employs a message-oriented telemetry protocol t
Prometheus is an autonomous drone flight stack providing a software suite for navigation, target recognition, and flight control. It functions as a computer vision navigation engine and a precision autonomous landing controller, enabling unmanned aerial vehicles to operate without manual pilot input. The system distinguishes itself through multi-vehicle coordination and swarm synchronization, allowing aerial and ground vehicles to maintain formations and execute joint maneuvers via a shared communication framework. It further integrates a simulation environment for software-in-the-loop testin
This project is flight control autopilot software designed as a real-time operating system for managing the flight dynamics and navigation of autonomous multicopters, fixed-wing aircraft, and rovers. It serves as a multi-vehicle autopilot framework that supports various aircraft configurations, including vertical takeoff and landing platforms across industrial environments. The system includes a MAVLink communication stack for exchanging telemetry and command data between unmanned vehicles and ground control stations. It also provides a software-in-the-loop flight simulator to test autopilot
Cylon is a JavaScript robotics framework and hardware abstraction layer designed for controlling robots, drones, and IoT devices. It functions as an IoT device orchestrator that translates high-level JavaScript commands into hardware signals and manages multiple sensors and components concurrently. The system utilizes a modular architecture of drivers and adaptors to normalize diverse hardware signals into a unified programming interface. It enables the deployment of hardware control logic across various environments, including web browsers and mobile applications, through cross-platform bund
This library is a comprehensive toolkit for autonomous robot navigation and multi-agent motion coordination. It provides a framework for calculating collision-free movement trajectories, enabling multiple robots to operate within shared environments while maintaining efficient and safe paths. The project distinguishes itself by supporting both global and decentralized control strategies. It offers global coordination techniques that resolve path conflicts across entire workspaces to ensure unified group movement, alongside decentralized methods that allow individual agents to react dynamicall
Navigation2 is a navigation stack for ROS 2 designed for autonomous robot navigation. It provides a framework for computing optimal paths from a starting position to a goal while avoiding static and dynamic obstacles. The system utilizes a behavior tree orchestrator to coordinate complex navigation tasks and trigger recovery actions. Its architecture is plugin-based, allowing planners, controllers, and costmap layers to be swapped at runtime without recompiling the core system. The project covers path planning, motion control, and environmental mapping. It generates occupancy grids and costm
This project provides educational resources and technical guides for microcontroller firmware development. It focuses on writing low-level C code that runs directly on hardware without an underlying operating system, covering the fundamentals of hardware registers, memory mapping, and system clocks. The guides detail the creation of hardware abstraction layers to wrap raw memory-mapped registers into structured interfaces and provide walkthroughs for integrating TCP/IP stacks and HTTP servers into bare-metal environments. It also outlines the implementation of embedded systems build pipelines
This project is a comprehensive library and framework for autonomous mobile robot navigation, providing a suite of geometric, heuristic, and optimization-based algorithms. It enables robots to calculate collision-free global paths and generate smooth, kinematically feasible local trajectories within complex environments. The system is built on a modular plugin architecture that allows developers to integrate and configure custom motion planning algorithms directly into the Robot Operating System. By utilizing a layered spatial representation, the framework aggregates heterogeneous sensor data
SDRangel is a comprehensive software-defined radio suite and digital signal processing framework. It functions as an RF spectrum analyzer and modular radio demodulator, providing a unified hardware abstraction layer to connect various radio devices to software processing pipelines for data acquisition and transmission. The platform is distinguished by its modular architecture, which uses a data-flow graph of dynamic libraries to construct signal processing chains. This allows for a plugin-based environment where users can extract audio and digital data from raw radio signals using various mod
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
VINS-Fusion is a multi-sensor fusion framework and visual-inertial odometry system. It integrates camera images, inertial measurement unit data, and global positioning signals through a non-linear optimization system to track the position and orientation of autonomous vehicles. The system includes a visual loop closure engine that utilizes a bag-of-words approach to recognize previously visited locations and correct trajectory drift. It further provides tools for online spatio-temporal calibration to determine the physical offset and time synchronization between cameras and inertial sensors d
OpenMower is an autonomous lawn mower controller and firmware system that uses high-precision RTK GPS to navigate robotic mowers without the need for physical boundary wires. It functions as a GPS-based path planner and hardware management system that converts manual machines into autonomous units. The project includes a remote management application for monitoring and controlling mowers via a web or mobile interface. It integrates an obstacle avoidance system and safety layers that execute emergency stops when the device is lifted or crashes. The system manages robotic hardware through firm
CircuitPython is a specialized derivative of the MicroPython runtime designed as an embedded Python interpreter for microcontrollers. It provides a high-level language environment that allows for direct hardware access through a dedicated hardware abstraction layer and a Python microcontroller runtime. The project is distinguished by firmware that exposes the microcontroller as a native USB mass storage device. This allows users to edit code directly on the device as if it were a removable drive, eliminating the need for specialized flashing tools and enabling filesystem-triggered code reload
Miryoku is a universal mapping specification for ergonomic and orthogonal keyboards. It provides a standardized set of key assignments and layers designed to decouple logical input intent from specific physical hardware, ensuring consistent key placement across different firmware and devices. The system focuses on home-row navigation, placing cursor movement, mouse emulation, and system functions on the home row to minimize hand travel. It utilizes a layer-based input strategy with toggleable and modal layers to manage numerals, symbols, and media controls without relying on complex modifier
Cartographer is a cross-platform robotics library and framework for simultaneous localization and mapping in 2D and 3D spaces. It functions as a real-time mapping engine that constructs environmental maps while tracking a device's position and orientation using continuous sensor data processing. The system implements real-time SLAM to generate precise maps for autonomous navigation. It utilizes a localization system that determines a device's state within a mapped environment across different hardware platforms and sensor configurations. The framework covers spatial estimation through non-li
rawdrawandroid is a framework for building Android applications using C and Make. It provides a native development system that compiles source code into standalone executable packages, bypassing the standard Java or Kotlin toolchains and virtual machines. The project features a native UI toolkit for creating hardware-accelerated graphics windows and a dedicated hardware interface for direct communication with USB peripherals and onboard sensors. It utilizes a containerized build environment to ensure consistent compilation and signing of binaries without requiring local toolchain installation
Mbed OS is a real-time operating system designed for connected internet-of-things devices and microcontroller hardware. It provides a fundamental framework that combines a real-time operating system with an embedded security framework, a hardware abstraction layer for controlling sensors and peripherals, and a device management platform for cloud-based orchestration. The system establishes security foundations to protect connected products from unauthorized access and vulnerabilities. It further enables remote monitoring and hardware orchestration by connecting embedded devices to cloud servi
TFT_eSPI is an Arduino TFT display library and anti-aliased graphics engine used to drive displays via SPI or parallel interfaces on ESP32, ESP8266, STM32, and RP2040 microcontrollers. It provides a DMA-accelerated display driver to increase frame rates and a sprite-based frame buffer to prevent visual flickering. The library features an integrated touch screen interface for processing input from SPI-based controllers. It distinguishes itself with a rendering system capable of drawing anti-aliased shapes and high-quality Unicode fonts to eliminate jagged edges. The project covers a broad ran
This project is a professional integrated development environment designed for microcontroller firmware engineering and embedded systems development. It provides a specialized interface for writing, compiling, and deploying code to Arduino-compatible boards and various other hardware platforms. The environment distinguishes itself through a modular architecture that separates the graphical user interface from the underlying build and hardware communication logic. By utilizing a language server protocol and a decoupled plugin system, it allows for consistent code analysis and extensible functi
Blynk is an embedded device framework and IoT cloud connectivity library designed to establish secure, bi-directional communication between microcontrollers and a remote management platform. It provides the core identity of an IoT device management tool, enabling the synchronization of device states, remote hardware control, and the mapping of hardware data to cloud-based interfaces. The project distinguishes itself through a virtual-pin system that decouples cloud communication from physical pins, allowing for hardware-independent data exchange. It also supports advanced architectural offloa
Blinker-py is a Python library and asynchronous hardware interface designed to connect Linux-based single board computers, such as the Raspberry Pi, to a remote IoT cloud platform. It functions as a communication bridge and hardware abstraction layer that enables the remote monitoring and control of physical components. The project provides a TCP socket communication client for bidirectional, real-time data exchange. It maps cloud-side virtual controls to physical GPIO pins, allowing remote interfaces to trigger physical actions on connected hardware through a cloud bridge. The library incor