Custom SITL Simulator

Hi, I am new to the forum and working with APM. I am looking to build my very own simulation and integrate it in to the current system. There is a function called “Update” in the SIM_Multicopter.cpp file under libraries/SITL that I am going to look to replace with my own version. I am going to wrap up my simulation in a dll(which I already have done) and I would like to drop it into the system. From some things I have read online I should be able to use a .dll with cygwin (yes, I am on windows). I am having a hard time figuring out the makefile setup and where I need to add linkage to my dll. Can anyone help point me in the right direction for this problem??


The arducopter sitl is a very simple built in simulation environment. I was looking to tackle the same problem you are having a few weeks ago so I have created my own sim which I then struggled to figure out how to connect to ardupilot sitl. It was a week worth of work but I have finally gotten it working.


My sim is using a 3d engine and bullet physics engine for copter body simulation. I had to modify the sitl code to get it out of the way. My sim backend is here:

One problem I had was that update delay when using udp socket was seriously messing up my simulation but i have solved it by using shared memory (on linux).

Source code for the sim is here:

This will give you all the information you need to get it working on your end.

1 Like

Does anyone know where to find out what equations of motion were used in the standard SITL? Before building my own environment I would like to better understand how the team developed theirs.