Skip to main content

Store and Forward

What Is Store and Forward?

Store and Forward (S&F) is a Meshtastic server module that buffers text messages for nodes that are temporarily offline. When a client node comes back within range, the S&F server replayscan thereplay text messages the client missed while it was away.

Important - the buffer is volatile and S&F is not a delivery guarantee. Stored messages live only in the server node's PSRAM. Any reboot, brownout, or power loss on the server node erases ALL stored messages with no recovery. Replay is best-effort, request-driven, and limited by count and time window; it covers text messages only (not telemetry, position, or other packet types). Never treat the buffer as durable storage, and never rely on it for life-safety message assurance - for incident use, assume the buffer can vanish at any moment.

How It Works

  1. A node with S&F enabled in server mode listens to alltext messages on its primary channel 0(channel messages0) and stores them in a ring buffer in RAM.PSRAM. Note: history retrieval over LoRa is not available on the default public channel, so the server must be configured with a non-default primary channel for S&F history to work.
  2. When a client node configuredrequests inhistory client(see modeClient reconnectsConfiguration to the mesh,below), it sends a replay request.
  3. The server transmits buffered messages up to the configured History Return Max count and within the History Return Window time range.

Hardware Requirements

The S&F server noderequires needsan sufficientESP32 RAMdevice towith maintainPSRAM a- usefulnRF52-based messageboards buffer:cannot run the Store-and-Forward server module at all:

  • Recommended:Recommended (ESP32-with-PSRAM only): T-Beam,Beam Heltec(v1.0 V3,and later), LilyGo T3S3, or anyother ESP32-S3 devicedevices withthat 4include MB+PSRAM.
PSRAM,Not orsupported anyas an S&F server: nRF52840-based devicedevices (RAK4631, Nordic development kits). Avoid:and Devicesany with very limited RAM (original ESP8266-based boards, small OLED nodesboard without PSRAM)PSRAM. -These theycannot mayact notas maintaina buffersStore-and-Forward of useful size.server.

Server Configuration

  1. Navigate to Config → Module Config → Store and Forward.
  2. Set Enabled → true.
  3. Set Is Server → true.
  4. Set History Return Max - the maximum number of messages to replay per request (default: 30)25 messages, which is the value used when this is left at 0).
  5. Set History Return Window - the time window in minutes from which to replay messages.messages (default 0 = 240 minutes / 4 hours).
  6. Save and reboot the node.

Client Configuration

On eachA client devicenode thatdoes shouldnot receiveneed replays:

    Config → Module Config →the Store and Forward module Enabledenabled to true.request history. To retrieve missed messages:
    1. Set role to ClientCLIENT (or CLIENT_MUTE, labelled "Client MuteMute" in the app menu, if the device should not rebroadcast).
    2. Request history manually: on Android, send a direct message containing SF to the server node; on Apple, use the Client History option.

    TheHistory clientretrieval willover LoRa is manually requested as above. Automatic retrieval happens only when an app connects directly to the server node (firmware 2.4+) - it does not happen automatically request a replay fromover the nearestmesh S&Fjust serverby whencoming itinto joins the mesh.range.

    Ideal Use Cases

    • Hikers or cyclists who move in and out of mesh coverage.
    • Vehicles that periodically leave and re-enter a covered area.
    • Remote monitoring stations that reconnect on a schedule.
    • EmergencyCommunity communicationnets networksthat wherewant messagea convenience replay of recent text traffic - but note S&F is best-effort only and must never be relied on as guaranteed delivery mustfor beemergency ensured.or life-safety messages.

    Limitations

    • S&F onlyhistory replaysretrieval over LoRa is channelnot 0available messageson bythe default inpublic currentchannel; firmwareyou versions.must configure a non-default primary channel to use it. S&F operates only on the primary channel (channel 0) - if your net runs on a private or secondary channel, store-and-forward will not buffer or replay that traffic. Verify replay actually works on YOUR channel before depending on it.
    Text messages only - telemetry, position, and other packet types are not buffered or replayed. Large message volumes on small-RAM devices will cause the ring buffer to overwrite older messages quickly. The buffer lives in PSRAM only. The server node must be continuously powered and on-meshmesh; -any areboot, nodebrownout, thator goespower offlineloss loseserases itsALL buffer.stored messages with no recovery. S&F adds overhead to the server node; monitor channel utilisation on high-traffic networks.