diff --git a/setup.txt b/setup.txt
new file mode 100644
index 0000000..2ccb9cf
--- /dev/null
+++ b/setup.txt
@@ -0,0 +1,114 @@
+Cesar Rodriguez
+February 2022
+
+Steps to recreate stable PX4 environment
+
+STEP 1) Installing ROS Melodic
+
+- SETUP SOURCES.LIST
+ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
+- SETUP YOUR KEYS
+ sudo apt install curl # if you haven't already installed curl
+ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
+- INSTALLATION
+ sudo apt update
+ sudo apt install ros-melodic-desktop-full
+- ENVIRONMENT SETUP
+ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
+- DEPENDENCIES
+ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
+
+ Initilize rosdep:
+ sudo apt install python-rosdep
+ sudo rosdep init
+ rosdep update
+- PX4 DEPENDENCIES
+ sudo apt-get install python-catkin-tools python-rosinstall-generator -y
+ wstool init ~/catkin_ws/src
+- MAVLINK
+ rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall
+- MAVROS
+ rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall
+- CREATE WORKSPACE AND DEPS
+ cd ~/catkin_ws
+ wstool merge -t src /tmp/mavros.rosinstall
+ wstool update -t src -j4
+ rosdep install --from-paths src --ignore-src -y
+- INSTALL GEOGRAPHIC LIB DATASETS
+ cd ~/catkin_ws
+ sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
+- BUILD SOURCE
+ catkin build
+
+
+STEP 2) PX4 Environment Development
+
+- DOWNLOAD PX4 SOURCE CODE
+ git clone https://github.com/PX4/PX4-Autopilot.git --recursive
+- RUN UBUNTU.SH
+ bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
+- BUILD ROS/GAZEBO: Gets Gazebo9
+ wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh
+ bash ubuntu_sim_ros_melodic.sh
+- Download QGroundControl from:
+ https://docs.qgroundcontrol.com/master/en/releases/daily_builds.html
+- Build jMAVSim and Gazebo
+ make px4_sitl jmavsim
+ %%% May need to open QGroundControl for it to work %%%
+ make px4_sitl gazebo
+- Create px4 package
+ cd ~/PX4-Autopilot
+ DONT_RUN=1 make px4_sitl_default gazebo
+ source Tools/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default
+ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
+ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo
+ roslaunch px4 posix_sitl.launch
+
+STEP 3) This is Cesar stuff, need to do stuff to rebuild oscillation_ctrl
+- INSTALL XTERM
+ sudo apt-get update -y
+ sudo apt-get install -y xterm
+-INSTALL MAVROS_CONTROLLERS
+ cd ~/catkin_ws/src
+ clone repo:
+ git clone https://github.com/Jaeyoung-Lim/mavros_controllers
+ Download dependencies:
+ cd ~/catkin_ws
+ wstool merge -t src src/mavros_controllers/dependencies.rosinstall
+ wstool update -t src -j4
+ rosdep install --from-paths src --ignore-src -y --rosdistro $ROS_DISTRO
+ catkin build
+ source ~/catkin_ws/devel/setup.bash
+ ~Troubleshooting: https://github.com/Jaeyoung-Lim/mavros_controllers
+
+-TOOLS/SITL_GAZEBO
+ change default sitl_gazebo folder with working folder
+ -- Change this to add model, change airframe, etc and add citadel_hill world
+-ROMFS/PX4FMU_COMMON
+ create airframe file in init.d-posix
+ add it to cmake list in same 'airframe' folder (with number)
+ add airframe name in ~/PX4-Autopilot/platforms/posix/cmake/sitl_target.cmake (no number)
+-LAUNCH FILES
+ change default ~/PX4-Autopilot/launch folder with working folder
+-MAVROS
+ - in px4.launch, replace:
+
+
+ - with:
+
+
+- CHANGE DEVEL/SETUP.BASH
+ In catkin_ws (or any working directory) add to devel/setup.bash:
+ CURRENT_DIR=$(pwd)
+ cd ~/PX4-Autopilot
+
+ source Tools/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default
+ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
+ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo
+
+ cd $CURRENT_DIR
+
+
+
+
+