diff --git a/meson.build b/meson.build
index 9dc0caa..139d66f 100644
--- a/meson.build
+++ b/meson.build
@@ -3,9 +3,13 @@
         default_options: [
           'warning_level=3',
           'werror=true',
-          'cpp_std=c++17'
+          'cpp_std=c++17',
+          'cpp_args=-Wno-unused-parameter'
         ])
 
+# libhei is available as a subproject
+subproject('libhei')
+
 subdir('src')
 subdir('attn')
 
diff --git a/src/hei_user_defines.hpp b/src/hei_user_defines.hpp
new file mode 100644
index 0000000..797f22e
--- /dev/null
+++ b/src/hei_user_defines.hpp
@@ -0,0 +1,25 @@
+#pragma once
+
+/**
+ * @file hei_user_defines.hpp
+ * @brief The purpose of this file is to create common defines that
+ *        will be used throughout this library.
+ */
+
+#include <assert.h>
+#include <inttypes.h>
+#include <stdio.h>
+
+#define HEI_INF(...)                                                           \
+    {                                                                          \
+        printf("HWDIAGS I> " __VA_ARGS__);                                     \
+        printf("\n");                                                          \
+    }
+
+#define HEI_ERR(...)                                                           \
+    {                                                                          \
+        printf("HWDIAGS E> " __VA_ARGS__);                                     \
+        printf("\n");                                                          \
+    }
+
+#define HEI_ASSERT(expression) assert(expression);
diff --git a/src/main.cpp b/src/main.cpp
index eaf2d4c..0de89fa 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,6 +1,7 @@
-
 #include <stdio.h>
 
+#include <hei_main.hpp>
+
 int main()
 {
     printf("Hello, World!\n");
diff --git a/src/meson.build b/src/meson.build
index ae1b040..407f66f 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1 +1,9 @@
-executable('openpower-hw-diags', 'main.cpp', install : true)
+# If libhei is not provided by the system then build using the subproject
+libhei_dep = dependency('libhei', fallback : ['libhei', 'libhei_dep'])
+
+# create openpower-hw-diags application
+executable('openpower-hw-diags',
+           'main.cpp',
+           'user_interface.cpp',
+           dependencies : libhei_dep,
+           install : true)
diff --git a/src/user_interface.cpp b/src/user_interface.cpp
new file mode 100644
index 0000000..e51b206
--- /dev/null
+++ b/src/user_interface.cpp
@@ -0,0 +1,43 @@
+/**
+ * @file These are implementations of the user interfaces declared in
+ *       hei_user_interface.hpp
+ */
+
+#include <hei_user_interface.hpp>
+
+namespace libhei
+{
+
+//------------------------------------------------------------------------------
+
+ReturnCode registerRead(const Chip& i_chip, void* o_buffer, size_t& io_bufSize,
+                        uint64_t i_regType, uint64_t i_address)
+{
+    ReturnCode rc = RC_SUCCESS;
+
+    //    HEI_INF("registerRead(%p,%p,%lx,%lx,%lx)", i_chip.getChip(),
+    //             o_buffer, io_bufSize, i_regType, i_address);
+
+    return rc;
+}
+
+//------------------------------------------------------------------------------
+
+#ifndef __HEI_READ_ONLY
+
+ReturnCode registerWrite(const Chip& i_chip, void* i_buffer, size_t& io_bufSize,
+                         uint64_t i_regType, uint64_t i_address)
+{
+    ReturnCode rc = RC_SUCCESS;
+
+    //    HEI_INF("registerWrite(%p,%p,%lx,%lx,%lx)", i_chip.getChip(),
+    //             i_buffer, io_bufSize, i_regType, i_address);
+
+    return rc;
+}
+
+#endif
+
+//------------------------------------------------------------------------------
+
+} // namespace libhei
diff --git a/subprojects/libhei.wrap b/subprojects/libhei.wrap
new file mode 100644
index 0000000..dedce68
--- /dev/null
+++ b/subprojects/libhei.wrap
@@ -0,0 +1,3 @@
+[wrap-git]
+url = https://gerrit.openbmc-project.xyz/openbmc/openpower-libhei
+revision = head
