🎵 Music
MP3/AAC/FLAC/WAV from SD, artist/album/playlist browser, ID3 tags (cached), shuffle & repeat, sleep timer, resume after reboot.
An alternative open-source firmware for the
LilyGO T-Deck Pro.
Music, audiobooks, eBooks and LoRa mesh chat — in one handheld. Like the desert fox: small, frugal, big ears.
GPL-3.0-or-later ESP32-S3 E-Ink 240×320 LoRa / MeshCore
Fennek turns the LilyGO T-Deck Pro (ESP32-S3, E-Ink, LoRa) into a real handheld: listen to music, resume audiobooks, read eBooks and chat over the LoRa mesh via MeshCore — with a homescreen launcher, touch + physical keyboard, and background audio that keeps playing across app switches.
It is a standalone alternative to the factory firmware — built around the hardware's defining quirk, that E-Ink, the SD card and LoRa all share one SPI bus, while still delivering stutter-free audio playback.
MP3/AAC/FLAC/WAV from SD, artist/album/playlist browser, ID3 tags (cached), shuffle & repeat, sleep timer, resume after reboot.
Books as folders under /audiobooks, chapters natural-sorted, per-book bookmark, ±30 s jumps, sleep timer.
.txt and .epub from /books, on-device EPUB conversion, page-index cache, per-book reading position.
Lean MeshCore client: public & hashtag channels, DMs with delivery status, contacts from adverts, message log on SD with history reload.
2048, Minesweeper, Chess (Negamax AI) and Tic-Tac-Toe — game logic host-tested.
One note per day under /notes. "+ Today" opens or appends; list shows every day newest-first with a preview.
Radio presets (EU Narrow), individual LoRa parameters, node name, battery info, firmware version.
Status line (battery, playback), key-lock & standby via the button, and a serial debug console over USB.
Rendered pixel-accurately from the real drawing code (240×320 E-Ink).




On the T-Deck Pro, E-Ink, the SD card and LoRa share one SPI bus. The entire architecture revolves around audio never stuttering despite that, and inputs responding instantly:
The full set of anti-stutter invariants lives in
CLAUDE.md.
LilyGO T-Deck Pro V1.1:
Prerequisite: PlatformIO. Connect via USB-C, then:
pio run -e fennek # build
pio run -e fennek -t upload # flash (USB-C)
pio device monitor -b 115200 # log + debug console
Runs even without an SD card. Custom firmware replaces the factory software — flash at your own risk.