diff --git a/pycardium/modules/py/display.py b/pycardium/modules/py/display.py
index 3a93af78cc5d359ee96cceb10cc28b10a33e0351..d6b5386477f5bd08d9fe94583b7e331538cf320c 100644
--- a/pycardium/modules/py/display.py
+++ b/pycardium/modules/py/display.py
@@ -91,6 +91,16 @@ class Display:
         sys_display.pixel(x, y, col)
         return self
 
+    def backlight(self, brightness):
+        """
+        Set display backlight brightness
+
+        :param brightness: backlight brightness 0 <= brightness <= 1000
+        """
+
+        sys_display.backlight(brightness)
+        return self
+
     def line(self, xs, ys, xe, ye, *, col=None, dotted=False, size=1):
         """
         Draws a line on the display.
diff --git a/pycardium/modules/qstrdefs.h b/pycardium/modules/qstrdefs.h
index e418c24db58105796aa5b2cb34a1d80acd82af3b..5c9c63a17f50dcf976d2001f641feb3ce274b86d 100644
--- a/pycardium/modules/qstrdefs.h
+++ b/pycardium/modules/qstrdefs.h
@@ -85,6 +85,7 @@ Q(sys_display)
 Q(display)
 Q(print)
 Q(pixel)
+Q(backlight)
 Q(line)
 Q(rect)
 Q(circ)
diff --git a/pycardium/modules/sys_display.c b/pycardium/modules/sys_display.c
index 835f059f802661d804c7c0c2fc8bb7658de22ad3..9762f9438ae2a03a28508e8664e4709cd0534e7e 100644
--- a/pycardium/modules/sys_display.c
+++ b/pycardium/modules/sys_display.c
@@ -79,6 +79,21 @@ static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(
 	display_pixel_obj, 3, 3, mp_display_pixel
 );
 
+/* set display backlight brightness */
+static mp_obj_t mp_display_backlight(size_t n_args, const mp_obj_t *args)
+{
+	uint16_t brightness = mp_obj_get_int(args[0]);
+
+	int res = epic_disp_backlight(brightness);
+	if (res < 0) {
+		mp_raise_OSError(-res);
+	}
+	return mp_const_none;
+}
+static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(
+	display_backlight_obj, 1, 1, mp_display_backlight
+);
+
 /* draw line on the display */
 static mp_obj_t mp_display_line(size_t n_args, const mp_obj_t *args)
 {
@@ -220,6 +235,7 @@ static const mp_rom_map_elem_t display_module_globals_table[] = {
 	{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&display_close_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_print), MP_ROM_PTR(&display_print_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_pixel), MP_ROM_PTR(&display_pixel_obj) },
+	{ MP_ROM_QSTR(MP_QSTR_backlight), MP_ROM_PTR(&display_backlight_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_line), MP_ROM_PTR(&display_line_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_rect), MP_ROM_PTR(&display_rect_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_circ), MP_ROM_PTR(&display_circ_obj) },