diff --git a/epicardium/main.c b/epicardium/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..c9aa0acce6226a502d818b7b417da1b5fd74fa70
--- /dev/null
+++ b/epicardium/main.c
@@ -0,0 +1,7 @@
+#include "card10.h"
+
+int main(void)
+{
+	card10_init();
+	card10_diag();
+}
diff --git a/epicardium/meson.build b/epicardium/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..51cc66740759e53e22892ffe8bda02db19e857af
--- /dev/null
+++ b/epicardium/meson.build
@@ -0,0 +1,19 @@
+name = 'epicardium'
+
+elf = executable(
+  name + '.elf',
+  'main.c',
+  dependencies: [libcard10, max32665_startup_core0],
+  link_whole: [max32665_startup_core0_lib, board_card10_lib],
+  link_args: [
+    '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
+  ],
+)
+
+custom_target(
+  name + '.bin',
+  build_by_default: true,
+  output: name + '.bin',
+  input: elf,
+  command: [build_image, '@INPUT@', '@OUTPUT0@'],
+)
diff --git a/meson.build b/meson.build
index b8ea87e9386f46387c2d19a60d02d2e970f9b3e8..8d951c6fafa2a101220452316fb5109bdd0ec00e 100644
--- a/meson.build
+++ b/meson.build
@@ -32,4 +32,6 @@ python3 = 'python3'
 
 subdir('lib/')
 subdir('bootloader/')
+
+subdir('epicardium/')
 subdir('hw-tests/')