pgpilot blog

Hardware and pgpilot aka my opinionated views on how you should actually fly with the app

pgpilot, 2026-08-05

Paragliding is, to some degree, dependent on technology. In the air we want a vario to help us find lift, a map to navigate, live tracking for safety, and some way to talk to our friends, both the ones flying with us and the ones on the ground doing retrieve or preparing dinner.

As a techie I've been down this rabbit hole too many times, but it's not really why I fly. So I just want these things to just work, and that is the goal for pgpilot: you get to launch, turn everything on, and you're set to fly and enjoy the thermals. And once you're in the air, you shouldn't have to fiddle with pens or take off your gloves to navigate.

pgpilot tries to relieve you of that stress in a few different ways.

Auto-connect your devices

This one is kind of obvious. Everything you need to connect should reconnect to the app by itself when you switch it on. We run a background scanner for BLE devices, and they should appear within 15 seconds or so of powering up.

It supports most vario brands, and for the ones that fail we pull the logs and fix them as they come up. (Bluetooth varios have a standard, but everyone seems to have their own interpretation of that standard.) For special varios like the VectorVario, which measures real wind, we integrate it and use its wind instead of the in-app estimate. There's a list of tested devices at the end of this post.

Headphones

Since pgpilot does comms, the voice agent, warnings and so on, hearing and speaking audio matters. With the phone mounted on a cockpit in front of you, some pilots report that the phone's own speaker and mic work decently. I agree. But a good pair of headphones makes it considerably better.

The gold standard is Shokz bone-conducting headphones: your ears stay open for flying, but you still hear whatever comes out of the phone. Putting a buff over the mic gives me pretty noise-free voice. There are cheaper alternatives too. Kjell has reported that you can get fairly cheap versions that work fine for basic talking.

Button control

pgpilot lets you connect bluetooth buttons to control the app. The default behaviour is:

  • Touch to wake the app from sleep
  • Hold to talk over comms with your friends
  • Double/triple click to zoom the map in and out
  • Tap, then hold, to enter the agent voice mode (see below)

You can remap all of these, and you can pair more than one button. I fly with two, and a double tap on the left one starts recording video instead.

If you're wondering what will work: any GATT BLE button should do it. These are the ones I've found to work:

Voice agent

Buttons only get you so far, which is why we added the pgpilot voice agent. It handles a wider variety of tasks: navigate to a turnpoint or a takeoff, change the map layer, or ask about the wind conditions around you. It's still fairly early in development, and we keep adding capabilities as people ask for them.

One comms: internet and radio in the same app

When I entered the paragliding scene, maybe the weirdest thing I saw was the use of VHF radios. Why on earth do people want these high-noise, 90s-looking devices when we all carry modern phones? We quickly started using push-to-talk over the internet in our local club, which was far better quality. And that gave us unlimited range as well.

Then came the situations where the internet didn't work so well: areas without reception, like when a friend of mine landed on top of Europe's largest glacier this summer after not making his glide; flying outside of Europe (I love Bir, and there I still need the radio); and the plain fact that the default device everyone carries is still a VHF radio.

So I figured we still need VHF, we should just only use it when we need it. After some research I found a very cool project: kv4p.com. They've built a radio that connects to your phone. That has a lot of benefits:

  • No fumbling with bad, unexplainable radio menus
  • We can use radio only when there's no reception
  • Headphones pair like they do with any phone
  • We can run far more sophisticated noise cancelling on a phone than these old radios do

In pgpilot, radio integration now works like this: you connect the radio and transmit on both VHF and the pgpilot channel. So you hear both your modern "internet" friends and your remote or old-fashioned friends on VHF. Your device even works as a repeater: you can relay a VHF message into the pgpilot voice group and the other way around.

Deduplicating internet and radio

We also have an early implementation of deduplication. If two pgpilot devices both have VHF attached, a transmission from device A arrives at device B over both radio and internet (assuming you're in range and have reception). pgpilot then tries to deduplicate the two so you only hear it once. That gives us the best of both worlds: unlimited range over the internet, and short-range communication when you're outside the reach of civilisation's cell towers.

BLE radio connection

What makes this much more interesting lately is that the kv4p community got the kv4p radio running over bluetooth. That means you can charge the phone while the radio sits in a different pocket.

Head over to kv4p.com for the list of certified radios; there are also plenty on AliExpress. Make sure you get the 2.0 version. This is the one I bought and have tested with pgpilot:

FANET and Meshtastic: a small LoRa radio in your harness

VHF covers voice. For positions and short text without internet there is a second kind of radio: a small LoRa tracker. The same little board runs either of two firmwares, and pgpilot talks to both.

  • FANET (with FLARM) is what varios like Skytraxx and the SoftRF trackers broadcast: your position every second, a landed or distress status, short text, and the local weather stations. It is what the OGN receivers on the ridges are listening for.
  • Meshtastic is the general-purpose mesh network. In Bir, the local community runs one on top of it, Bircom, and most pilots there fly with a Meshtastic radio in the harness. Messages hop from radio to radio, so a valley full of pilots is its own network.

Pair the radio under Settings -> Connected devices, like a vario, and you get:

  • Every pilot the radio hears shows up on the map and in Nearby, with their name where we know it. If your phone has internet, it relays them to the pgpilot backend as well, so your friends without a radio see them too, and your own position reaches the FANET/OGN world.
  • Meshtastic channels appear as their own rows in Comms, and that chat keeps working with no cell reception at all; it only needs the bluetooth link to the radio. FANET text broadcasts your radio hears are relayed into the Local chat, so a FANET-only pilot's words reach everyone in the valley, not just the phone that heard them.
  • A pilot who landed, needs a ride, or has pressed the distress button on a FANET device shows up as exactly that, not as an aircraft with a heading.

You do not need the Meshtastic app on the phone; pgpilot connects to the radio directly. (If you have used it, close it first: the radio only accepts one bluetooth client at a time.)

Which device

Anything with an nRF52840 and an SX1262 or LR1110 radio works. Avoid boards with the older SX127x radio, they have poor range. These two are the ones flown in Bir and the ones we test against:

  • SenseCAP T1000-E card tracker - the size of a credit card, waterproof, GPS and battery built in. This is the one I would recommend, purely for size: it disappears in a harness pocket.
  • LILYGO T-Echo - bigger, with an e-paper screen, a larger battery and an external antenna, which is why the Bir community made it their standard. Pick this if range and battery matter more to you than size.

Select the 868 MHz variant explicitly if you fly in Europe or India: the listings default to 915 or 433. Both ship with Meshtastic. If you want FANET instead, flash SoftRF onto the same board; pgpilot then sees it as a FANET/FLARM tracker.

Supported varios

pgpilot does not have a whitelist. It connects to any BLE vario that speaks a standard serial profile (HM-10, Nordic UART, SkyDrop, SkyBean, Microchip MLDP/RN, TI) and reads standard sentences ($XCTRC, $LXWP0, $LK8EX1, $PRS/BFV, $GPRMC, $GPGGA, $PFLAA/$PFLAU), so "tons of choices, we support all that try" still holds.

The table below is the narrower claim: models that pilots have actually connected and streamed data from, as of the end of July 2026.

Manufacturer Models confirmed working
XCTracer XC-Tracer Maxx, Maxx II, Maxx III, Mini
Stodeus UltraBip, BlueBip, MipBip+, MipTrack
SkyBean / SkyDrop SkyDrop, SkyDrop2, SkyBean S0
Syride SYS'Nav XL, SYS'Evo 2, SYS'Alti 4, SYS'Solar, SYS'GPS 4
BlueFlyVario BlueFly (BLE and TTL-GPS variants)
Vector Vario Vector Vario
Flymaster GPS LS 2
DIY / homebuilt MatiasVario V2 and V3, bare Microchip RN4678 / RN4871 serial modules (this is an exclusive one!)

Best supported by some distance are XCTracer (biggest user base, native $XCTRC with GPS, vario, pressure and battery) and Vector Vario (the only one that also feeds us measured wind, heading, temperature and humidity instead of us estimating them). Syride have also tested their devices with the app and confirmed that it worked well.

If you have a different device and it works, or you want to make it work (manufacturer or pilot), just send me a message (the feedback button in the app menu works fine) and we'll sort it out.

Comments