DRAFT PAGE. The flash button below needs real LTAK firmware binaries and a manifest that do not exist yet (see "What is needed to make this live"). Nothing can be flashed from this page today.
FLASH YOUR DEVICE · v0.1 · NOV 2026

Flash your LTAK device

Load the LTAK firmware onto a Seeed XIAO ESP32S3 + Wio-SX1262 straight from your browser. No programs to install and no drivers. You plug the device into a computer with a USB-C cable and click one button.

Before you start

Flashing in the browser uses Web Serial, which only some setups support. Check these first.

✅ You need

  • A desktop or laptop computer (not a phone or tablet)
  • Chrome, Edge, or Opera (recent version)
  • A USB-C data cable (some cables are charge-only and will not work)
  • Your XIAO ESP32S3 + Wio-SX1262 device

❌ Will not work

  • Safari and Firefox (no Web Serial support) blocked
  • Phones and tablets (iPhone, iPad, Android) blocked
  • A page served over plain http:// (Web Serial needs https:// or localhost)
No computer handy? This is a one-time setup step done by whoever provisions the kits, not something a member does in an emergency. If you received a device from the church, it is already flashed and you do not need this page.

Flash it

  1. Plug the device into your computer with a USB-C data cable. The small light on the board should come on.
  2. Choose the firmware for the kind of device you are making (see Which firmware below). The flasher detects the chip automatically, but you still pick the role.
  3. Click the button and, in the little window that appears, choose the serial port that shows up (often named "USB JTAG/serial" or "USB Single Serial"). Then confirm.
  4. Wait. It erases and writes the firmware, which takes one to three minutes. Do not unplug it. When it says done, the device restarts on its own.
  5. Finish setup: the device makes a Wi-Fi network named LTAK-…. On a phone, join it and the setup page opens. Set the member or station details, then write the login password inside the battery door.

⚡ LTAK firmware installer

Pick a role, plug in the device, then click. The installer checks your browser and the chip for you.

⚠ Your browser cannot flash devices. Use Chrome, Edge, or Opera on a computer. ⚠ This page must be opened over https:// to flash a device.

The button above is the real installer element. On this draft it has no firmware to load yet, so it will report that there is nothing to install. See below.

Which firmware

There are three roles. The flasher detects the ESP32-S3 chip; you choose the role, which selects the matching firmware.

Pocket node
The basic member device. Hosts the check-in Wi-Fi page, signs its own check-ins, runs on AA batteries. This is what most people get.
Repeater radio (companion)
A XIAO that plugs into a Raspberry Pi over USB. Runs stock MeshCore companion firmware on the LTAK channel; the Pi does the rest.
Relay-only node
A cheap coverage filler on a roof or hilltop. Stock MeshCore repeater firmware on the LTAK channel. No Pi, no mailbox.
Everything is set to the LTAK radio channel. All three are built with the LTAK frequency, bandwidth, and sync word so they only talk to each other and never to public Meshtastic or MeshCore nodes. Confirm the channel from your own spectrum survey before building the real firmware (see the feasibility report and ltak/freqplan.py).

After flashing

DeviceWhat should happen
Pocket nodeA Wi-Fi network LTAK-… appears. Join it with a phone and the setup page opens. It asks for the member's details and shows the login password to write inside the battery door.
Repeater radioNo Wi-Fi of its own. Plug it into the Pi; the Pi's LTAK service will find it on the USB serial port.
Relay-onlyStarts relaying on the LTAK channel right away. Nothing to configure.

To re-flash or change a device's role later, just come back to this page and flash again. It overwrites whatever was there.

Troubleshooting

ProblemTry this
The button says my browser is not supportedUse Chrome, Edge, or Opera on a computer. Safari, Firefox, and all phones cannot flash.
No serial port appears in the chooserTry a different USB-C cable (many are charge-only). Try another USB port. On Windows the driver is built in; on older machines you may need the CP2102/CH340 driver only if the port never appears.
It will not connect or fails partwayUnplug and replug. Hold the BOOT button while plugging in to force bootloader mode, then click Connect again.
It flashed but no LTAK-… Wi-Fi showsGive it 30 seconds after the restart. Press the side button to wake Wi-Fi. Check you flashed the pocket node role (the other two have no Wi-Fi).
"This page must be opened over https"The flasher only works from the real hosted site (an https:// address), not from a file opened off your disk.

What is needed to make this live

This page cannot flash anything yet. The firmware does not exist as a flashable binary. Three things are needed first.
  1. Build the firmware. Compile the LTAK builds from the fork with PlatformIO (see firmware/FIRMWARE_PLAN.md): LTAK_Xiao_S3_companion_usb, LTAK_Xiao_S3_repeater, and the pocket-node build once its main.cpp is written. Each produces a factory .bin.
  2. Merge each build into one binary at offset 0 so ESP Web Tools can write it in a single step. PlatformIO's merge-bin.py (already in the fork) does this, or esptool.py merge_bin.
  3. Add a manifest per role. A small JSON file tells the installer which binary to write. Put the binaries and manifests in a firmware/ folder next to this page, and host the whole site over HTTPS.

Example firmware/manifest-pocket.json (the ESP Web Tools format — the installer auto-detects the ESP32-S3 and writes the one matching build):

{
  "name": "LTAK Pocket Node",
  "version": "0.1.0",
  "new_install_prompt_erase": true,
  "builds": [
    {
      "chipFamily": "ESP32-S3",
      "parts": [
        { "path": "ltak-pocket-0.1.0.bin", "offset": 0 }
      ]
    }
  ]
}

And the one line in this page's <head> that loads the installer (uncomment it once the firmware is ready; it is left out of this draft on purpose):

<script type="module"
  src="https://unpkg.com/esp-web-tools@10/dist/web/install-button.js?module"></script>
Pin the version. For a system people depend on, host your own copy of esp-web-tools and the merged binaries rather than loading them from a CDN at flash time, so a device can still be built if the internet or the CDN is down. Keep a known-good firmware version archived.

Safety and security notes