Voor een aankomend project wil ik sensordata loggen op een microcontroller. Dit brengt een aantal beperkingen met zich mee: een microcontroller heeft niet veel opslagruimte en niet veel RAM.
Met een module kan er een sdkaart aangesloten worden aan een microcontroller, wat het eerste probleem oplost. Echter blijft het tweede probleem bestaan. Normaliter wordt er gebruik gemaakt van een database om meetpunten te loggen, of een bestandstype zoals JSON, wat 'human-readable' is en makkelijk te parsen. Deze oplossingen berusten op het feit dat er genoeg RAM is, omdat het lastig is gestructureerde data op een niet-structurele wijze op te slaan.
In mijn situatie is dat echter niet mogelijk. Na wat online speurwerk kwam ik tot de conclusie dat er niet een systeem bestaat dat eenvoudig sensordata logt, wat ook verkrijgbaar is voor hobbyisten, dus besloot ik zelf een bestandstype in leve te blazen: ESL Codec, ofwel ESP32 Sensor Log Codec.
De structuur van de codec heb ik gebaseerd op de AVI codec. Dit is een zeer eenvoudig bestandsformaat die ik eerder al werkend heb gekregen op de ESP32. Ik heb geprobeert geheugen pointers in de codec te implementeren, maar heb dit achter wege gelaten. Het realiseren hiervan bleek zeer lastig en het doeleinde was niet om een databsse systeem te maken, maar een logger.