Engineers Clinic
BeginnerEngineering trackFP-EC-04

Cold-chain temperature logger with excursion alerts

Build a temperature logger that records every minute, keeps 30 days offline, raises alerts on 2–8 °C excursions and door openings, uploads over MQTT and calculates mean kinetic temperature per trip, all testable in Wokwi.

Core EngineeringInternet of Things (IoT)
6 Guided Steps35h Internship TierSubmit: Wokwi project or firmware repo + requirements and error budget + Python MQTT consumer with MKT + test report with excursion profilesVerified CertificateAI Rubric Graded
Program Overview

Industry project · for Gulf Fresh Pharma Logistics, a Dubai distributor delivering vaccines and insulin across the UAE in 85 refrigerated vans

Gulf Fresh delivers medicines that must stay between 2 °C and 8 °C. Each van carries a USB data logger that a driver downloads once a week. Last August a van's compressor failed in 46 °C heat on the way to Al Ain. Nobody knew until the weekly download, and a pharmacy group rejected an insulin consignment worth about AED 140,000. The quality manager now wants a connected logger that warns the dispatcher while there is still time to act.

Her requirements are: - record temperature every minute with an accuracy of ±0.5 °C between 0 °C and 15 °C; - store at least 30 days of readings on the device, so nothing is lost when the van is out of coverage; - alert if temperature stays above 8 °C or below 2 °C for more than 10 consecutive minutes, and alert if the cargo door stays open for more than 3 minutes; - upload readings every 5 minutes when there is a connection, and send alerts immediately; - calculate mean kinetic temperature for each trip, which the pharmacies ask for.

You will write the requirements, choose a sensor and build an error budget, write logging firmware with a ring buffer, write the alert logic as a state machine, publish over MQTT to a broker, and write a small Python consumer that stores readings and calculates mean kinetic temperature. Everything can be built and tested in the Wokwi simulator with an ESP32, a DS18B20 sensor and a push-button for the door switch. If you own an ESP32 and a DS18B20, you can run it on hardware too.

Done looks like firmware and a consumer that run end to end, a test report showing alerts fire at the right time on recorded excursion profiles, and a short note the quality manager can use to decide on a vendor.

Embedded C/C++Temperature sensing and error budgetsRing-buffer data loggingState machinesMQTTPython data processing
What you submit

Wokwi project or firmware repo + requirements and error budget + Python MQTT consumer with MKT + test report with excursion profiles

Stack: Wokwi simulator with ESP32, Arduino or PlatformIO, MQTT broker (public test broker or local Mosquitto), Python (paho-mqtt, pandas), DS18B20 datasheet

How it is graded
  • Requirements and error budget15

    Requirements are numbered and testable, and the error budget shows the sensor chain meets ±0.5 °C or states what calibration is needed.

  • Reliable logging25

    Readings are logged every minute to a ring buffer holding 30 days, with timestamps and a sequence number, and nothing is lost when uploads fail.

  • Correct alerts25

    Temperature and door alerts fire exactly at the specified thresholds and delays, clear with hysteresis, and are sent immediately.

  • Working end to end20

    Readings and alerts reach the Python consumer over MQTT, are stored, and mean kinetic temperature is calculated correctly per trip.

  • Clear test report15

    Each requirement has a test with a recorded excursion profile, expected and actual results, and the report is readable by the quality manager.

Pass 60% · Merit 75% · Distinction 90%

Learning Outcomes
Write requirements for a monitoring device
build a sensor error budget
log data in a ring buffer that survives power loss
implement alert rules as a state machine with timers
publish and consume MQTT messages
calculate mean kinetic temperature
Target Audience

Engineering Students

Diploma, B.Tech, B.E., BCA, MCA, or M.Tech students seeking practical experience.

Aspiring Developers

Developers who want to build proof-of-work capstone projects for tech resumes.

Job Seekers

Graduates looking for AI-evaluated code review & verified industry credentials.