diff --git a/px4-xplane.vcxproj b/px4-xplane.vcxproj
index 6f8e4a5..adeaea6 100644
--- a/px4-xplane.vcxproj
+++ b/px4-xplane.vcxproj
@@ -182,6 +182,7 @@ copy "$(ProjectDir)config\ehang184_px4.params" "$(OutDir)"
+
diff --git a/setup/setup_px4_sitl.sh b/setup/setup_px4_sitl.sh
new file mode 100644
index 0000000..d2bec2f
--- /dev/null
+++ b/setup/setup_px4_sitl.sh
@@ -0,0 +1,123 @@
+#!/bin/bash
+
+# === Configurable Variables ===
+REPO_URL="https://github.com/alireza787b/PX4-Autopilot-Me.git"
+BRANCH_NAME="px4xplane-sitl"
+UPSTREAM_URL="https://github.com/PX4/PX4-Autopilot.git"
+DEFAULT_CLONE_PATH="$HOME/PX4-Autopilot-Me"
+CONFIG_FILE="$HOME/.px4sitl_config"
+
+# === Check for Custom Installation Directory Parameter ===
+if [ -n "$1" ]; then
+ CLONE_PATH="$1/PX4-Autopilot-Me"
+else
+ CLONE_PATH="$DEFAULT_CLONE_PATH"
+fi
+
+# === Initial Setup ===
+echo "Welcome to the PX4 SITL Setup Script"
+echo "This script will clone the repository, set up dependencies, and build the specified SITL platform."
+echo "Make sure you have a stable internet connection."
+echo "Installing to: $CLONE_PATH"
+echo "Press Enter to continue or Ctrl+C to cancel."
+read -r
+
+# === Prerequisites Check ===
+echo "Checking for required tools..."
+if ! command -v git &> /dev/null; then
+ echo "Git is not installed. Please install Git and run the script again."
+ exit 1
+fi
+
+# === Clone the Repository ===
+if [ ! -d "$CLONE_PATH" ]; then
+ echo "Cloning the repository from $REPO_URL into $CLONE_PATH..."
+ git clone --recursive "$REPO_URL" "$CLONE_PATH"
+else
+ echo "Repository already cloned at $CLONE_PATH."
+fi
+
+cd "$CLONE_PATH" || exit
+git checkout "$BRANCH_NAME"
+
+# === Add Upstream and Fetch Tags ===
+echo "Adding upstream repository and fetching tags..."
+git remote add upstream "$UPSTREAM_URL"
+git fetch upstream
+git fetch upstream --tags
+
+# If tag issue persists, create a missing tag manually
+if ! git tag | grep -q "v1.14.0-dev"; then
+ echo "Creating missing tag v1.14.0-dev..."
+ git tag v1.14.0-dev
+fi
+
+# === Run the ubuntu.sh Script ===
+echo "Running setup script to install dependencies..."
+bash Tools/setup/ubuntu.sh
+echo "Setup complete. For WSL users, it's recommended to exit WSL, restart it, and rerun the script."
+
+# === Fetch Latest Changes ===
+echo "Fetching the latest changes from the remote repository..."
+git fetch --all
+git pull origin "$BRANCH_NAME"
+
+# === Initialize and Update Submodules ===
+echo "Updating submodules..."
+git submodule update --init --recursive
+
+# === Clean Build Options ===
+echo "Do you want to run 'make clean' to clean the build directory? [y/N]: "
+read -r CLEAN_BUILD
+
+echo "Do you want to run 'make distclean' to reset the build directory? [y/N]: "
+read -r DISTCLEAN_BUILD
+
+if [[ "$CLEAN_BUILD" =~ ^[Yy]$ ]]; then
+ make clean
+fi
+
+if [[ "$DISTCLEAN_BUILD" =~ ^[Yy]$ ]]; then
+ make distclean
+fi
+
+# === Network Setup for X-Plane (WSL Users) ===
+if grep -qEi "(Microsoft|WSL)" /proc/version &> /dev/null; then
+ if [ -f "$CONFIG_FILE" ]; then
+ source "$CONFIG_FILE"
+ echo "Detected previous configuration. Use stored Windows IP ($PX4_SIM_HOSTNAME) or enter a new one:"
+ else
+ echo "Please enter the IP address of your Windows machine (WSL interface IP) for X-Plane:"
+ fi
+ read -r NEW_IP
+ if [ -n "$NEW_IP" ]; then
+ PX4_SIM_HOSTNAME="$NEW_IP"
+ echo "PX4_SIM_HOSTNAME=$PX4_SIM_HOSTNAME" > "$CONFIG_FILE"
+ fi
+ export PX4_SIM_HOSTNAME="$PX4_SIM_HOSTNAME"
+ echo "Exported PX4_SIM_HOSTNAME=$PX4_SIM_HOSTNAME"
+fi
+
+# === Platform Selection and Build ===
+PLATFORM_CHOICES=("xplane_ehang184" "xplane_alia250" "xplane_cessna172" "xplane_tb2")
+echo "Please select the platform to build:"
+select PLATFORM in "${PLATFORM_CHOICES[@]}"; do
+ if [[ " ${PLATFORM_CHOICES[@]} " =~ " ${PLATFORM} " ]]; then
+ echo "You have selected $PLATFORM. Building..."
+ echo "LAST_PLATFORM=$PLATFORM" > "$CONFIG_FILE"
+ make px4_sitl_default "$PLATFORM"
+ break
+ else
+ echo "Invalid selection. Please choose a valid platform."
+ fi
+done
+
+# === Final Completion Message ===
+echo "Script completed. Summary:"
+echo "- Repository cloned: $CLONE_PATH"
+echo "- Dependencies installed"
+echo "- Submodules updated"
+echo "- Platform built: $PLATFORM"
+echo "You can now proceed with running the SITL simulation."
+
+# === End of Script ===