diff --git a/homeassistant/components/sensor/uptime.py b/homeassistant/components/sensor/uptime.py
index 89c0fbffd8ec28d105d8e4234cac213cfb8f8ed6..91746af71f11b7ba44de80b5dd56ac5a3ef52ac1 100644
--- a/homeassistant/components/sensor/uptime.py
+++ b/homeassistant/components/sensor/uptime.py
@@ -23,7 +23,7 @@ DEFAULT_NAME = 'Uptime'
 PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
     vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
     vol.Optional(CONF_UNIT_OF_MEASUREMENT, default='days'):
-        vol.All(cv.string, vol.In(['hours', 'days']))
+        vol.All(cv.string, vol.In(['minutes', 'hours', 'days']))
 })
 
 
@@ -73,6 +73,8 @@ class UptimeSensor(Entity):
         div_factor = 3600
         if self.unit_of_measurement == 'days':
             div_factor *= 24
+        elif self.unit_of_measurement == 'minutes':
+            div_factor /= 60
         delta = delta.total_seconds() / div_factor
         self._state = round(delta, 2)
         _LOGGER.debug("New value: %s", delta)
diff --git a/tests/components/sensor/test_uptime.py b/tests/components/sensor/test_uptime.py
index 991ecd3960bb2bf901d5cbc9fab40d0692d73e3c..5e8c39ad889db901e7d82728ac01373b88be8df4 100644
--- a/tests/components/sensor/test_uptime.py
+++ b/tests/components/sensor/test_uptime.py
@@ -49,6 +49,16 @@ class TestUptimeSensor(unittest.TestCase):
         }
         assert setup_component(self.hass, 'sensor', config)
 
+    def test_uptime_sensor_config_minutes(self):
+        """Test uptime sensor with minutes defined in config."""
+        config = {
+            'sensor': {
+                'platform': 'uptime',
+                'unit_of_measurement': 'minutes',
+            }
+        }
+        assert setup_component(self.hass, 'sensor', config)
+
     def test_uptime_sensor_days_output(self):
         """Test uptime sensor output data."""
         sensor = UptimeSensor('test', 'days')
@@ -86,3 +96,22 @@ class TestUptimeSensor(unittest.TestCase):
                 self.hass.loop
             ).result()
             self.assertEqual(sensor.state, 72.50)
+
+    def test_uptime_sensor_minutes_output(self):
+        """Test uptime sensor output data."""
+        sensor = UptimeSensor('test', 'minutes')
+        self.assertEqual(sensor.unit_of_measurement, 'minutes')
+        new_time = sensor.initial + timedelta(minutes=16)
+        with patch('homeassistant.util.dt.now', return_value=new_time):
+            run_coroutine_threadsafe(
+                sensor.async_update(),
+                self.hass.loop
+            ).result()
+            self.assertEqual(sensor.state, 16.00)
+        new_time = sensor.initial + timedelta(minutes=12.499)
+        with patch('homeassistant.util.dt.now', return_value=new_time):
+            run_coroutine_threadsafe(
+                sensor.async_update(),
+                self.hass.loop
+            ).result()
+            self.assertEqual(sensor.state, 12.50)