SigurdOS T-Deck

SigurdOS T-Deck · Releases

from GitHub · updated 2026-07-18

20 releases

  1. v0.1.45-RC7 # Pre-release 3 days ago · 2026-07-18 09:27 UTC

    SigurdOS T-Deck Firmware — beta-0.1.45-RC7

    Release candidate 7 for the beta-0.1.45 cycle. 181 commits since beta-0.1.44-RC6.

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    SigurdOS-tdeck-launcher.bin For bmorcelli/Launcher install
    manifest.json Web flasher manifest
    sigurdos-tdeck-bootloader.bin Bootloader (web flasher)
    sigurdos-tdeck-partitions.bin Partitions (web flasher)
    sigurdos-tdeck-boot_app0.bin Boot app0 (web flasher)

    Features

    • Companion protocol: binary peer requests (CMD_SEND_BINARY_REQ), anonymous requests (CMD_SEND_ANON_REQ), zero-hop control data (CMD_SEND_CONTROL_DATA), direct raw data (CMD_SEND_RAW_DATA)
    • UI: message detail sheet, contact list power tools, bounded field notifications, timestamped repeater CLI transcripts
    • GPS: demand-driven polling with time sync
    • Mesh: surface repeater session failures
    • CI: dependency scanning, CodeQL analysis gates, release evidence enforcement
    • Performance: virtualized message/packet lists, bounded sparse tile loading
    • Storage: unified message history store

    Fixes

    • Companion/BLE: install private flood-scope keys, synchronize BLE callback/app state, BLE RX queue backpressure, time out unauthenticated connections, defer BLE init until enabled, migrate stale prefs, update pairing PIN, preserve CLI data semantics, accept time unconditionally, enable BLE by default, page full companion backlog, gate repeat by radio profile, align async push IDs
    • Mesh: clear login sessions on identity import, ACK drop counter, require durable mesh mutation commits, scoped flood interop proof, update MeshCore for race-free ISR, reject oversized hashtag names, preserve UTF-8 message boundaries
    • UI: restore textarea date/time inputs, accumulate home grid offsets, bound textarea inputs, route nested screens through nav history, free QR canvas on screen delete, always show repeater login status
    • System: clamp snprintf buffer (CodeQL), make deep sleep persistence-safe, OTA boot-health rollback, fail closed for GitHub OTA channels, support unknown-size multipart OTA, preflight/bound PNG tile decoding, handle HAL allocation failures
    • Build/CI: add -Wall -Wextra, expand sanitizer suite, compile every firmware env, reject stale warning budgets, pin transitive deps, consolidate PlatformIO cache, regenerate dep lock file
    • GPS: route RTC sync through tracked clock sources, preserve mesh clock handoff
    • SD: de-assert non-SD CS pins before mount
    • Various: encode advert path responses safely, validate NMEA semantics, complete message store recovery, expire pending binary requests, update companion delivery state, reject oversized companion pushes, wrap map tiles at antimeridian, propagate NVS write failures, decode trace SNR correctly, validate encoded path lengths

    Documentation

    • Reconcile companion support and missing-features status with pinned MeshCore
    • Refresh README, screen guides, ROADMAP, FEATURES_OVERVIEW, Launcher docs
    • Add Noto Emoji license notice
    • Document companion message visibility limitation

    Hardware Tested (beta-0.1.45-RC7)

    • Native tests: 1219/1220 passed
    • Production build: RAM 39.3%, Flash 40.0%
    • T-Deck boot verified: radio 869.525 MHz, noise floor -94 dBm
    • All 12 screens navigate without crashes
    • Soak: 420 seconds idle, zero crashes, heap stable at 146,808
    • RF transmission confirmed on #testingslopos
    • CI pre-existing: dep hash + golden frame pin fixed; remaining 2 test infra issues pre-date this release

    Evidence

    Release evidence: release-evidence/beta-0.1.45-RC7.json

  2. v0.1.44-RC6 # Pre-release 8 days ago · 2026-07-12 12:37 UTC

    SigurdOS T-Deck Firmware — beta-0.1.44-RC6

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    SigurdOS-tdeck-launcher.bin For bmorcelli/Launcher install
    firmware-debug.bin Debug build with verbose logging
    manifest.json Web flasher manifest
    sigurdos-tdeck-bootloader.bin Bootloader (web flasher)
    sigurdos-tdeck-partitions.bin Partition table (web flasher)
    sigurdos-tdeck-boot_app0.bin Boot app0 (web flasher)
    sigurdos-tdeck-firmware.bin App firmware (web flasher)
    sigurdos-tdeck-full.bin Full image (web flasher)

    What's Changed

  3. v0.1.43-RC5 # Pre-release 22 days ago · 2026-06-28 13:56 UTC

    SigurdOS T-Deck Firmware — beta-0.1.43-RC5

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    SigurdOS-tdeck-launcher.bin For bmorcelli/Launcher install
    firmware-debug.bin Debug build with verbose logging
    manifest.json Web flasher manifest
    sigurdos-tdeck-bootloader.bin Bootloader (web flasher)
    sigurdos-tdeck-partitions.bin Partition table (web flasher)
    sigurdos-tdeck-boot_app0.bin Boot app0 (web flasher)
    sigurdos-tdeck-firmware.bin App firmware (web flasher)
    sigurdos-tdeck-full.bin Full image (web flasher)

    What's Changed

  4. v0.1.42-RC4 # Pre-release 1 month ago · 2026-06-20 21:09 UTC

    SigurdOS T-Deck Firmware — beta-0.1.42-RC4

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    SigurdOS-tdeck-launcher.bin For bmorcelli/Launcher install (same bytes as merged)

    What's Changed

    Full Changelog: https://github.com/

  5. v0.1.41.1 # Pre-release 1 month ago · 2026-06-14 22:52 UTC

    SigurdOS T-Deck Firmware — beta-0.1.41.1

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    SigurdOS-tdeck-launcher.bin For bmorcelli/Launcher install (same bytes as merged)

    Full Changelog: https://github.com/hermes-gadget/SigurdOS-tdeck/compare/beta-0.1.41...beta-0.1.41.1

  6. v0.1.41 # Pre-release 1 month ago · 2026-06-13 13:03 UTC

    SigurdOS T-Deck Firmware — beta-0.1.41

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    SigurdOS-tdeck-launcher.bin For bmorcelli/Launcher install (same bytes as merged)

    What's Changed

  7. v0.1.40 # Pre-release 1 month ago · 2026-06-07 14:38 UTC

    SigurdOS T-Deck Firmware — beta-0.1.40

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)

    What's Changed

  8. v0.1.39 # Pre-release 2 months ago · 2026-06-03 00:52 UTC

    SigurdOS T-Deck Firmware — beta-0.1.39

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/sigurdos-tdeck-firmware.bin App update
    webflasher/sigurdos-tdeck-full.bin Full flash
    webflasher/sigurdos-tdeck-bootloader.bin Bootloader
    webflasher/sigurdos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

  9. v0.1.38 # Pre-release 2 months ago · 2026-06-01 21:42 UTC

    SigurdOS T-Deck Firmware — beta-0.1.38

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/sigurdos-tdeck-firmware.bin App update
    webflasher/sigurdos-tdeck-full.bin Full flash
    webflasher/sigurdos-tdeck-bootloader.bin Bootloader
    webflasher/sigurdos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SigurdOS-tdeck/compare/beta-0.1.37...beta-0.1.38

  10. v0.1.37 # Pre-release 2 months ago · 2026-05-30 17:05 UTC

    SlopOS T-Deck Firmware — beta-0.1.37

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.36...beta-0.1.37

  11. v0.1.36 # Pre-release 2 months ago · 2026-05-29 16:56 UTC

    SlopOS T-Deck Firmware — beta-0.1.36

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.35...beta-0.1.36

  12. v0.1.35 # Pre-release 2 months ago · 2026-05-28 18:42 UTC

    SlopOS T-Deck Firmware — beta-0.1.35

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.34...beta-0.1.35

  13. v0.1.34 # Pre-release 2 months ago · 2026-05-27 21:42 UTC

    SlopOS T-Deck Firmware — beta-0.1.34

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.33...beta-0.1.34

  14. v0.1.33 # Pre-release 2 months ago · 2026-05-27 08:01 UTC

    SlopOS T-Deck Firmware — beta-0.1.33

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

  15. v0.1.32 # Pre-release 2 months ago · 2026-05-24 21:56 UTC

    SlopOS T-Deck Firmware — beta-0.1.32

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.31...beta-0.1.32

  16. v0.1.31 # Pre-release 2 months ago · 2026-05-24 13:38 UTC

    SlopOS T-Deck Firmware — beta-0.1.31

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.30...beta-0.1.31

  17. v0.1.30 # Pre-release 2 months ago · 2026-05-24 01:25 UTC

    SlopOS T-Deck Firmware — beta-0.1.30

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    What's Changed

    New Contributors

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.29...beta-0.1.30

  18. v0.1.29 # Pre-release 2 months ago · 2026-05-23 16:17 UTC

    SlopOS T-Deck Firmware — beta-0.1.29

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.28...beta-0.1.29

  19. v0.1.28 # Pre-release 2 months ago · 2026-05-23 15:57 UTC

    SlopOS T-Deck Firmware — beta-0.1.28

    Flash with esptool

    # Full flash (first install):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin
    
    # App update (keep settings):
    esptool.py --chip esp32s3 --port /dev/ttyACM0 \\
      write_flash 0x10000 firmware.bin
    

    Web Flasher

    Use the manifest at webflasher/manifest.json with esptool.js.

    File Use
    firmware.bin App only (flash at 0x10000)
    firmware-merged.bin Full flash (flash at 0x0)
    webflasher/slopos-tdeck-firmware.bin App update
    webflasher/slopos-tdeck-full.bin Full flash
    webflasher/slopos-tdeck-bootloader.bin Bootloader
    webflasher/slopos-tdeck-partitions.bin Partition table
    webflasher/manifest.json Web flasher manifest

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.27...beta-0.1.28

  20. v0.1.27 # Pre-release 2 months ago · 2026-05-19 19:54 UTC

    SlopOS T-Deck Firmware — beta-0.1.27

    File Use
    firmware.bin OTA update (app only, flash at 0x10000)
    firmware-merged.bin Full flash (bootloader + partitions + app, flash at 0x0)

    Full Changelog: https://github.com/hermes-gadget/SlopOS-tdeck/compare/beta-0.1.26...beta-0.1.27