A phone, an IMU,
and not much else.
FlySys Swiss PFS is built around an external Bluetooth LE inertial measurement unit for clean, repeatable attitude — with the phone's own sensors as a fallback.
The external 10-DOF (ten degrees of freedom) Inertial Measurement Unit (IMU) streams over Bluetooth LE straight to the Android device, which does everything else — calibration, attitude estimation, the display, logging and GPS. An ESP32-S is optional (battery-voltage monitoring today, a data or TCP gateway later) and can be left out.
A dedicated 10-degree-of-freedom IMU mounted to the airframe streams accelerometer, gyroscope, magnetometer and barometric data over Bluetooth LE. Keeping the sensor off the phone means attitude no longer depends on how the device happens to be propped on the panel.
| Connection | Bluetooth Low Energy (high-speed mode) |
|---|---|
| Stream rate | 30–250 Hz, configurable in 10 Hz steps (250 = firmware maximum; can follow the display refresh rate) |
| Mounting | physical preset — 6 positions (FLAT default) |
| Extras | battery-voltage reader over BLE |
In Settings you pick the physical mounting preset — which face the board rests on: FLAT (default), UPSIDE‑DOWN, NOSE‑UP, NOSE‑DOWN, LEFT/RIGHT‑EDGE‑DOWN. The preset is written to the IMU so its fused output stays correct; a wrong one would invert gravity. It is not a compass or earth-frame switch — only physical compensation. Heading comes from the magnetometer (absolute), so it is correct on the main filters regardless of preset. When setting a preset, point the nose (X axis) at North — this zeroes the firmware's internal heading reference; after any mounting change the app re-Aligns automatically.
| Android | 7.0 or newer |
|---|---|
| Graphics | OpenGL ES 3.0 |
| Radios | Bluetooth LE for the IMU path |
| Fallback | internal accel, gyro, mag, baro |
No Bluetooth hardware? The internal-sensor, simulator and replay paths run on an emulator, so you can try the full display before wiring anything up.