Skip to content

Releases: ItsLimitlezz/LimitlezzOS

LimitlezzOS Alpha 0.44 — messaging polish + lock shortcut

Choose a tag to compare

@ItsLimitlezz ItsLimitlezz released this 13 Jun 23:25

LimitlezzOS Alpha 0.44 — a mesh-native handheld OS for the LilyGO T-Deck that puts Meshtastic (and soon MeshCore) behind a clean, phone-like interface. This builds on the first public release (v0.41) with messaging polish, input fixes, and a lock shortcut — all hardware-tested.

✨ New since 0.41

Messaging

  • Unread chats are highlighted in the list (dark-mint row + brighter name).
  • Unread counter badge on the Messages home icon — iPhone-style, shows 1–9 then "9+" (muted chats excluded).
  • Silence a chat — long-press any Direct or Channel conversation to mute/unmute. Muted chats show a small crescent moon and raise no notification and don't count toward the badge.

Lock screen & input

  • sym + L locks the device from anywhere (it still types a " inside a message, Wi-Fi password, or the terminal).
  • Lock-screen tap fix — tapping the notification opens that chat; tapping anywhere else just unlocks to home.
  • Tap-to-wake hardened — a wake tap now only lights the screen; it can no longer "fall through" and open the latest chat. Tap again to act.

Under the hood

  • Tap vs. hold is now unambiguous (taps fire on short-click), so hold-to-mute never also opens the chat.

📦 Everything from 0.41 (still here)

Encrypted PKI direct messages both ways, LongFast channel messaging, a USB companion bridge for the official Meshtastic app, a virtualized node list (handles a big mesh without running out of memory), Wi-Fi, DST-aware clock, the iPhone-style dark UI (status bar, white battery glyph, grouped Settings cards), and lock-screen notifications.

📥 Install

Flash LimitlezzOS-Alpha-0.44-tdeck.bin to a LilyGO T-Deck (full image at offset 0x0). The T-Deck's native USB CDC needs 115200 + --no-stub (no baud switch, no stub):

esptool.py --chip esp32s3 --port /dev/cu.usbmodemXXXX --baud 115200 --no-stub \
  --before default_reset --after hard_reset write_flash 0x0 LimitlezzOS-Alpha-0.44-tdeck.bin

⚠️ Known limitations (Alpha)

  • MeshCore receive/messaging isn't live yet (gated "Coming soon").
  • BLE companion isn't here yet — pairing is USB-only.
  • Muting is per-session (not yet persisted across reboots).
  • A few screens (App Store, Files) are still partly placeholder.

⏭️ Next

0.45 responsiveness pass (Settings/chat-log/keyboard latency), then 0.5 BLE companion + Developer mode.

LimitlezzOS Alpha 0.41 — first public release

Choose a tag to compare

@ItsLimitlezz ItsLimitlezz released this 13 Jun 21:40

LimitlezzOS is a mesh-native handheld OS for the LilyGO T-Deck (ESP32-S3 + SX1262 LoRa + BlackBerry keyboard + trackball). It puts Meshtastic — and, soon, MeshCore — behind one clean, phone-like interface: a unified inbox, encrypted direct messages, a live node map of who's nearby, and a full settings/system experience. It's real LVGL firmware on the device and a desktop SDL2 simulator that shares the exact same UI code.

This is the first public Alpha. The core Meshtastic experience is genuinely usable on real hardware; a few things are still gated (called out below).


💬 Messaging

  • Encrypted direct messages (PKI) — true end-to-end 1:1 DMs using Meshtastic's X25519 + AES-256-CCM scheme, byte-for-byte interoperable with stock Meshtastic firmware. Keys are learned from NodeInfo, persisted across reboots, and a DM you send before you have someone's key is queued and delivered automatically once it arrives.
  • Delivery status — your sent DMs show green = sending, blue = delivered (real ROUTING acks), red = failed. Long-press a failed message to resend.
  • Channels — the LongFast primary broadcast channel: message everyone nearby.
  • Unified inbox — Direct / Channels tabs, All / Meshtastic / MeshCore filters, unread badges, network dots, and dimming for disabled networks.
  • Profiles from anywhere — tap a DM's name to open the contact's profile; long-press a sender in a channel to pull up theirs and start a DM or add them as a contact.

📡 Mesh & radio

  • Live Meshtastic stack on the SX1262 (LongFast: 906.875 MHz, SF11, BW 250 kHz, 22 dBm) with managed-flood rebroadcast, CSMA listen-before-talk, duplicate suppression, and airtime accounting.
  • Node manager — identity card + a virtualized node list that holds up to 250 nodes (matching the official device-ui) and only renders what's on screen, recycling rows as you scroll so a big mesh never runs the device out of memory. Each node shows SNR (color-coded), role, distance, and last-heard.
  • Two networks, one radio — time-division multiplexing round-robins the SX1262 between Meshtastic and MeshCore RF profiles. Both on → airtime splits 50/50; one on → it gets 100%; neither → idle.
  • MeshCore — the RF profile and Ed25519-signed ADVERT discovery are built and transmit, but receiving isn't wired up yet, so MeshCore is shown as "Coming soon" in this Alpha.

🔌 Companion bridge (USB)

  • Pair the official Meshtastic phone/desktop app over USB (Nodes tab → Companion mode). Full Stream-API handshake — device info, metadata, channel, node DB, config — then live send/receive through the T-Deck's own radio. Verified working on hardware. (Wireless BLE companion is the 0.5 beta.)

🔒 Lock screen & home

  • Lock-screen notifications — a centered new-message card; tap it to jump straight into the chat (and it clears once you've read it). "+N more" appears when several conversations are waiting.
  • Tap-to-wake, then tap-to-unlock — the first touch/key only lights the screen; a second one unlocks, so a bump in your pocket can't open it.
  • Home — an 8-app launcher (Messages, Meshtastic, MeshCore, Contacts, App Store, Terminal, Files, Settings) with trackball focus navigation.

⚙️ Settings, system & tools

  • iPhone-style dark UI — a status bar with the time on the left and signal bars + Wi-Fi + a white battery glyph on the right; grouped Settings cards with hairline dividers; enabled-network icons on the lock screen.
  • Wi-Fi — scan, connect (open / WPA2 / WPA3), save passwords, auto-connect, and forget networks; time syncs over Wi-Fi.
  • Time — DST-aware time zones (14 presets), manual date/time editor, and a 12/24-hour toggle.
  • Display & power — brightness slider, keyboard-backlight modes, screen-sleep timeouts, TX-power levels, power-saving.
  • System — battery ring (% + voltage + health), live CPU/RAM/flash/temperature, and uptime.
  • Touch calibration — a 3-point tap calibration that works on any T-Deck panel and is saved across reboots.
  • Terminal — a real serial/command console; Files — an SD-card browser.

🧱 Under the hood

  • LVGL 8.3.11, aggressively stripped (no themes/decoders), with baked fonts — flat, fast, tear-free double-buffered rendering via LovyanGFX.
  • One UI core, two targets — the native SDL2 simulator (for development + screenshot verification of all screens) and the ESP32-S3 T-Deck firmware build from the same code.
  • Identity, message history, keys, Wi-Fi credentials, node DB, and touch calibration persist to SD card.

📥 Install

Flash LimitlezzOS-Alpha-0.41-tdeck.bin to a LilyGO T-Deck (full image, write at offset 0x0). Because the T-Deck's native USB CDC doesn't tolerate a baud switch or the flasher stub, flash at 115200 with --no-stub:

esptool.py --chip esp32s3 --port /dev/cu.usbmodemXXXX --baud 115200 --no-stub \
  --before default_reset --after hard_reset write_flash 0x0 LimitlezzOS-Alpha-0.41-tdeck.bin

On first boot you'll be walked through naming your node, picking a short callsign, and choosing networks.

⚠️ Known limitations (Alpha)

  • MeshCore receive/messaging isn't live yet (the app + settings are gated "Coming soon").
  • BLE companion isn't here yet — pairing is USB-only for now.
  • Some UI surfaces are still being moved to the new iPhone look; a couple of screens (App Store, Files) are partly placeholder.