An Android companion app for the FlySight 2 GPS skydiving/wingsuit computer. Connects over Bluetooth Low Energy to browse device files, download jump tracks, configure the device, and score competition runs.
| Main Screen | Track Details | Score Run |
|---|---|---|
![]() |
![]() |
![]() |
| Compare Tracks | Device Settings |
|---|---|
![]() |
![]() |
The app requires FlySight 2 firmware v2024.12.30.10 (released May 2026) or later. Older firmware versions do not enable Bluetooth. Full update instructions: https://flysight.ca/firmware/
Download the latest APK from the Releases page and install it on your Android device. You may need to allow installation from unknown sources in your device settings.
- Power off the FlySight and disconnect it from USB.
- Press the Power button twice — the device switches to Pairing mode and the LED begins to blink slowly.
- Open the app and tap Scan to discover and pair with the device.
Once paired, the FlySight is always reachable over BLE whenever it is powered off and within range — no need to re-enter Pairing mode for subsequent connections.
- Battery level is not displayed. This is a firmware-side limitation and will be resolved in a future FlySight firmware update.
- File access requires the device to be powered off. The current firmware blocks SD card access while the device is active.
- Configuration is saved as
DEMO_CFG.TXT, notCONFIG.TXT, to prevent accidentally overwriting your existing configuration. Once the generated output has been fully validated, this will change to write directly toCONFIG.TXT. In the meantime you can manually rename or copy the file — verify all settings before doing so. - Score track results differ from desktop FlySight Viewer by ~0.1–0.2% (roughly 10 m in the distance score). The root cause is still under investigation.
- Scans for nearby FlySight 2 devices and displays already-paired devices
- Handles BLE bonding and pairing automatically
- Shows live battery level once connected
- High-priority BLE connection mode during file transfers for maximum throughput
- Navigate the full FlySight 2 directory tree over BLE
- Download and view individual track files
- Delete files and folders directly from the app
- Downloads
TRACK.CSVover BLE and parses GPS data - Interactive line chart displaying:
- Horizontal speed, vertical speed, total speed (km/h)
- Elevation (m)
- Glide ratio
- Tap any chart series header to toggle visibility
- Pinch-to-zoom and drag on the time axis
- Scores a competition Performance Piloting run between 2500 m and 1500 m AGL
- Displays time (s), distance (m), speed (km/h), and adjusted values after penalty
- Map view (OpenStreetMap) with:
- Flight track from exit to 1500 m gate
- Official scoring lane (semi-transparent fill, ±300 m from centre)
- ±150 m and ±300 m penalty zone boundary lines
- Lock-in, exit, 2500m and 1500m gate markers
- Lane extended to 5 miles beyond the target
- Long-press map to set scoring target
- Penalty calculation: 0% / 10% / 20% / 50% based on cross-track deviation
- Download two tracks and overlay them on the same chart
- Compare horizontal speed, vertical speed, total speed, and elevation side-by-side
- Read and write the FlySight 2 configuration file over BLE
- Settings organised into collapsible sections (navigation, GPS, audio, alarms, sensors, etc.)
| Requirement | Version |
|---|---|
| Android | 8.0 (API 26) or higher |
| Target SDK | 34 (Android 14) |
| Bluetooth | BLE required |
| FlySight firmware | FlySight 2 |
- Android Studio Hedgehog (2023.1) or later
- JDK 17
- Android SDK with API 34 platform tools
-
Clone the repository
git clone https://github.com/<your-org>/flysight-android.git cd flysight-android
-
Open in Android Studio File → Open → select the cloned directory
-
Build a debug APK from the command line
./gradlew assembleDebug
Output:
app/build/outputs/apk/debug/app-debug.apk -
Install directly to a connected device
./gradlew installDebug
Gradle 8.10.2 — managed via the Gradle Wrapper (gradle/wrapper/). No separate Gradle installation is required.
| Permission | Purpose |
|---|---|
BLUETOOTH_SCAN |
Discover nearby FlySight devices |
BLUETOOTH_CONNECT |
Connect, bond, and transfer data |
ACCESS_FINE_LOCATION |
Required by Android for BLE scanning; used for GPS map centering |
INTERNET |
Load OpenStreetMap tiles in the scoring map view |
| Library | Purpose |
|---|---|
| MPAndroidChart | Track data charts |
| OSMDroid | OpenStreetMap scoring map |
| Kotlin Coroutines 1.7.3 | Async BLE operations and UI state |
| AndroidX Lifecycle / ViewModel | State management across configuration changes |
| Material Design 3 | UI components and dark theme |




