ArduPilot SIL Connector for Simulink

Simulink C++ S-function for software-in-the-loop simulation with Ardupilot.

View ardupilot-sil-connector on File Exchange ardupilot-sil-connector GitHub repository


  • MATLAB & Simulink (MATLAB R2022a or earlier)
  • MinGW-w64 or MSVC C/C++ Compiler
  • MissionPlanner


includes.zip (contains the Asio C++ library)

Build instructions

  • Install MATLAB-supported compiler
  • Download the "ardupilot_sil_connector.cpp" and "make.m" files and the "includes.zip" archive.
  • Unzip the "includes.zip" archive.
  • Run "make.m" to create a "ardupilot_sil_connector.mexw64" (Windows), "ardupilot_sil_connector.mexa64" (Linux), or "ardupilot_sil_connector.mexmaci64" (macOS) file.

Use instructions

  • Download and install MissionPlanner
  • Open MissionPlanner, select the "Simulation" tab and click on the "Plane" icon to download the ArduPlane SIL simulator.
  • After downloading the ArduPlance SIL simulator, open a command prompt and navigate to "C:\Users\\Documents\Mission Planner\sitl".
  • Execute the following command in the command prompt:
    ArduPlane.exe --home 42.841448,24.770727,0.5,0 --model json
  • Click the connect icon in Mission Planner. Use the default host and port options.
  • Open and run "ardupilot_sitl_connector_example.slx".

Example use of the ArduPilot SIL connector

ArduPilot SIL connector example

ArduPilot SIL connector example