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
- A node with S&F enabled in server mode listens to
alltext messages on its primary channel0(channelmessages0) and stores them in a ring buffer inRAM.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. - When a client node
configuredrequestsinhistoryclient(seemodeClientreconnectsConfigurationto the mesh,below), it sends a replay request. - 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,BeamHeltec(v1.0V3,and later), LilyGo T3S3, oranyother ESP32-S3devicedeviceswiththat4includeMB+PSRAM.
Server Configuration
Client Configuration
On eachA client devicenode thatdoes shouldnot receiveneed replays:
- Set role to
ClientCLIENT (or CLIENT_MUTE, labelled "ClientMuteMute" in the app menu, if the device should not rebroadcast). - 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.
EmergencyCommunitycommunicationnetsnetworksthatwherewantmessagea convenience replay of recent text traffic - but note S&F is best-effort only and must never be relied on as guaranteed deliverymustforbeemergencyensured.or life-safety messages.
Limitations
- S&F
onlyhistoryreplaysretrieval over LoRa ischannelnot0availablemessagesonbythe defaultinpubliccurrentchannel;firmwareyouversions.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.