For Ham Radio Operators - Gearsmen Comms Center
On your radio: set To = KQ4YSV. In the Message body, type the Command, then Target (recipient, group name, etc.), then your Message. Use your Codebook (view or regenerate at the dashboard) to authenticate and prevent spoofing-see the Codebook section in the main docs.
Structure: To (gateway) → Command → Target → Message. Not every command needs all fields.
Send FEATURES via APRS to get this list over the radio.
Free
HELP - List commandsPING - Test latencyECHO - Echo textDATE - Current dateSTATUS - System statusWX/WEATHER - WeatherALERTS - NWS alertsFLIGHT/NEWS/SCORE - Flights, news, sportsPOS - Store lat/lonCODE - ShortcutsGROUP - Manage groupsAUTO - Scheduled SMSPaid (subscription)
SMS - Text to phoneAI - ChatDIR - DirectionsGROUP SEND - SMS to groupCALL/DXCC - QRZ lookupEach section below includes example requests - exact message bodies you can send. If you don't see your use case listed, try a similar phrase; these examples show what the system understands.
On your radio: To = KQ4YSV. Message = one of the following.
SMS +17845551234 Need pickup at trailhead- one-to-one textSMS +17845551234 Running low on water. ETA 2 hours.- longer messageSMS +15551234567 All good, on schedule- US number (+1)SMS +17845551234 Emergency. Need evacuation.- emergency wordingSend an SMS to a phone number. Recipient must have replied START to opt in.
SMS +17845551234 Need pickup at trailhead. Running low on water.
Use E.164 format (+1 for US). Rate limits apply. Use your codebook to authenticate-see main docs.
On your radio: To = KQ4YSV. Message = one of the following.
GROUP CREATE SAR-TEAM- create a groupGROUP CREATE FAMILY- another group nameGROUP ADD SAR-TEAM +17845551234- add by phone numberGROUP ADD SAR-TEAM HOME- add by contact aliasGROUP SEND SAR-TEAM Rally at base camp 1400Z- broadcast to groupGROUP SEND FAMILY All safe. Check in when you can.- family check-inGROUP LIST- list your groupsGROUP MEMBERS SAR-TEAM- list group membersGROUP REMOVE SAR-TEAM +17845551234- remove a memberALERT SAR-TEAM Need backup at base- urgent broadcast to groupCreate a named group for broadcast messaging.
GROUP CREATE SAR-TEAM
Add a phone number or codebook name to an existing group.
GROUP ADD SAR-TEAM +17845551234
Target can be +E164 or a contact alias: GROUP ADD SAR-TEAM HOME
Broadcast a message to all group members.
GROUP SEND SAR-TEAM Rally at base camp 1400Z
See all groups you've created.
GROUP LIST
See who is in a group.
GROUP MEMBERS SAR-TEAM
Remove a phone number from a group.
GROUP REMOVE SAR-TEAM +17845551234
Send priority message to group when you need immediate response.
ALERT SAR-TEAM Need backup at base
On your radio: To = KQ4YSV. Message = one of the following.
AUTO CREATE CheckIn AT 14:00 SEND +17845551234 All good, on schedule- daily check-in at 2 PMAUTO CREATE Morning AT 08:30 SEND HOME Leaving camp now- target is contact alias HOMEAUTO CREATE Alert AT 18:00 SEND SAR-TEAM Evening roll call- send to a group at 6 PMAUTO REPEAT Morning DAILY AT 08:00 SEND FAMILY All good- daily recurringAUTO ENABLE CheckIn- turn automation onAUTO DISABLE CheckIn- turn automation offAUTO DELETE CheckIn- delete an automationAUTO LIST- list all your automationsSet up a single message at a specific time. Use 24-hour time (HH:MM).
AUTO CREATE CheckIn AT 14:00 SEND +17845551234 All good, on schedule
AT 14:00 = 2:00 PM. Target can be a phone number or group name.
Send the same message every day at the same time.
AUTO REPEAT Morning DAILY AT 08:00 SEND FAMILY All good
Target can be phone number or group name.
Remove a scheduled automation.
AUTO DELETE CheckIn
Turn on a scheduled automation.
AUTO ENABLE CheckIn
Turn off a scheduled automation.
AUTO DISABLE CheckIn
See all your scheduled automations.
AUTO LIST
On your radio: To = KQ4YSV. Message = one of the following.
AI HEAT STROKE TREATMENT- first aidAI HYPOTHERMIA FIRST AID- cold exposureAI DEHYDRATION SYMPTOMS- survival infoAI HOW TO PURIFY WATER- outdoor skillsAI SNAKE BITE WHAT TO DO- emergencyAI SHORTEST ROUTE TO HIGHWAY- navigation concept (use DIR for actual routing)AI WHAT PLANTS ARE EDIBLE- foraging (general)Get AI-generated answers (first aid, survival info, etc.). Replies are compressed for APRS.
AI HEAT STROKE TREATMENT
When enabled. Uses OpenAI. Keep queries short; replies are truncated for radio.
On your radio: To = KQ4YSV. Message = one of the following.
CALL K4ABC- lookup callsign (name + location)DXCC K4ABC- lookup country/DXCC entityHELP- list all commandsHELP SMS- help for a topicCONTACTS- list your contactsTIME- server time (UTC)LAST- last message statusME- your callsign and accountBALANCE- remaining creditsCODE LIST- list aliasesSMS +17845551234 ?- check opt-in statusREPLY On my way- reply to last inboundName + location from QRZ. Free.
CALL K4ABC
Not found returns 'Not in QRZ'. No blocking.
Country/DXCC entity from QRZ.
DXCC K4ABC
Free lookup.
List commands or get topic help.
HELP SMS
See your phone numbers.
CONTACTS
UTC time.
TIME
Check your most recent send.
LAST
Your callsign and account.
ME
Reply to last inbound SMS.
REPLY On my way
On your radio: To = KQ4YSV. Message = one of the following.
CHECKIN- log position (uses POS if set)CHECKIN SAR-TEAM- check in and notify groupCHECKIN +17845551234- check in and notify contactALERT SAR-TEAM Need backup at base- urgent broadcastLog position. Optionally notify a group or contact.
CHECKIN SAR-TEAM
Use POS 35.22 -80.84 first to set your location for CHECKIN.
Priority broadcast when you need immediate response.
ALERT SAR-TEAM Need backup at base
On your radio: To = KQ4YSV. Message = one of the following.
SUNRISE 35.22 -80.84- sunrise timeSUNSET 35.22 -80.84- sunset timeMOON- moon phase and rise/setTAF CLT- terminal area forecast (aviation)QUAKE- recent earthquakesQUAKE CA- earthquakes in CaliforniaDIR Charlotte TO Asheville- driving directionsDIR GAS NEAR ME- gas stations near your POSDIR HOSPITAL NEAR 35.22 -80.84- hospitals near coordsSunrise for a location.
SUNRISE 35.22 -80.84
Sunset for a location.
SUNSET 35.22 -80.84
Moon phase and rise/set.
MOON
TAF for aviation. IATA code.
TAF CLT
Recent quakes (USGS). Optional region.
QUAKE CA
Turn-by-turn between two places.
DIR Charlotte TO Asheville
Gas, hospital, etc. Use NEAR ME if POS is set.
DIR GAS NEAR ME
Or: DIR HOSPITAL NEAR 35.22 -80.84
On your radio: To = KQ4YSV. Message = one of the following.
WX TEMP Charlotte NC- temp only (shortest reply)WX TEMP Atlanta GA- city and stateWX TEMP London UK- internationalWX WIND Charlotte NC- wind onlyWEATHER Charlotte NC- full conditions by cityWEATHER 35.22 -80.84- full conditions by lat/lonALERTS- NWS severe alerts (default area)ALERTS 35.22 -80.84- NWS alerts for coordinates (US only)Get temp only - fastest reply.
WX TEMP Charlotte NC
Get wind speed and direction.
WX WIND Charlotte NC
Current weather by city or coordinates.
WEATHER Charlotte NC
Or: WEATHER 35.22 -80.84 for lat/lon.
NOAA alerts for a location. US only.
ALERTS 35.22 -80.84
Or ALERTS for default (Charlotte area).
On your radio: To = KQ4YSV. Message = one of the following.
FLIGHT AA1004- status for one flight (IATA)FLIGHT UA501- different airlineFLIGHTS DEP CLT- departures from CharlotteFLIGHTS DEP ATL- departures from AtlantaFLIGHTS ARR ATL- arrivals at AtlantaFLIGHTS ARR JFK- arrivals at JFKAIRPORT CLT- airport info by IATA codeAIRPORT LAX- another airportCheck a flight. IATA code.
FLIGHT AA1004
Upcoming departures.
FLIGHTS DEP CLT
Incoming flights.
FLIGHTS ARR ATL
Look up an airport by IATA code.
AIRPORT CLT
On your radio: To = KQ4YSV. Message = one of the following.
NEWS- US top headlinesNEWS US- same as NEWSNEWS TECH- technology headlinesNEWS SPORTS- sports headlinesNEWS hurricane- search by topicNEWS election- search topicNEWS weather- search topicTop US headlines.
NEWS
US technology headlines.
NEWS TECH
Search by topic.
NEWS hurricane
On your radio: To = KQ4YSV. Message = one of the following.
SCORE Liverpool- latest match for teamSCORE Manchester United- another teamSTANDINGS EPL- English Premier League tableSTANDINGS LaLiga- Spanish leagueSTANDINGS Bundesliga- German leagueSTANDINGS SerieA- Italian leagueSTANDINGS Ligue1- French leagueMost recent match for a team.
SCORE Liverpool
Top of table. EPL, LaLiga, Bundesliga, etc.
STANDINGS EPL
On your radio: To = KQ4YSV. Message = one of the following.
DIR HOSPITAL Charlotte NC- nearest hospital near cityDIR HOSPITAL Atlanta GA- hospital near another cityDIR HOSPITAL NEAR ME- nearest hospital (set POS first)DIR GAS Charlotte NC- nearest gas stationDIR GAS NEAR ME- gas near your stored positionDIR FUEL Atlanta GA- fuel (alias for GAS)DIR SHELTER Charlotte NC- nearest shelterDIR SHELTER NEAR ME- shelter near youPOS 35.22 -80.84- set position for NEAR ME (lat lon)Find hospital near a city. OpenStreetMap.
DIR HOSPITAL Charlotte NC
Find fuel near a city.
DIR GAS Atlanta GA
Find shelter near a city.
DIR SHELTER Charlotte NC
On your radio: To = KQ4YSV. Message = one of the following.
STATUS- gateway online and health checkHELP- summary of available commandsVerify the gateway is online and get a quick health check.
STATUS
Returns a short list of available commands (SMS, CODE, CALL, DXCC, POS, DIR, WX, WEATHER, ALERTS, FLIGHT, NEWS, SCORE, STATUS).
HELP
Compliance: Paid users do NOT get higher limits.
Before you can send SMS to a phone number, the recipient must opt in. They reply START to consent. They can opt out anytime by replying STOP. This is required for TCPA compliance.
Add contacts in the Comms Center (gearsmen.app/dashboard). The system may send an opt-in request. Recipients reply START to receive messages. If you get DENIED (not opted in), they haven't replied START yet.
Inbound SMS replies (except START/STOP) are routed back to your callsign via APRS. You receive them on your radio. START and STOP replies are processed automatically.
Map short names to phone numbers or locations. Use SMS HOME msg instead of the full number. This is separate from your Codebook (auth codes)-view or regenerate that in the dashboard.
On your radio: To = KQ4YSV. Message = one of the following.
CODE ADD HOME +17845551234- contact alias (then SMS HOME msg)CODE ADD BASE Charlotte NC- location alias (for DIR HOSPITAL BASE)CODE ADD SAR1 +15551234567- another contact aliasCODE LIST- list your aliasesCODE REMOVE HOME- delete an aliasPOS 35.22 -80.84- set position for DIR ... NEAR MELOC 35.22 -80.84- same as POSMap a short name to a phone number. Then use SMS HOME msg instead of the full number.
CODE ADD HOME +17845551234
Map a short name to a city/location for DIR commands.
CODE ADD BASE Charlotte NC
See all your contact and location aliases.
CODE LIST
Delete an alias.
CODE REMOVE HOME
Store lat/lon so DIR HOSPITAL NEAR ME works.
POS 35.22 -80.84
APRS is not guaranteed delivery. Do not rely solely on this system for life safety.
GRS Mesh is an optional off-grid layer for Gearsmen. Flash GRS Mesh firmware onto an ESP32 device and it joins the network - no cell service or internet required. When any bridge node is in range, your messages uplink to the cloud and can reach SMS, APRS, email, and other GRS users.
From your GRS Mesh device, send commands in the message body. The GRS cloud routes them to the right destination.
Send a text message to a phone number. Number must have opted in (texted START to our number).
SMS +15551234567 HelloSend a message to an APRS callsign.
APRS W1AW Hello from the fieldSend an email. Subject and body separated by |.
EMAIL user@example.com Subject | BodySend a message to another GRS Mesh node by node ID.
GRS !a1b2c3d4 HelloBroadcast a message to all nodes on your current channel.
MESH Hello teamCheck that your device is linked and the cloud can reach you. You get a reply.
PINGReceive a list of available commands as a downlink reply.
HELPUse the browser-based flasher - no command line needed. Plug in your ESP32 device via USB, open the flasher, pick your board, and click Flash.
Open Firmware Flasher →GRS Mesh has three layers: the device (ESP32 with LoRa radio running GRS Mesh firmware), the bridge (a device with WiFi that connects to the Gearsmen cloud over MQTT), and the cloud (Gearsmen servers that route messages to SMS, APRS, email, and other GRS nodes).
grs/mesh/<bridge_id>/uplink on the Gearsmen MQTT broker.grs/mesh/<bridge_id>/downlink and the bridge delivers them back to the device over LoRa.Every uplink and downlink uses this JSON envelope:
{
"msg_id": "<uuid>",
"origin_node_id": "!hex",
"origin_callsign": "<optional>",
"channel_id": 0,
"ts": <unix_ms>,
"ttl": 32,
"payload_type": "text" | "command" | "receipt" | "config",
"payload": "<string>",
"hop_count": 0,
"bridge_id": "!hex",
"lat": <optional float>,
"lng": <optional float>
}| Type | Command syntax | What happens |
|---|---|---|
| sms | SMS +15551234567 Hello | Sends a text message via Vonage. Recipient must have opted in (texted START to our number). Replies are routed back to your device. |
| aprs | APRS W1AW Hello | Sends an APRS message to the specified callsign via the Gearsmen APRS gateway. |
| EMAIL user@example.com Subject | Body | Sends an email via the Gearsmen email service. Subject and body separated by |. | |
| grs | GRS !a1b2c3d4 Hello | Sends a message to another GRS Mesh node. Queued in outbox; delivered when bridge sees the target node. |
| mesh | MESH Hello team | Broadcasts a message to all nodes on your current channel. |
GRS Mesh is the bridge between off-grid LoRa and the rest of the world. When your device sends a command, the cloud routes it through the appropriate existing service - SMS via Vonage, APRS via the GRS gateway, email via the GRS email service. No new infrastructure is needed; GRS Mesh just wires your device into what already exists.
Replies travel the same path in reverse: an SMS reply from a phone triggers the Vonage webhook, which looks up the most recent outbound mesh SMS to that number and enqueues a downlink reply to the origin node.
Every uplink that includes lat and lng updates the node's position in the database. Nodes appear on the live map in the Comms Center under the Gearsmen Mesh layer. The layer is on by default if you have linked devices; off by default otherwise. You can toggle it from the map layer selector.
Click a GRS Mesh marker on the map to see the node's ID, callsign, and last-seen time. If it's your device, a Configure button links directly to the device settings. A Send button opens the GRS Mesh send form with that node pre-filled as the target.
You can create a private encrypted channel from the GRS Mesh section in the Comms Center. A join code is generated; share it with your team. Members enter the join code on their device (or it can be pushed via downlink when a device is linked and online). Only devices with the same channel key can read traffic on that channel.
| Action | Limit |
|---|---|
| SMS per user per day | 100 |
| Uplink messages per node per hour | 500 |
| Commands (SMS/EMAIL/APRS) per user per day | 100 |
When a limit is exceeded, the device receives a downlink reply: "GRS: Rate limit reached. Try again later."
GRS Mesh is not guaranteed delivery. Do not rely solely on this system for life safety. Range depends on LoRa radio physics and terrain.
APRS • Part 97 • ISM bands