Skip to main content

Web Client Overview

Meshtastic Web is a Progressive Web App that runs directly in your browser. There are three ways of accessing the app:

  1. Served directly from an ESP32 based node via meshtastic.local or the device's IP Address.
  2. A hosted version located at client.meshtastic.org.
  3. Running it yourself.

Compatibilityโ€‹

The application will work in all major browsers, but specific functionality is limited in some cases, for the best experience we recommend using Google Chrome.

HTTPโ€‹

This method of connecting has the best support, and has no incompatibilities.

caution

When using the hosted version of the application, all traffic must be served over HTTPS, as Meshtastic nodes generate self-signed certificates, you must inform your browser that you wish to trust the aforementioned certificate. This can be done by first accessing your node directly via your browser: https://NODE_IP_ADDRESS/ replacing NODE_IP_ADDRESS with the IP address of your node. This can be found on the screen of the device, via your router's DHCP lease page or serial console.

You can accessing your device over HTTP after you set up and enabled the Client

Bluetoothโ€‹

Bluetooth support is governed by the availability of the Web Bluetooth API as illustrated blow, support is primarily available in Chromium browsers

Web Bluetooth compatibility matrix

Serial (USB)โ€‹

The method with the least platform support, uses the Web Serial API allows us to connect directly to a Meshtastic node over USB, accessing it directly within your browser.

Web Serial compatibility matrix

Updatingโ€‹

The web interface is now included in firmware releases. There is active development ongoing to fix some issues with updating the web interface from the web interface directly. Please be patient with us as we work on this. Use Meshtastic-flasher to update your device to the current stable build which includes the web interface.

danger

Old documentation below.

If you have just one Meshtastic device on your network, the easiest thing to do is to go to http://meshtastic.local printed on your device screen. That URL should work provided that mDNS (aka ZeroConf) is not blocked on your local network. If you have more than one device or there's a problem with mDNS name resolution, you will have to refer to the device's IP address. The IP address will also be available on the screen. It can also be found by reading the serial logs when the device boots up.

note

The first time your device restarts after enabling WiFi, it will take an additional 20-30 seconds to boot. This is to generate self-signed SSL keys. The keys will be saved for future reuse.

Common Problemsโ€‹

Problem: File not found: /static/index.htmlโ€‹

note

This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with Meshtastic-flasher will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available.

Cause: This most likely means that the file system for the web server has not been loaded. You probably used esphome-flasher or some other GUI tool to flash the firmware.

Solutions:

Option 1) Flash the device with the device-install.sh script that comes packaged with the firmware zip file (you'll lose previous settings). Then follow the instructions under configuration to upload the web interface.

Option 2) Flash the device with the OTA update from within the Android application.

Option 3) Flash the device with the SPIFFS instructions in platform.io.

Insufficient space to upload new filesโ€‹

note

This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with Meshtastic-flasher will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available.

Cause: Typically a small partition has been set aside from previous firmware installed on the module. Instructions for how to fix this can be found on the ESP32-Partitions page.