build-sitl

Build INAV SITL firmware with cmake and run hardware-free tests.

4|2|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/sensei-hacker/inav-claude --skill build-sitl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: build-sitl
Source: https://github.com/sensei-hacker/inav-claude/tree/main/.claude/skills/build-sitl
Command: npx skills add https://github.com/sensei-hacker/inav-claude --skill build-sitl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill streamlines the process of building INAV SITL (Software In The Loop) firmware, allowing developers to quickly compile and test the flight controller logic on their host system without needing physical hardware.

Core Features & Use Cases

  • Dedicated Build Directory: Compile SITL in a separate directory to avoid conflicts with hardware target builds.
  • Efficient Rebuilds: Quickly recompile after code changes without re-running the full CMake configuration.
  • SITL Execution: Provides instructions for running the compiled SITL binary.
  • Use Case: A developer needs to compile the INAV firmware to test a new flight algorithm or sensor integration in a simulated environment on their computer, ensuring rapid iteration and debugging.

Quick Start

Build the INAV SITL firmware.

Frequently Asked Questions about build-sitl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build INAV SITL firmware without hardware?

Build INAV SITL firmware using cmake with the -DSITL=ON flag in a dedicated build directory. This compiles the flight controller logic to run on your host system, producing SITL.elf for testing without physical hardware.

Can I test firmware changes locally before deploying to a flight controller?

Yes. SITL (Software In The Loop) lets you compile and run INAV firmware on your computer in a simulated environment. Test new algorithms and sensor integrations locally with EEPROM persistence for reproducible results.

What's the difference between building SITL and hardware target builds?

SITL builds compile firmware to run on your host machine for simulation and testing, while hardware target builds compile for physical flight controllers. Using separate build directories prevents conflicts between the two.

How do I run the compiled SITL binary after building?

After compilation produces SITL.elf, execute the binary directly on your system. It binds to ports for communication and maintains EEPROM state across runs for consistent testing.

Can I use SITL testing in CI pipelines?

Yes. SITL is designed for both local development and CI workflows. Build the firmware in an isolated directory, run the SITL binary, and perform hardware-free validation automatically.

Do I need to reconfigure cmake every time I rebuild SITL after code changes?

No. Configure cmake once with -DSITL=ON in your build directory, then quickly recompile subsequent changes without re-running the full configuration step.