Skip to Content

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.csv and starts a fresh one

Both settings are remembered across power cycles.

The columns

log.csv
BootID,MinSinceBoot,Temperature,Humidity,Pressure,Smoke,PM 0.3,PM 2.5,PM 10,VOC,LPG,Fan Speed,Left Weight,Right Weight
ColumnMeaning
BootIDWhich power-on session this row belongs to
MinSinceBootMinutes since that power-on
Temperature°C, from the BME680
Humidity% relative humidity
PressurePascals, so expect about 101325 at sea level rather than 1013
SmokeRaw MEMS smoke reading
PM 0.3Particles at or above 0.3 µm
PM 2.5µg/m³
PM 10µg/m³
VOCAir quality score, 0 to 500, lower is better
LPGRaw MQ-2 gas reading
Fan SpeedFilter fan %, as actually commanded
Left WeightLeft load cell, grams
Right WeightRight 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:

  • BootID counts 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.
  • MinSinceBoot is 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.5 against Fan Speed to see whether auto mode is reacting the way you want, and to pick better values for autoFilterImpMin and autoFilterImpMax in data.clu
  • Plot Temperature across a long print to find out whether your enclosure actually holds the temperature you assumed
  • Watch LPG and Smoke during 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 Weight plus Right Weight to measure how much filament a print really used
Last updated on