diff --git a/mainloop.cpp b/mainloop.cpp
index 8eb418f..1da6b69 100644
--- a/mainloop.cpp
+++ b/mainloop.cpp
@@ -16,7 +16,6 @@
 #include <iostream>
 #include <memory>
 #include <cstdlib>
-#include <chrono>
 #include <algorithm>
 #include "sensorset.hpp"
 #include "hwmon.hpp"
@@ -56,7 +55,6 @@
     &CriticalObject::criticalAlarmHigh;
 
 
-using namespace std::literals::chrono_literals;
 
 static constexpr auto typeAttrMap =
 {
@@ -275,6 +273,14 @@
         _bus.request_name(busname.c_str());
     }
 
+    {
+        auto interval = getenv("INTERVAL");
+        if (interval)
+        {
+            _interval = strtoull(interval, NULL, 10);
+        }
+    }
+
     // TODO: Issue#3 - Need to make calls to the dbus sensor cache here to
     //       ensure the objects all exist?
 
@@ -326,9 +332,8 @@
         _bus.process_discard();
 
         // Sleep until next interval.
-        // TODO: Issue#5 - Make this configurable.
         // TODO: Issue#6 - Optionally look at polling interval sysfs entry.
-        _bus.wait((1000000us).count());
+        _bus.wait(_interval);
 
         // TODO: Issue#7 - Should probably periodically check the SensorSet
         //       for new entries.
diff --git a/mainloop.hpp b/mainloop.hpp
index f48e590..d4ef2c4 100644
--- a/mainloop.hpp
+++ b/mainloop.hpp
@@ -7,6 +7,8 @@
 #include "sensorset.hpp"
 #include "interface.hpp"
 
+static constexpr auto default_interval = 1000000;
+
 using Object = std::map<InterfaceType, std::experimental::any>;
 using ObjectInfo = std::tuple<sdbusplus::bus::bus*, std::string, Object>;
 
@@ -71,4 +73,6 @@
         const char* _root;
         /** @brief DBus object state. */
         SensorState state;
+        /** @brief Sleep interval in microseconds. */
+        uint64_t _interval = default_interval;
 };
