v0.3.1
Pre-releaseChanges since v0.3.0
- EDF generation overhaul — replaced protobuf event parsing with JSON
events.sntstream for EVE/CSL.edf generation. Sessions with invalid timestamps from crash-recovery 0-byte.sntfiles are now skipped instead of producing corrupt EDF output. - Custom NTP server — configurable via WebUI, saved to NVS; overrides DHCP/default servers when set
- Initial NTP sync enforcement — 3 attempts (~45s), failure triggers screen message + audible alarm (5×1s beeps) + hard reboot
- ES8311 audio driver — clean-room I2C+I2S implementation for beep tone generation (
bsp_audio.c/h)- Fixed I2C address (8-bit
0x30→ 7-bit0x18) - Fixed I2S DOUT/DIN pin swap (IO12/IO11)
- Bus probe with full scan fallback for diagnostics
- Fixed I2C address (8-bit
- SD card display — condensed free space format
- Log rotation — increased to 512 KB (4×128 KB), fixed path separator bugs
Upgrade notes for v0.3.1
Recommended actions after upgrading
-
Recreate EDF files — Use the WebUI action "Recreate EDFs". This
deletes all existing EDFs inSDCARD/and regenerates them from the
.sntstream files using the new JSON event parser. Sessions with
invalid timestamps (from crash-recovery 0-byte.sntfiles) are now
skipped automatically.Warning: Recreating EDFs resets the uploader state and triggers a
full re-upload of all EDF files to SMB/SleepHQ. If you have a large
session history, this may take a long time and consume significant
bandwidth. -
Delete stale log files — Previous firmware versions wrote log
files (somnotrace.log.*) to the SD card root. These are now stored
in/.logs/. The old root-level log files can be safely deleted
manually to free SD card space. -
Configure NTP server (optional) — A custom NTP server can now be
set via the WebUI WiFi/Timezone page. If set, it overrides DHCP-provided
and default public NTP servers. This is useful for restricted networks
or offline setups with a local NTP server.
Notes
- The initial NTP sync is now mandatory — if it fails after 3 attempts
(~45s), the device will beep (5×1s), display "NTP Sync Failed", and
reboot. Ensure your NTP server is reachable. - No firmware settings are lost during upgrade (NVS partition preserved).