diff --git a/.gitignore b/.gitignore
index 28c303618cf908980c3884b33f6b818485edf93e..cfd97c9699bc95b9c086988a5db10713fdd4e6c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,3 +64,7 @@ CMakeLists.txt.user
 GPATH
 GRTAGS
 GTAGS
+
+# uavcan firmware
+ROMFS/px4fmu_common/uavcan/
+vectorcontrol/
diff --git a/.travis.yml b/.travis.yml
index 3e477a5ef84755148353851010860a5b2b65c4e7..8f9edfa71434af8780ecff685a304ddd6fb06a51 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -106,7 +106,7 @@ script:
       && arm-none-eabi-gcc --version
       && echo 'Building NuttX px4fmu-v1 Firmware..' && make px4fmu-v1_default
       && echo 'Building NuttX px4fmu-v2 Firmware..' && make px4fmu-v2_default
-      && echo 'Building UAVCAN node firmware..' && (git clone https://github.com/thiemar/vectorcontrol && cd vectorcontrol && BOARD=s2740vc_1_0 make -s && BOARD=px4esc_1_6 make -s && ../Tools/uavcan_copy.sh)
+      && echo 'Building UAVCAN node firmware..' && make uavcan_firmware
       && echo 'Building NuttX px4fmu-v4 Firmware..' && make px4fmu-v4_default
       && echo 'Building NuttX px4-stm32f4discovery Firmware..' && make px4-stm32f4discovery_default
       && echo 'Running Tests..' && make tests
diff --git a/Makefile b/Makefile
index 75a9183ecf0a6e76ffe2bb503a1cf580df79b663..bc252e72cf914901d9683fc20769d84c78ebef3f 100644
--- a/Makefile
+++ b/Makefile
@@ -191,6 +191,10 @@ run_sitl_ros: sitl_deprecation
 
 # Other targets
 # --------------------------------------------------------------------
+
+uavcan_firmware:
+	@(rm -rf vectorcontrol && git clone https://github.com/thiemar/vectorcontrol && cd vectorcontrol && BOARD=s2740vc_1_0 make --no-print-directory -s && BOARD=px4esc_1_6 make --no-print-directory -s && ../Tools/uavcan_copy.sh)
+
 check_format:
 	@./Tools/check_code_style.sh