🚲 Mesh Buddy

A small GPS tracker that puts you on aprs.fi through the MeshCore LoRa mesh. You build it from three off-the-shelf RAKwireless WisBlock parts, then flash and set it up from Kelly Page with one click. Your callsign comes from Kelly, so it's set up as you and only you.

How it works. Mesh Buddy sends its position as a MeshPRS frame, the open standard for APRS over MeshCore, on the #meshprs channel. MeshCore repeaters carry it across the mesh. A licensed ham running a MeshPRS iGate, such as Kelly Page's APRS iGate, hears it and passes it to APRS-IS, and it appears on aprs.fi under your callsign. No internet or SIM is needed on the tracker.

1. Who can use it

2. Parts

Everything comes from Core Electronics. These are the parts in the first Mesh Buddy. Prices are as listed on 31 October 2026, including GST.

PartCore Electronics SKUPriceWhy
WisBlock Meshtastic Starter Kit, 9xx MHz: RAK4631 core (nRF52840 + LoRa), RAK19003 mini base board, 2 dBi antenna RW-115093$39.30The radio and processor. It comes with Meshtastic installed, and flashing replaces it.
RAK12500 WisBlock GNSS module: u-blox ZOE-M8Q, with a GPS antenna RW-110016$32.05The GPS. GPS, GLONASS, BeiDou, QZSS.
RAK19001 WisBlock Dual IO Base Board: USB-C cable, battery cable and screws included RW-110081$21.80The base board: an on/off switch, battery and solar connectors, and room for more modules.
A 3.7 V single-cell LiPo battery(your choice)Mesh Buddy runs from it and charges it over USB. Choose a size for how long you ride.

About $93 for the three WisBlock parts. The starter kit's small RAK19003 base board is spare in this build. RAKwireless says the GNSS module also works on a base board's Slot C, but the first Mesh Buddy was built on the RAK19001.

⚠️ Battery polarity. LiPo batteries are sold with their JST plugs wired both ways round. Before you plug a battery in, compare its red and black wires with the + and − markings next to the battery socket on the RAK19001. A reversed battery can destroy the board. If it doesn't match, use the battery cable that comes with the board, or get a battery that matches.

3. Putting it together

RAK19001 base board -- on/off switch, USB-C, battery, solar RAK4631 corecore slot RAK12500 GNSSSlot A LoRa antenna (2 dBi) GPS antenna (face up)
  1. RAK4631 core into the base board's core slot. Line up the connector, press it down evenly until it clicks, and fit the small screws from the board's bag.
  2. RAK12500 GNSS into Slot A. Same again, with its screw. Slot A is RAKwireless's recommended slot for it.
  3. Connect both antennas before you power it up. The LoRa antenna goes on the RAK4631's antenna connector, and the GPS antenna on the RAK12500's tiny connector. Press it straight down; it clicks. The GPS antenna's flat ceramic face goes up, towards the sky.
    Never power the tracker without the LoRa antenna connected. Transmitting into nothing can damage the radio.
  4. Battery into the battery socket, after the polarity check above. Leave the switch off for now.
  5. Case: any case that keeps out rain and lets the GPS see the sky. Mount the LoRa antenna vertically and as high as you can, away from your body. On the first ride every lost packet was lost on the bike's own first hop, so antenna placement is the biggest improvement you can make.

4. Flash and set up with Kelly

Kelly Page carries the Mesh Buddy firmware and flashes it over USB from the browser. You don't need any programming tools.

You'll need Kelly Page in Chrome or Edge on a computer, opened securely: through your Kelly bridge's https:// address, on localhost, or as a file. Browsers only allow USB access on secure pages. You'll also need a USB-C cable that carries data; some charge-only cables don't.
  1. Set your callsign in Kelly: Admin › My station › Callsign, for example VK4ABC. Mesh Buddy uses this one, and the tracker page has no box for typing a different callsign.
  2. Open LoRa Mesh › 🚲 Mesh Buddy. Check the line Goes on air as VK4ABC-12 named "VK4ABC Buddy".
  3. Pick the SSID: -12 is the usual for a tracker, -9 for a vehicle. Then pick the word after your callsign (Bike, Ute ...), the symbol, an optional comment and status line, and the radio: SEQ / MBUG, or your local mesh's settings.
  4. Tick Patchy coverage if you'll often be at the edge of the mesh. The tracker then beacons up to every 60 s instead of every 120 s, which fills gaps on aprs.fi but doubles the airtime it uses.
  5. Plug the tracker into the computer by USB, switch it on, and click ⚡ Flash Mesh Buddy and set it up.
    • Choose the tracker's port. It's usually the only new one.
    • The tracker restarts into its bootloader as a new USB port. If Kelly asks, click 🔌 Choose the bootloader port and pick it.
    • Flashing takes about 70 seconds. Don't unplug it.
    • Kelly then sets your callsign, name, symbol, beaconing and radio, and gives the tracker a new random admin password. Write the password down; Kelly also keeps it under My Mesh Buddies.
  6. To change settings later, plug it in and use ⚙️ Set up only. It doesn't flash again.
Can't use Kelly? Kelly is how Mesh Buddy is flashed. If you need it some other way, for example with adafruit-nrfutil on the command line, ask VK4AZ for the firmware package, then set it up with the USB commands in section 8.

5. Getting onto aprs.fi

A Mesh Buddy only reaches aprs.fi through a MeshPRS iGate whose operator has listed it. That stops anyone else putting stations on aprs.fi in your name.

6. On the road

7. Telemetry

Mesh Buddy also sends APRS telemetry: every 10 min while moving, every 30 min parked, and straight away if the battery goes low or the board gets hot. aprs.fi graphs it on your station's telemetry page.

ChannelNameWhat it shows
A1BatteryBattery voltage, 3.00-4.27 V
A2EchoSNRHow strongly the nearest repeater was heard passing on your last packet. A repeater passing it on proves your packet got through the first hop.
A3Echo%How many of your last 10 packets a repeater passed on: your first-hop coverage
A4SatsGPS satellites in use
A5TempProcessor temperature, a little above the air inside the case
B1-B8Charge (USB power), LowBt (under 3.5 V), Fix, Move, Echo, Fld (flooding), Rbt (just restarted), Hot (over 50 °C)

8. Settings by USB (no Kelly)

Any serial terminal at 115200 baud works. Send each command with Enter, and replies start with ->. All of MeshCore's own commands work (get name, gps, get radio ...), plus:

CommandDoes
mprsStatus: version, callsign, symbol, route, beaconing, GPS fix, satellites, frames sent
set name VK4ABC BikeNode name. Your callsign must be its first or second word, or no iGate will gate it
mprs call VK4ABC-12Callsign-SSID it sends as. Until one is set, Mesh Buddy sends nothing
mprs sym /bAPRS symbol: /b bike, /> car, /[ walker ...
mprs comment …Comment (23 characters at most)
mprs status …Status line (62 at most; empty = none)
mprs min 120Shortest gap between beacons, in seconds (60 in patchy coverage; never below 30)
mprs route floodRepeaters pass it on (zerohop = heard directly only, for testing)
mprs tlm onTelemetry on / off; mprs tlm shows the current values
set radio 923.125,62.5,8,5Frequency, bandwidth, spreading factor, coding rate (reboot to apply)
password …A new admin password, for logging in to it over the air
rebootRestart

9. Troubleshooting

ProblemTry
Kelly says USB flashing needs a secure pageOpen Kelly through your bridge's https:// address (or localhost), in Chrome or Edge.
No port to chooseUse a data-capable USB-C cable and switch the tracker on. Close anything else using the port: Kelly's own LoRa Mesh USB connection, a terminal, the Meshtastic web client.
Kelly never finds the bootloaderClick 🔌 Choose the bootloader port when it appears. If the tracker is stuck, double-press the RAK4631's reset button quickly to start its bootloader, then try again.
Flashed, but not on aprs.fiCheck, in order: a GPS fix (outdoors); your callsign is the first or second word of the node name; the tracker is on an iGate's list; a repeater or iGate is in range.
Kelly says "isn't running Mesh Buddy"Use ⚡ Flash, not ⚙️ Set up only.
Going back to MeshtasticFlash Meshtastic again with its own web flasher. Mesh Buddy changes nothing that stops that.

10. Credits and licences

Mesh Buddy 1.1 · guide written 31 October 2026 · the first unit is VK4AZ-12.