diff --git a/scripts/event_header_generator/EventFunctions.cpp.template b/scripts/event_header_generator/EventFunctions.cpp.template
index 34feee56ad083054fef7582886afa7627552fe2b..d11c60bbcd8c6f9896aa2e36f18cd173e3f4eb31 100644
--- a/scripts/event_header_generator/EventFunctions.cpp.template
+++ b/scripts/event_header_generator/EventFunctions.cpp.template
@@ -34,6 +34,7 @@
 #include "Topics.h"
 
 #include <map>
+using std::map;
 
 namespace DeathStackBoard
 {{
diff --git a/scripts/event_header_generator/Events.h.template b/scripts/event_header_generator/Events.h.template
index d47404cce22a7e875cee47441eaa93136ba63e5a..fc2119939a1b9b96321b1730ecd5f4b92ef4cc4f 100644
--- a/scripts/event_header_generator/Events.h.template
+++ b/scripts/event_header_generator/Events.h.template
@@ -34,6 +34,7 @@
 
 #include <cstdint>
 #include <string>
+#include <vector>
 
 #include "events/Event.h"
 #include "events/EventBroker.h"
@@ -41,7 +42,6 @@
 #include "Topics.h"
 
 using std::string;
-using std::map;
 
 namespace DeathStackBoard
 {{
@@ -54,6 +54,8 @@ enum Events : uint8_t
 {enum_data}
 }};
 
+const std::vector<uint8_t> EVENT_LIST {{{event_list}}};
+
 /**
  * @brief Returns the name of the provided event
  * 
diff --git a/scripts/event_header_generator/Topics.h.template b/scripts/event_header_generator/Topics.h.template
index fb9c58a5b655d6475a13f7f007c2ee8bc5064a4d..697a99760719deedc35ac3d8d6fa58c9407405b8 100644
--- a/scripts/event_header_generator/Topics.h.template
+++ b/scripts/event_header_generator/Topics.h.template
@@ -34,8 +34,8 @@
 
 #include <stdint.h>
 #include <string>
+#include <vector>
 
-using std::map;
 using std::string;
 
 namespace DeathStackBoard
@@ -48,6 +48,8 @@ enum Topics : uint8_t
 {enum_data}
 }};
 
+const std::vector<uint8_t> TOPIC_LIST {{{topic_list}}};
+
 /**
  * @brief Returns the name of the provided event
  *
diff --git a/scripts/event_header_generator/event_generator.py b/scripts/event_header_generator/event_generator.py
index cbfe9ece20ade7da0bd27f1892055f9c42d57465..ad54de4cb95cebcf00f2036079e5608b521f9aae 100644
--- a/scripts/event_header_generator/event_generator.py
+++ b/scripts/event_header_generator/event_generator.py
@@ -139,6 +139,7 @@ print("{} topics loaded.".format(len(topics)))
 
 enum_str = ""
 event_map_str = ""
+event_list_str = ""
 
 date = datetime.datetime.now()
 link = "https://docs.google.com/spreadsheets/d/{id}".format(id=SPREADSHEET_ID)
@@ -154,12 +155,13 @@ for e in events:
         (" = EV_FIRST_SIGNAL" if e == events[0] else "") + endl
     event_map_str += "        {{ {event}, {string} }}{endl}".format(
         event=e, string='"' + e + '"', endl=endl)
+    event_list_str += e + (", " if e != events[-1] else "")
 
 with open('Events.h.template', 'r') as template_file:
     template = template_file.read()
 
 template = template.format(sheet_link=link, date=date,
-                           enum_data=enum_str)
+                           enum_data=enum_str,event_list=event_list_str)
 
 with open(join(OUTPUT_FOLDER, 'Events.h'), 'w') as header_file:
     header_file.write(template)
@@ -170,18 +172,20 @@ print("Events.h successfully generated.")
 print("Generating Topics.h...")
 enum_str = ""
 topic_map_str = ""
+topic_list_str = ""
 
 for t in topics:
     endl = ",\n" if t != topics[-1] else ""
     enum_str += "    " + t + endl
     topic_map_str += "        {{ {topics}, {string} }}{endl}".format(
         topics=t, string='"' + t + '"', endl=endl)
+    topic_list_str += t + (", " if t != topics[-1] else "")
 
 with open('Topics.h.template', 'r') as template_file:
     template = template_file.read()
 
 template = template.format(sheet_link=link, date=date,
-                           enum_data=enum_str)
+                           enum_data=enum_str, topic_list=topic_list_str)
 
 with open(join(OUTPUT_FOLDER, 'Topics.h'), 'w') as header_file:
     header_file.write(template)