diff --git a/cmake/common/px4_base.cmake b/cmake/common/px4_base.cmake
index 8ae9d2cf9a24a59a29fe8a810f879a9884f0d5f9..60703be25ab4b77bef8cc66dd199c0a5adf4b100 100644
--- a/cmake/common/px4_base.cmake
+++ b/cmake/common/px4_base.cmake
@@ -212,7 +212,10 @@ function(px4_add_module)
 		if(INCLUDES)
 			target_include_directories(${MODULE}_original PRIVATE ${INCLUDES})
 		endif()
+		target_compile_definitions(${MODULE}_original PRIVATE PX4_MAIN=${MAIN}_app_main)
+		target_compile_definitions(${MODULE}_original PRIVATE MODULE_NAME="${MAIN}_original")
 
+		# unity build
 		add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MODULE}_unity.cpp
 			COMMAND cat ${SRCS} > ${CMAKE_CURRENT_BINARY_DIR}/${MODULE}_unity.cpp
 			DEPENDS ${MODULE}_original ${DEPENDS} ${SRCS}
diff --git a/platforms/nuttx/src/px4_layer/px4_nuttx_impl.cpp b/platforms/nuttx/src/px4_layer/px4_nuttx_impl.cpp
index 7495b030cce9c7e9617e8845fe364bf9f943a8ac..e760cee5e9b98a33a1a89a37f88e12cc05de65f7 100644
--- a/platforms/nuttx/src/px4_layer/px4_nuttx_impl.cpp
+++ b/platforms/nuttx/src/px4_layer/px4_nuttx_impl.cpp
@@ -46,7 +46,7 @@ namespace px4
 
 void init(int argc, char *argv[], const char *process_name)
 {
-	PX4_WARN("process: %s", process_name);
+	printf("process: %s\n", process_name);
 }
 
 uint64_t get_time_micros()
diff --git a/platforms/posix/src/main.cpp b/platforms/posix/src/main.cpp
index f7d301392bcc0cecc3988b8096a34d7fb39f7115..91739014cb67d02e8de6ba5af2bc1eefb20a7fa0 100644
--- a/platforms/posix/src/main.cpp
+++ b/platforms/posix/src/main.cpp
@@ -75,6 +75,7 @@
 #include "px4_daemon/server.h"
 #include "px4_daemon/pxh.h"
 
+#define MODULE_NAME "px4"
 
 static const char *LOCK_FILE_PATH = "/tmp/px4_lock";
 
diff --git a/platforms/posix/src/px4_layer/CMakeLists.txt b/platforms/posix/src/px4_layer/CMakeLists.txt
index f31a645dbac8e768e08c5ffb584e999c836ef024..661da197fbde148b7ac11231da514a8a0953ccae 100644
--- a/platforms/posix/src/px4_layer/CMakeLists.txt
+++ b/platforms/posix/src/px4_layer/CMakeLists.txt
@@ -52,6 +52,7 @@ add_library(px4_layer
 	drv_hrt.c
 	${SHMEM_SRCS}
 )
+target_compile_definitions(px4_layer PRIVATE MODULE_NAME="px4")
 target_link_libraries(px4_layer PRIVATE work_queue)
 target_link_libraries(px4_layer PRIVATE px4_daemon)
 
diff --git a/src/drivers/samv7/drv_hrt.c b/src/drivers/samv7/drv_hrt.c
index 9774dac6fa93b02808462da86679c48764ee6462..cc6f94dd11dffd6c3fbaf7832a72b09489faf8d7 100644
--- a/src/drivers/samv7/drv_hrt.c
+++ b/src/drivers/samv7/drv_hrt.c
@@ -347,7 +347,7 @@ hrt_tim_init(void)
 	ret = sam_tc_clockselect(frequency, &cmr, &actual);
 
 	if (ret < 0) {
-		PX4_PANIC("ERROR: Failed no divisor can be found (%d),for timer channel %d\n", ret, HRT_TIMER_CHANNEL);
+		printf("ERROR: Failed no divisor can be found (%d),for timer channel %d\n", ret, HRT_TIMER_CHANNEL);
 		return;
 	}
 
@@ -386,7 +386,7 @@ hrt_tim_init(void)
 	hrt_tch = sam_tc_allocate(HRT_TIMER_CHANNEL, cmr);
 
 	if (!hrt_tch) {
-		PX4_PANIC("ERROR: Failed to allocate timer channel %d\n", HRT_TIMER_CHANNEL);
+		printf("ERROR: Failed to allocate timer channel %d\n", HRT_TIMER_CHANNEL);
 		return;
 	}
 
diff --git a/src/lib/mixer/mixer_load.c b/src/lib/mixer/mixer_load.c
index 8ca4b798750d14ca006d69b1636bce82aa57d95d..11454852e512bfd94c8396857d357f8d167a5094 100644
--- a/src/lib/mixer/mixer_load.c
+++ b/src/lib/mixer/mixer_load.c
@@ -37,11 +37,9 @@
  * Programmable multi-channel mixer library.
  */
 
-#include <px4_config.h>
 #include <string.h>
 #include <stdio.h>
 #include <ctype.h>
-#include <systemlib/err.h>
 
 #include "mixer_load.h"
 
@@ -54,7 +52,7 @@ int load_mixer_file(const char *fname, char *buf, unsigned maxlen)
 	fp = fopen(fname, "r");
 
 	if (fp == NULL) {
-		warnx("file not found");
+		printf("file not found\n");
 		return -1;
 	}
 
@@ -100,7 +98,7 @@ int load_mixer_file(const char *fname, char *buf, unsigned maxlen)
 
 		/* if the line is too long to fit in the buffer, bail */
 		if ((strlen(line) + strlen(buf) + 1) >= maxlen) {
-			warnx("line too long");
+			printf("line too long\n");
 			fclose(fp);
 			return -1;
 		}
diff --git a/src/platforms/apps.cpp.in b/src/platforms/apps.cpp.in
index bc417688f4504556409a58f50174638692405420..123a138c4eec29a9e5c7c5cfe64f80d8a1e08452 100644
--- a/src/platforms/apps.cpp.in
+++ b/src/platforms/apps.cpp.in
@@ -10,6 +10,8 @@
 
 #include <cstdlib>
 
+#define MODULE_NAME "px4"
+
 extern "C" {
 
 ${builtin_apps_decl_string}
diff --git a/src/platforms/common/work_queue/CMakeLists.txt b/src/platforms/common/work_queue/CMakeLists.txt
index 7026bd6b453eb7193f6eadda125b816a96337518..22eef457614128d4bc619e398433d3088d7e6635 100644
--- a/src/platforms/common/work_queue/CMakeLists.txt
+++ b/src/platforms/common/work_queue/CMakeLists.txt
@@ -50,6 +50,7 @@ if (NOT "${OS}" MATCHES "nuttx")
 		work_queue.c
 		work_thread.c
 	)
+	target_compile_definitions(work_queue PRIVATE MODULE_NAME="work_queue")
 	add_dependencies(work_queue prebuild_targets)
 
 endif()
diff --git a/src/platforms/px4_log.h b/src/platforms/px4_log.h
index 2a4a0d988ec6b0853061c32d0b6ea5350e1bbcea..1e6e2208b29fb105a2b6f441ba11dc00de0d8325 100644
--- a/src/platforms/px4_log.h
+++ b/src/platforms/px4_log.h
@@ -168,11 +168,6 @@ __END_DECLS
 #define __px4__log_printcond(cond, ...)	    if (cond) printf(__VA_ARGS__)
 #define __px4__log_printline(level, ...)    printf(__VA_ARGS__)
 
-
-#ifndef MODULE_NAME
-#define MODULE_NAME "Unknown"
-#endif
-
 #define __px4__log_timestamp_fmt	"%-10" PRIu64 " "
 #define __px4__log_timestamp_arg 	,hrt_absolute_time()
 #define __px4__log_level_fmt		"%-5s "