diff --git a/src/board/system76/darp5/include/board/kbled.h b/src/board/system76/darp5/include/board/kbled.h
index 373ff89..895542c 100644
--- a/src/board/system76/darp5/include/board/kbled.h
+++ b/src/board/system76/darp5/include/board/kbled.h
@@ -4,6 +4,7 @@
 #include <stdint.h>
 
 void kbled_init(void);
+void kbled_reset(void);
 uint8_t kbled_get(void);
 void kbled_set(uint8_t level);
 void kbled_set_color(uint32_t color);
diff --git a/src/board/system76/darp5/kbled.c b/src/board/system76/darp5/kbled.c
index 530392c..cbb850b 100644
--- a/src/board/system76/darp5/kbled.c
+++ b/src/board/system76/darp5/kbled.c
@@ -16,8 +16,23 @@ static uint8_t __code levels[] = {
 
 void kbled_init(void) {
     i2c_reset(&I2C_KBLED, true);
+}
+
+void kbled_reset(void) {
     kbled_set(0xFF);
     kbled_set_color(0xFFFFFF);
+    
+    // Enable output of channel 0 - 8
+    uint8_t value = 0xFF;
+    kbled_i2c_set(0x14, &value, 1);
+    value = 0xFF;
+    kbled_i2c_set(0x15, &value, 1);
+    value = 0x03;
+    kbled_i2c_set(0x16, &value, 1);
+
+    // Exit sleep mode
+    value = 0;
+    kbled_i2c_set(0x00, &value, 1);
 }
 
 uint8_t kbled_get(void) {
@@ -41,16 +56,19 @@ void kbled_set(uint8_t level) {
 }
 
 void kbled_set_color(uint32_t color) {
+    // Set channel 0 - 2 to blue component
     uint8_t b = (uint8_t)(color);
     kbled_i2c_set(0x02, &b, 1);
     kbled_i2c_set(0x03, &b, 1);
     kbled_i2c_set(0x04, &b, 1);
 
+    // Set channel 3 - 5 to green component
     uint8_t g = (uint8_t)(color >> 8);
     kbled_i2c_set(0x05, &g, 1);
     kbled_i2c_set(0x06, &g, 1);
     kbled_i2c_set(0x07, &g, 1);
 
+    // Set channel 6 - 8 to red component
     uint8_t r = (uint8_t)(color >> 16);
     kbled_i2c_set(0x08, &r, 1);
     kbled_i2c_set(0x09, &r, 1);
diff --git a/src/board/system76/darp5/power.c b/src/board/system76/darp5/power.c
index daeb04b..21898c2 100644
--- a/src/board/system76/darp5/power.c
+++ b/src/board/system76/darp5/power.c
@@ -2,6 +2,7 @@
 #include <arch/time.h>
 #include <board/battery.h>
 #include <board/gpio.h>
+#include <board/kbled.h>
 #include <board/lid.h>
 #include <board/power.h>
 #include <board/pmc.h>
@@ -283,6 +284,8 @@ void power_event(void) {
         // LPC was just reset, enable PNP devices
         pnp_enable();
         //TODO: reset KBC and touchpad states
+
+        kbled_reset();
     }
     rst_last = rst_new;