Releases: ItsLimitlezz/LimitlezzOS
Release list
LimitlezzOS Alpha 0.44 — messaging polish + lock shortcut
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+Llocks 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
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.