diff --git a/epicardium/modules/light_sensor.c b/epicardium/modules/light_sensor.c
index 3f3573f17564928d18f523c3093fff43681f2d54..de20b6e2b21c20e269f8fb19b8dde76b6a13ffdb 100644
--- a/epicardium/modules/light_sensor.c
+++ b/epicardium/modules/light_sensor.c
@@ -29,8 +29,14 @@ static int light_sensor_init()
 
 uint16_t epic_light_sensor_read()
 {
+	if (hwlock_acquire(HWLOCK_ADC, pdMS_TO_TICKS(1000)) != 0) {
+		return 0;
+	}
+
 	ADC_StartConvert(ADC_CH_7, 0, 0);
 	ADC_GetData(&last_value);
+
+	hwlock_release(HWLOCK_ADC);
 	return last_value;
 }