SoloMedium8m
The IoT Sensor That Died After 30 Days
P0 — 47 devices offline, no crash logs
Ops: Firmware v2.1.0 stopped reporting after day 30. Free heap: 4,096 bytes — but largest allocatable block: 64 bytes.
Maria (Firmware Lead): Heap fragmentation. malloc(512) for MQTT packets returns NULL; publish didn't check NULL — devices go silent. Replace with a static buffer pool in `mqtt_publisher.c`.
Book: malloc, free, heap management · Prod: enough free memory, no contiguous block — silent field failure.
Skills you'll prove
cembeddediotmemory-managementfirmwarebook-vs-prod