diff --git a/.ci_templates/.install_imu.yml b/.ci_templates/.install_imu.yml
new file mode 100644
index 0000000000000000000000000000000000000000..48228e598bff7a8131dbd6c7c18261d204c09042
--- /dev/null
+++ b/.ci_templates/.install_imu.yml
@@ -0,0 +1,25 @@
+.install_imu_script:
+  - cd ${CI_PROJECT_DIR}
+
+  # create 'ci_deps' folder (if not exists)
+  - mkdir -pv ci_deps
+
+  # clone or pull
+  - cd ${CI_PROJECT_DIR}/ci_deps
+  - if [ -d imu ]; then
+  -   echo "directory imu exists"
+  -   cd imu
+  -   git fetch --all
+  -   git checkout $WOLF_IMU_BRANCH
+  -   git pull
+  - else
+  -   git clone -b $WOLF_IMU_BRANCH ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/imu.git
+  -   cd imu
+  - fi
+
+  # build and install
+  - mkdir -pv build
+  - cd build
+  - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_DEMOS=OFF -DBUILD_TESTS=OFF ..
+  - make -j$(nproc)
+  - make install
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4d0359da405520c4cd11a0affe4bd689ad07d195..e2cd515522997a788c7ff6a9542e50e91eb9cc47 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,5 @@
 include:
+  # core ci_templates
   - project: 'mobile_robotics/wolf_projects/wolf_lib/wolf'
     ref: 454-implementation-of-new-nodes-creation #$WOLF_CORE_BRANCH
     file: