diff --git a/system/dev/display/astro-display/astro-display.cpp b/system/dev/display/astro-display/astro-display.cpp
index 11c3811..2869421 100644
--- a/system/dev/display/astro-display/astro-display.cpp
+++ b/system/dev/display/astro-display/astro-display.cpp
@@ -382,8 +382,9 @@
         return status;
     }
 
-    // Turn on backlight
+    // Turn on backlight and set to maximum
     backlight_->Enable();
+    backlight_->SetMax();
 
     {
         // Reset imported_images_ bitmap
diff --git a/system/dev/display/astro-display/backlight.cpp b/system/dev/display/astro-display/backlight.cpp
index e3859d9..7454c88 100644
--- a/system/dev/display/astro-display/backlight.cpp
+++ b/system/dev/display/astro-display/backlight.cpp
@@ -62,6 +62,20 @@
     return ZX_OK;
 }
 
+void Backlight::SetMax() {
+    uint8_t cmd[] = {0x00, 0xff};
+    if (i2c_write_sync(&i2c_, &cmd, 2) != ZX_OK) {
+        DISP_ERROR("Could not set backlight to maximum value\n");
+    }
+}
+
+void Backlight::SetMin() {
+    uint8_t cmd[] = {0x00, 0x01};
+    if(i2c_write_sync(&i2c_, &cmd, 2) != ZX_OK) {
+        DISP_ERROR("Could not set backlight to minuimum value\n");
+    }
+}
+
 void Backlight::Enable() {
     ZX_DEBUG_ASSERT(initialized_);
     if (enabled_) {
diff --git a/system/dev/display/astro-display/backlight.h b/system/dev/display/astro-display/backlight.h
index eb0b2ee..fe3642f 100644
--- a/system/dev/display/astro-display/backlight.h
+++ b/system/dev/display/astro-display/backlight.h
@@ -19,6 +19,8 @@
     zx_status_t Init(zx_device_t* parent);
     void Enable();
     void Disable();
+    void SetMax();
+    void SetMin();
 
 private:
     gpio_protocol_t                 gpio_ = {};
