Open-source sauna infrastructure
Prepare a sauna logger
SLOG is open source software for logging saunas. Install the firmware, verify the logger, and assign its eight temperature probes. Everything stays in this browser. Radio setup is optional: only add it if you want a separate receiver to show live readings. Recording and USB downloads work without it.
Stage 1 of 3
Stage 1 · Install firmware
Install SLOG firmware
Connect the XIAO ESP32-C3 normally and choose it in the browser. SLOG enters download mode automatically, then identifies the board before anything can be written.
- Connect USB normally. No button sequence is normally required, including on a new board.
- Free the serial port. Close other SLOG tabs, PlatformIO, and serial monitors.
- Choose the logger. SLOG switches it into ROM download mode and checks the target.
Manual connection recovery
Automatic download mode did not work. Use this physical fallback only for the same XIAO ESP32-C3 you intended to install.
- Disconnect USB and any other power from the board.
- Hold BOOT, reconnect USB, then release BOOT after the board appears.
- Choose the logger again. After flashing, press RESET or power-cycle it if the running logger does not appear.
If other power must remain connected, hold BOOT and press RESET once instead of reconnecting USB.
- Release
- —
- Target
- —
- Manifest
- —
- Image integrity
- —
- Validate manifest and image hashes
- Enter ROM download mode and identify the ESP32-C3
- Write firmware
- Verify the written image
SLOG accepts only its versioned release manifest and SHA-256-verified image set. There is no file picker or erase option.
Probe setup · Connect
Connect the running logger
Reset into the installed firmware, then choose the serial port that reappears.
- Logger
- —
- Firmware
- —
- Configuration
- —
- Sending eight positions
- Writing CRC-protected map
- Reading map back
- Restarting logger
- Verifying active generation
- Checking all eight probes
Only the device you select is shared with this page. Nothing is uploaded.
Fixed geometry
Probe order
0 of 8 identified
| Probe | Relative position | Status | Temperature | ROM address |
|---|
Technical details
Device and probe details for troubleshooting. The read-only USB transcript is in Diagnostics at the bottom of the page.
- Protocol
- —
- Source commit
- —
- OTA slot
- —
- Generation
- —
- Configuration CRC
- —
- USB device
- —
SLOG records
Stored sauna records
Download CRC-checked raw files from the logger. Save and verify is safest; if the browser cannot verify a saved file, an explicit removal override is available.
Logger
Storage status
Not connected
- Recording
- —
- Storage
- —
- 12-hour reserve
- —
- Retention
- —
Storage recovery and erasure
SLOG checks the firmware before reading records. Downloads pause while a recording is active. Nothing is uploaded.
The logger samples every 10 seconds while awake or recording. When cold, it checks every 150 seconds and resumes fast sampling at 35 °C or a probe fault. Recording starts after a valid probe stays above 40 °C for 30 seconds. A start soon after standby may have less pre-trigger history.
Files on logger
Sauna runs
No file list loaded
Connect a logger to inspect its records.
SLOG analysis
Analyze sauna sessions
Open one or more .slog files to view charts and export
session data. Time while the logger was powered off stays unknown.
Raw files
Open session files
Files are read locally and never uploaded.
- Segments
- —
- Observed duration
- —
- Start
- —
- Integrity
- —
Temperature timeline
Power-off gaps have unknown duration and are not included in the time axis.
Heating and cooling rate
Selected probe · centered 60-second trend · matched time axis.
| Probe | Height | Samples valid / missing | Peak | Mean | Time at peak | First reached 40 °C | Time ≥ 80 °C | Fastest heating |
|---|
Data checks and notes
Optional · Live receiver display
Add a live receiver
Only set up radio if you want a separate receiver unit to show real-time temperatures. Your logger records sessions, downloads them over USB, and opens them in Analyze without radio pairing.
Have a receiver? Pair both boards over USB below. They then exchange encrypted local readings without a router or internet connection. Radio stays off until pairing is saved.
01 · Identify
Connect either board
No board connected
Choose a logger or receiver to inspect its radio.
An already connected logger is reused. To switch boards, use Disconnect in the header, then choose the other board. Close other portal tabs and serial monitors.
Connection troubleshooting and details
If connection times out, reconnect USB only when the logger is cold and idle. Do not restart an active recording.
No board connected.
02 · Prepare
One kit for both boards
Connect each board in turn to fill in its address. Prepare once, then use the same private recovery kit for both.
Preparing again creates new keys. The recovery kit stays on your computer and contains private radio keys.
03 · Apply and verify
Finish each board
Prepare or restore a kit to begin.
Apply to the connected board, reboot it, then reconnect to verify. Repeat for the other board. Pairing is complete when the receiver shows live readings.
Pairing changes and reboot are refused while the logger is recording. Wait for recording to finish before setup.
Reception test
Wake the logger
Open five minutes of live readings without restarting or changing the saved profile. In cold standby the radio sleeps between heartbeats; this is expected.
Saved heartbeat profile
Normal sends a cold heartbeat every 15 minutes; test sends one every 5 minutes. Both check temperatures every 150 seconds and restore 10-second sampling on heat or a probe fault. Profile changes are refused during recording or probe setup.
Recover a radio fault
Restart only the radio while temperature acquisition and recording continue. For a sleeping logger, use Wake above.