diff --git a/mk/PX4/ROMFS/init.d/rc.APM b/mk/PX4/ROMFS/init.d/rc.APM
index 2c34d569b558f952e0c48354b2b1c4df04225a8c..c86bffc77362d952d7cb7cc063f5af271e0be151 100644
--- a/mk/PX4/ROMFS/init.d/rc.APM
+++ b/mk/PX4/ROMFS/init.d/rc.APM
@@ -345,6 +345,13 @@ else
     sh /etc/init.d/rc.error           
 fi
 
+if uavcan start 1
+then
+    echo "started uavcan OK"
+else
+    echo "failed to start uavcan"
+fi
+
 if mtd readtest /fs/mtd
 then
     echo "mtd readtest OK"
diff --git a/mk/PX4/config_px4fmu-v2_APM.mk b/mk/PX4/config_px4fmu-v2_APM.mk
index f285e0e4a71a895d498f0e0e8796cd97926b7ed2..3822953ae9c3e6a5e5767d8a47e16e0ffae09c2e 100644
--- a/mk/PX4/config_px4fmu-v2_APM.mk
+++ b/mk/PX4/config_px4fmu-v2_APM.mk
@@ -74,6 +74,10 @@ MODULES         += modules/libtomcrypt
 endif
 MODULES		+= lib/conversion
 
+MODULES		+= modules/uavcan
+MODULES		+= lib/mathlib
+LIBRARIES	+= lib/mathlib/CMSIS
+
 #
 # Transitional support - add commands from the NuttX export archive.
 #
diff --git a/mk/px4_targets.mk b/mk/px4_targets.mk
index bb6c0053336ae7750a9bf21491cb6d63620dd0e1..7794ccfee9f0cacb01f5c238b17d940293739ad0 100644
--- a/mk/px4_targets.mk
+++ b/mk/px4_targets.mk
@@ -31,6 +31,7 @@ PX4_GIT_VERSION   := $(shell cd $(PX4_ROOT) && git rev-parse HEAD | cut -c1-8)
 
 EXTRAFLAGS += -DNUTTX_GIT_VERSION="\"$(NUTTX_GIT_VERSION)\""
 EXTRAFLAGS += -DPX4_GIT_VERSION="\"$(PX4_GIT_VERSION)\""
+EXTRAFLAGS += -DUAVCAN=1
 
 # we have different config files for V1 and V2
 PX4_V1_CONFIG_FILE=$(MK_DIR)/PX4/config_px4fmu-v1_APM.mk