diff --git a/ampel-firmware/co2_sensor.cpp b/ampel-firmware/co2_sensor.cpp
index 833968f9f9ad76e50a66d6e681cba8e397bfd840..4f2a3ecda51b769435dcbc3be6bb9a3ac75a5f11 100644
--- a/ampel-firmware/co2_sensor.cpp
+++ b/ampel-firmware/co2_sensor.cpp
@@ -226,9 +226,11 @@ namespace sensor {
    * Returns true if fresh data is available, for further processing (e.g. MQTT, CSV or LoRa)
    */
   bool processData() {
-    bool freshData = scd30.dataAvailable();
-
+    static unsigned long last_measurement = 0;
+    unsigned long now = seconds();
+    bool freshData = now - last_measurement > config::measurement_timestep;
     if (freshData) {
+      last_measurement = now;
       ntp::getLocalTime(timestamp);
       co2 = sensor_S8->get_co2();
       temperature = 0.0;