Data Logging
With an SD card in the mainboard slot, the enclosure can log every sensor reading to
log.csv. Open it in Excel, LibreOffice, pandas, or whatever you like. It is a plain comma
separated file.
Turning it on
On the Sensors page:
- Logging toggles it on and off
- Interval cycles through 5 min, 10 min and 60 min
- Format deletes
log.csvand starts a fresh one
Both settings are remembered across power cycles.
The columns
BootID,MinSinceBoot,Temperature,Humidity,Pressure,Smoke,PM 0.3,PM 2.5,PM 10,VOC,LPG,Fan Speed,Left Weight,Right Weight| Column | Meaning |
|---|---|
BootID | Which power-on session this row belongs to |
MinSinceBoot | Minutes since that power-on |
Temperature | °C, from the BME680 |
Humidity | % relative humidity |
Pressure | Pascals, so expect about 101325 at sea level rather than 1013 |
Smoke | Raw MEMS smoke reading |
PM 0.3 | Particles at or above 0.3 µm |
PM 2.5 | µg/m³ |
PM 10 | µg/m³ |
VOC | Air quality score, 0 to 500, lower is better |
LPG | Raw MQ-2 gas reading |
Fan Speed | Filter fan %, as actually commanded |
Left Weight | Left load cell, grams |
Right Weight | Right load cell, grams |
Fan Speed is the speed the fan is actually running at, including in automatic mode. It is
not the position of the manual slider.
Two columns are easy to misread:
Pressure is in Pascals, not hectopascals. The BME680 reports Pa and the value is logged
straight through, so a normal sea level reading is about 101325. Divide by 100 if you want
hPa or mbar. The Sensors page shows the same raw number.
VOC is not a gas resistance. It is an air quality score the firmware computes from the
BME680’s gas resistance and the humidity reading, on a 0 to 500 scale where lower is
better. It is a relative measure: the firmware keeps a rolling gas reference and scores
against that, so the number is meaningful compared to your own room over time rather than as
an absolute figure you can compare against another machine.
BootID and MinSinceBoot
There is no clock in the enclosure, so it cannot write a real timestamp. Instead:
BootIDcounts power-ons. It is stored in the mainboard’s memory and increments once every time you switch on, so it survives power cuts and firmware updates.MinSinceBootis minutes since that particular power-on, and resets to 0 each time.
Together they give you an unambiguous ordering. Rows with the same BootID are one
continuous session, and a change in BootID means the enclosure was power cycled between
them.
This matters because the log appends. Without BootID you would see the minute counter jump
backwards halfway down the file with no way to tell what happened.
To plot a single print, filter to one BootID and use MinSinceBoot as your x-axis. To
plot across sessions, sort by BootID then MinSinceBoot.
Load cell values
If the load cells are switched off, both weight columns read -404. That is a sentinel value
meaning “not measured”, not a weight. Filter those rows out before plotting.
Practical notes
The file grows forever. It appends, and nothing rotates or truncates it. At 5 minute intervals that is about 288 rows a day. Small, but it never stops. Use the Format button occasionally, or just copy the file off and delete it.
The card is hot-swappable for logging. The card is re-opened on every write, so you can
pull it out mid-print, copy the file, and put it back. Logging resumes at the next interval.
The .clu config files do not work this way, since they are read once at boot.
No card, no log. Logging silently does nothing if there is no card. There is no buffer.
FAT32 only. exFAT is not supported, which catches out cards over 32 GB.
What to do with it
The obvious ones:
- Plot
PM 2.5againstFan Speedto see whether auto mode is reacting the way you want, and to pick better values forautoFilterImpMinandautoFilterImpMaxindata.clu - Plot
Temperatureacross a long print to find out whether your enclosure actually holds the temperature you assumed - Watch
LPGandSmokeduring normal printing before you touch the alarm thresholds. The right threshold is the one with clear headroom above what your printer does anyway - Plot
Left WeightplusRight Weightto measure how much filament a print really used