Running SITL on CubeOrange (Sim-on-Hardware, WSL setup)

I’m working on a HIL/SITL setup and ran into an issue I can’t solve fully. I’d appreciate some help.
My Setup:
-Hardware: OrangeCube autopilot (shows up as COM11 on Windows, works fine in Mission Planner).
-Software:

  • Windows 11
  • WSL1 for running SITL and MAVProxy
  • Mission Planner on Windows

My Goal:

  • Run SITL in WSL (ArduCopter model).
  • Use the OrangeCube hardware as the flight controller, but feed it simulated sensors/data from SITL.
  • Connect telemetry to the Cube and control SITL through hardware.

What I Achieved So Far

  • Followed the ArduPilot Sim-on-Hardware guide.
  • Flashed the Cube with the SoH firmware.
  • I can now see the SIM_ parameters on the Cube, which indicates the firmware is running correctly.
  • I can run SITL in WSL and see the available vehicle models.

The Problem:

  • I’m stuck at the point of bridging SITL with the Cube.
  • The Cube shows up on COM11 in Windows and works with Mission Planner, but on WSL it doesn’t appear as /dev/tty*.
  • I tried approaches like socat and usbipd to forward the serial device into WSL, but haven’t been able to make SITL actually talk to the Cube yet.

Has anyone here successfully run SITL + OrangeCube (SoH) inside WSL?
Any help or suggestions are appreciated!

I have experience in it… You can reach me at Whatsapp: +923246418745
Send me your exact error

Hi,

I am trying to integrate the Simulation On Hardware (SoH) firmware for the Cube Orange autopilot board which I successfully was able to configure,build and upload using the terminal present on my linux machine. I am able to deflect the servo successfully with ardupilot’s internal SITL (Flight Dynamics Model:FDM) after changing the required parameters that are needed for the servos to deflect while SITL is running using QGC.

I am trying to deflect the servo using the Cube Orange Simulation On Hardware (SoH) firmware using an external Matlab/Simulink FDM by using the “-f JSON (“my simulink udp port”) (frame) defined in the following manner:
./Tools/scripts/sitl-on-hardware/sitl-on-hw.py \
–board $BOARD \ -
–vehicle plane \
–simclass JSON \
–frame json:172.16.3.160 \
–extra-hwdef=/tmp/extra.hwdef \
–defaults=/tmp/defaults.parm \
–debug
When I hit enter to build I am always getting an error stating that a certain ardupilot library function (AP:AHRS:get_yaw(void) is “uninitialized” and the build aborts. How do I fix this issue so that I am able to deflect the servo with the SoH firmware present on the cube orange board with the external flight dynamics model present in Matlab/Simulink?

Can someone please help me out with this issue if anyone has faced something similar?

Have you done the same on orange cube before..? Before changing servo parameters..?

Are you using simulink with it..?