diff --git a/epicardium/modules/max30001.c b/epicardium/modules/max30001.c
index 2cb97595f2f4c4f1514c3c314fa7bca04660f998..6ef6b566d0ed3206a613fef7df3de2cc9ca40538 100644
--- a/epicardium/modules/max30001.c
+++ b/epicardium/modules/max30001.c
@@ -154,11 +154,14 @@ static void max30001_handle_samples(int16_t *sensor_data, int16_t n)
 	}
 
 	while (n--) {
+		uint16_t data = -*sensor_data++;
 		if (xQueueSend(
 			    max30001_stream.queue,
-			    sensor_data++,
+			    &data,
 			    MAX30001_MUTEX_WAIT_MS) != pdTRUE) {
-			// TODO; handle queue full
+			LOG_WARN(
+				"max30001",
+				"queue full"); // TODO; handle queue full
 		}
 	}
 	api_interrupt_trigger(EPIC_INT_MAX30001_ECG);
@@ -336,9 +339,10 @@ static int max30001_fetch_fifo(void)
 
 		// Check if FIFO has overflowed
 		if (ETAG[readECGSamples - 1] == FIFO_OVF_MASK) {
-			ecg_write_reg(
-				FIFO_RST,
-				0); // Reset FIFO TODO: report overflow
+			ecg_write_reg(FIFO_RST, 0); // Reset FIFO
+			LOG_WARN(
+				"max30001",
+				"fifo overflow"); // TODO; handle fifo full
 		}
 		max30001_handle_samples(ecgSample, readECGSamples);
 	}