Skip to content

About

Multi-app firmware hub for LilyGO T5 E-Paper S3 Pro — factory launcher, SD install, RST double-press return

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Basilauncher

Multi-app firmware hub for the LilyGO T5 E-Paper S3 Pro

License: MIT Platform Board Version

Basilauncher is a factory-partition launcher: it boots first after reset, lets you install guest firmwares from the SD card into flash slots, and comes back when you double-press RST — without patching those guests.

If Basilauncher is useful on your T5 Pro, a GitHub star helps others find it.

Download

Pre-built images: Releases (latest: v1.4.62).

Easiest install: open the web flasher (Chrome/Edge), plug in the T5 Pro, click Connect & flash.

Wi-Fi transfer (on device): pull down the shade and tap the Wi-Fi tile to start the hotspot. Hold the tile for the password and QR. The network is Basilauncher with password basilauncher until you change it (on the device, or on the transfer page). Scan the Join Wi-Fi QR, then scan Open page / visit http://192.168.4.1/. Browse any SD folder and upload one or more files (e.g. /firmware for apps, /sleep for .bmp/.jpg wallpapers). The tile and the status-bar icon fill in while the hotspot is on.

Asset Offset When
basilauncher-*-full.bin 0x0 First install — one file (also what the web flasher uses)
basilauncher-*-t5pro.bin 0x10000 Everyday hub update (guests untouched)
basil-bootloader.bin 0x0 Bootloader-only refresh
basilauncher-*-partitions.bin 0x8000 Partition table only

First install via esptool (one file):

esptool.py --chip esp32s3 -p PORT write-flash 0x0 basilauncher-1.4.62-full.bin

Full recipes: docs/flashing.md · Web flasher.

Hardware

Board LilyGO T5 E-Paper S3 Pro (T5-ePaper-S3-Pro, ESP32-S3 + 8 MB PSRAM)
Panel 960×540 e-paper (UI is portrait 540×960)
Touch GT911
Power BQ25896 charger + fuel gauge
Storage microSD (apps under /firmware, sleep art under /sleep)

Also searchable as: LilyGO T5 S3 Pro, T5 epaper S3 Pro, ESP32-S3 e-ink launcher.

Features

  • Four guest slots (ota_0…ota_3) — best-fit install from /firmware/*.bin
  • Protected factory hub — on-device UI never overwrites the launcher
  • RST double-press custom bootloader — return from any guest without app changes
  • Files explorer — browse SD, install bins, view BMPs, edit text, clipboard
  • Quick settings shade — frontlight, scrub, jump to Settings
  • Sleep screensaver — random BMPs from /sleep or /.sleep, short BOOT to change, hold BOOT to wake
  • Clock + battery — RTC time, charge lightning / USB plug cues
  • 1 MB spiffs — so Meshtastic-style guests can mount InternalFS

Screenshots

Basilauncher home — four guest slots   Basilauncher Quick settings shade   Basilauncher sleep screensaver

Home · Quick settings · Sleep

Quick start

git clone --recurse-submodules https://github.com/nikbasi/basilauncher.git
cd basilauncher
pio run -e basilauncher
pio run -e basilauncher -t upload   # factory @ 0x10000 only; guests untouched

First flash on a blank board (partition table + custom bootloader once):

# See docs/flashing.md for the full recipe and warnings.
python3 -m esptool --chip esp32s3 -p /dev/cu.usbmodem101 write-flash \
  0x0     bootloader/basil-bootloader.bin \
  0x8000  .pio/build/basilauncher/partitions.bin \
  0x10000 .pio/build/basilauncher/firmware.bin
python3 -m esptool --chip esp32s3 -p /dev/cu.usbmodem101 erase-region 0xe000 0x2000

More detail: docs/flashing.md · docs/partitions.md · docs/guest-apps.md

Returning to the launcher

Reset Boots
RST pressed twice within ~0.8 s Basilauncher (otadata cleared)
RST once / power-on Same app (short wait after first press)
USB host reset, app restart, deep-sleep wake, WDT, crash Same app, no wait

Double-press RST from any guest to get back here.

SD card layout

/firmware/          # .bin images to install into empty slots
  crosspoint-….bin
  meshtastic-….bin
  …
/sleep/             # optional portrait BMPs for the screensaver
  01_forest.bmp

Tap a file in Files → installs into the smallest empty slot that fits. Clear a slot from the home cards when you need space.

Build notes

Uses FreeInk display path: BoardT5S3 + LgfxEpd + M5GFX (not FastEPD — FastEPD’s T5 Pro panel path drives the frontlight pin as data).

; platformio.ini upload writes ONLY factory @ 0x10000, then clears otadata

SDK: submodule nikbasi/freeink-sdk (FreeInk-derived, with LilyGO T5 charge / clean-bank fixes used by this hub).

License

MIT — see LICENSE. FreeInk SDK is MIT (FreeInk / OpenX4 lineage); M5GFX has its own license via PlatformIO.

Related

About

Multi-app firmware hub for LilyGO T5 E-Paper S3 Pro — factory launcher, SD install, RST double-press return

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages