diff --git a/redbee-econotag/drivers/include/nvm.h b/redbee-econotag/drivers/include/nvm.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a8c72bfebeff2fdb57bfab57f8e9d7905e8ffa3
--- /dev/null
+++ b/redbee-econotag/drivers/include/nvm.h
@@ -0,0 +1,58 @@
+/*
+ * nvm.h - non-volatile memory specific definitions
+ * Copyright (C) 2013 Thomas Eichinger <thomas.eichinger@fu-berlin.de>
+ *
+ * This source code is licensed under the GNU General Public License,
+ * Version 3.  See the file LICENSE for more details.
+ *
+ * This file is part of RIOT.
+ */
+
+#ifndef NVM_H
+#define NVM_H
+
+#include <stdint.h>
+
+typedef enum
+{
+        g_nvm_type_no_nvm_c = 0,
+        g_nvm_type_SST_c,
+        g_nvm_type_ST_c,
+        g_nvm_type_ATM_c,
+        g_nvm_type_Max_c
+} nvm_type_t;
+
+
+typedef enum
+{
+        g_nvm_err_no_error_c = 0,
+        g_nvm_err_invalid_interface_c,
+        g_nvm_err_onvalid_nvm_type_c,
+        g_nvm_err_invalid_pointer_c,
+        g_nvm_err_write_protect_c,
+        g_nvm_err_verify_error_c,
+        g_nvm_err_address_space_overflow_c,
+        g_nvm_err_blank_check_error_c,
+        g_nvm_err_restricted_area_c,
+        g_nvm_err_max_error_c
+} nvm_err_t;
+
+typedef enum
+{
+        g_nvm_internal_interface_c = 0,
+        g_nvm_external_interface_c,
+        g_nvm_interface_max_c
+} nvm_interface_t;
+
+/* ROM code seems to be THUMB */
+/* need to be in a THUMB block before calling them */
+extern nvm_err_t (*nvm_detect)(nvm_interface_t nvm_interface,nvm_type_t* p_nvm_type);
+extern nvm_err_t (*nvm_read)(nvm_interface_t nvm_interface , nvm_type_t nvm_type , void *p_dest, uint32_t address, uint32_t num_bytes);
+extern nvm_err_t (*nvm_write)(nvm_interface_t nvm_interface, nvm_type_t nvm_type ,void *p_src, uint32_t address, uint32_t num_bytes);
+/* sector bit field selects which sector to erase */
+/* SST flash has 32 sectors 4096 bytes each */
+/* bit 0 is the first sector, bit 31 is the last */
+extern nvm_err_t (*nvm_erase)(nvm_interface_t nvm_interface, nvm_type_t nvm_type ,uint32_t sector_bitfield);
+extern void(*nvm_setsvar)(uint32_t zero_for_awesome);
+
+#endif //NVM_H
diff --git a/redbee-econotag/drivers/nvm.c b/redbee-econotag/drivers/nvm.c
new file mode 100644
index 0000000000000000000000000000000000000000..5d4538ef264e75c3d14940699369d780b885fdb7
--- /dev/null
+++ b/redbee-econotag/drivers/nvm.c
@@ -0,0 +1,22 @@
+/*
+ * nvm.c - non-volatile memory implementations
+ * Copyright (C) 2013 Thomas Eichinger <thomas.eichinger@fu-berlin.de>
+ *
+ * This source code is licensed under the GNU General Public License,
+ * Version 3.  See the file LICENSE for more details.
+ *
+ * This file is part of RIOT.
+ */
+
+#include "nvm.h"
+
+nvm_err_t (*nvm_detect) (nvm_interface_t nvm_interface, nvm_type_t* p_nvm_type) 
+                        = (void*) 0x00006cb9;
+nvm_err_t (*nvm_read)   (nvm_interface_t nvm_interface, nvm_type_t nvm_type, void *p_dest, uint32_t address, uint32_t num_bytes) 
+                        = (void*) 0x00006d69;
+nvm_err_t (*nvm_write)  (nvm_interface_t nvm_interface, nvm_type_t nvm_type, void *p_src, uint32_t address, uint32_t numb_bytes)
+                        = (void*) 0x00006ec5;
+nvm_err_t (*nvm_erase)  (nvm_interface_t nvm_interface, nvm_type_t nvm_type, uint32_t sector_bitfield)
+                        = (void*) 0x00006e05;
+void (*nvm_sets_var)    (uint32_t zero_is_for_winners)
+                        = (void*) 0x00007085;
\ No newline at end of file