The System menu is the central access point for all core configuration, setup, and maintenance functions of the XCVario device. It provides access to software updates, hardware and sensor configuration, power and battery settings, unit selection, AHRS calibration, display behavior, and communication interfaces. These settings define how the device operates internally, how it interacts with connected sensors and peripherals, and how it integrates into the overall avionics environment.
Each functional area available through the System menu is described in detail in its own dedicated chapter later in this documentation. This structure allows users to focus on individual subsystems while maintaining a clear understanding of how the various system components are organized and interact within the XCVario platform.
This chapter provides a consolidated overview of system-level settings, optional configuration features, and maintenance functions, serving as a reference for configuring and maintaining the XCVario system.
Software #

XCVario S/N: 1234 #
The unique variometer ID, used for Bluetooth ID and WiFi Id of this Device e.g.: “XCVario-1234”
Rev: 2.0.4-0-ga2494fcd #
The installed software version. It is a plain github version string format. In this example major-, minor-, fix- revision and additionally the hash from the source control system.
Update Software #
Internet Access #
Access Point #
[Cancel]
[Select AP]
Select the AP for software update. This is not yet fully supported and will come asap.
[Check for the Update]
Update #
[Cancel]
[Start Webserver]

Check for the Update
The feature is under development, and required an access point to be configured in the previous step. As soon as it is operational, it will be described here.
Start Webserver
This is the classic software update method provided by XCVario. The device software is available as open source on the project’s GitHub page. For downloading the firmware file and performing the update, Mozilla Firefox is recommended. Other browsers may also work; however, some browsers or operating systems may incorrectly handle the .bin firmware file extension, which can lead to download or installation issues.
Official software releases are published at: https://github.com/hjr/XCVarioPure/releases
Firmware updates can be installed via the built-in WiFi access point of the variometer. A smartphone, tablet, or laptop can be used for this purpose. Before connecting to the XCVario WiFi network:
- Download the desired firmware file (for example,
xcvario-pur-2.0.4.bin) using an internet connection. - Save the file locally on the device that will be used for the update.
- Verify that the downloaded file size matches the value shown on the release page.
Once the file has been downloaded and verified, connect to the XCVario WiFi network and perform the OTA update through the web interface.
Selecting [Webserver] the device will reboot and fall into the following screen to connect with your mobile device and upload the previously downloaded file.

Connect your device to the WiFi network “XCVario OTA” provided by the variometer. It uses WPA2-PSK security; the password is displayed on the variometer, here you see “xcvario-21”.
After connecting, open a web browser and navigate to http://192.168.4.1. Ensure that the browser uses the http prefix, not https, and disable any automatic redirection if necessary. Use the browser interface to select the firmware file and upload it. The update dialog shows progress information and confirms success both in the browser and on the variometer display.
Very First Pur Start #
The very first boot of the Pur Variometer is guiding through all factory calibration and test steps. In case you upgrade from a previous XCVario firmware one additional calibration step left to do and prevents you t leave the factory jail. To properly do the IMU bias calibration it is necessary to remove the variometer from the instrument panel. Prepare a smal leveled mount to support the variometer in all 6 orthogonal and leveld orientations.
Check Configuration After Updating #
After completing the update, review all settings. In most cases, existing settings are retained, but new firmware versions may introduce additional features with default values that require adjustment. Always consult the corresponding release notes. When updating from older releases crosscheck settings and and see if glider polar selected is still correct and also connections to external gadgets are configured as expected.
Troubleshooting #
If transmission errors occur, the new software is discarded automatically and the device restarts with the previously installed firmware. The variometer uses two separate firmware areas; new software is always written to the inactive area to ensure continuous operability. If software update mode is entered but no file is selected, the system will automatically time out after 15 minutes and restart with the existing firmware. This process can also be cancelled manually at any time by pressing the rotary control.
If the WiFi connection cannot be established, verify that your device allows connections to networks without Internet access and confirm any related system prompts. The variometer selects a random WiFi channel each time the update function is started, improving reliability in environments with many occupied channels.
Show Boot Messages #

All boot messages are recorded and can be shown even at a later time after booting up the device for diagnose.
Factory Reset #
[Cancel] [ResetAll]

This function allows all device settings to be reset to their factory defaults. All user-defined settings that differ from the default values will be permanently lost. After performing a reset, polars and all other aircraft-specific parameters must be reconfigured. A factory reset can also be executed during a software update via the browser by using the “Factory Reset” button.
Expert Menu: #
The Expert Menu is dedicated for troubleshooting and for experts only, using this in field may cause performance issues and also malfunction in case those special parameters are not set wisely. From that reason it is not intended to be used in common and also not recommended, so the password will not be published.
Glider Type #

In the polar dialog, the right polar for the aircraft type is selected, masses can be adjusted and the polar that is set can be tuned manually.
Type #
[User Polar] [Antares 20E] [ASK 21] :
This setting is used to select the flight polar corresponding to the aircraft type. In addition to the predefined entries, the first entry stands for a user defined polar that is provided for aircraft types that are not included in the library. The user polar is selected by default and is initialized with values corresponding to an LS4a. These values can be adjusted to match any custom or measured flight polar.
Any modifications made to the selected polar are automatically reset when a different aircraft type is chosen. In normal operation, only the aircraft type needs to be selected; manual adjustment of these parameters is usually unnecessary. All gliders in the database that are equipped with flaps provide recommended speed ranges per flap setting as written in flight manual, or taken from diagrams or polars. Additional aircraft types can be integrated into the library by XCVario upon request and become available automatically with the next software update.
A continuously growing polar library is provided. The current list of supported aircraft polars can be found in the GitHub repository in the file PolarTable.txt.
Reference Polar #
Ref Wingload #
34.4 kg/m2
Using the following setting, the reference wing loading and the sink rates for individual airspeeds can be modified. The reference wing loading represents the condition under which the flight polar was measured and is typically specified with the polar data. If the actual wing loading of the aircraft is higher, even without water ballast, this must be accounted for using the Empty Weight setting described below. In general, the reference wing loading should not be changed and should always match the values provided with the selected polar.
Speed 1 #
80 km/h
For the selected reference wing loading, the corresponding sink rates are defined at three operating points using Sink 1, Sink 2, and Sink 3, each associated with a specific airspeed via Speed 1, Speed 2, and Speed 3.
Ideally, the first speed is chosen close to the minimum sink speed, the second represents a typical cruise speed, and the third corresponds to a higher airspeed relevant for fast cruise operation. You may modify those values at any time, but when a new polar is selected, the modification are lost and new defaults from the polar library will show up for the new glider.
Sink 1 #
-0.66 m/s
Speed 2 #
125 km/h
Sink 2 #
-0.97 m/s
Speed 3 #
175 km/h
Sink 3 #
-2.24 m/s
Stall Speed #
74 km/h
This setting defines the aircraft’s stall speed and is used by the XCVario for flight state awareness and speed-related indications. The stall speed should be configured according to the aircraft flight manual and must correspond to the clean configuration without airbrakes extended. The entered value represents the stall speed at the reference wing loading. Changes in wing loading due to ballast or payload are taken into account automatically by the system, provided the corresponding weight settings are configured correctly.
Correct configuration of the stall speed is essential for accurate speed margin indications and related flight safety functions.
Max Ballast #
160.00 liters
This setting allows you to adjust the maximum permissible water ballast. The default value is typically defined by the aircraft type and sourced from the polar library according to the manufacturer’s specifications. It can be modified here to account for changes such as winglets or different water ballast tank installations.
Wing Area #
10.5 m²
This setting allows you to adjust the wing area. Although this parameter is normally defined by the aircraft type, it can be modified here to account for changes such as attachable wing extensions or winglets.
Empty Weight #
265 kg
The “Empty Weight” parameter allows a more accurate definition of the aircraft’s empty mass. Over time, gliders often gain weight due to added instruments, winglets, repainting, or moisture absorption in the composite structure (CFRP or GFRP). To account for this, the empty mass can be set higher than the original value used to derive the gliding polars.
By default, when a polar is selected, the empty mass is calculated as the flight mass minus the pilot’s weight. Increasing the empty mass raises the wing loading, improving performance at higher speeds, similar to the effect of adding water ballast.
Maximum Speed #
270 km/h

By default, the maximum target speed is set to 270 km/h IAS (indicated airspeed). The S2F computer is using it to limit any commanded speed accordingly.
Flap Levels #
NOTE: The speed ranges assigned to each flap setting are derived either from the aircraft flight polar or from the aircraft flight manual. Flap speeds are included in the XCVario polar library.
Takeoff Flap #
4 .
This setting controls the assistant to show the designated takeoff position (usually first positive detent) before takeoff. This setting provides increased lift at low airspeed with acceptable drag during ground roll and initial climb. Maintain takeoff flaps until safe airspeed and height are achieved, then retract smoothly to neutral or climb configuration.
Add Level #
Label: #
-2
Set label for the new flap level. Flap lables can have up to three characters. There are two modi in here: Move the cursor as the character is displayed in yellow; press button and change the character with the rotary knob. A short press toggles the mode. Long press exits the string editor. An underscore “_” represents a space in here.
Minimum Speed: #
155 kmh
This is the minimum airspeed at which this flap setting is recommended to use. Mass conditions according to the given polar reference.
Create it #
[Cancel]
[Yes]
Confirm the bottom of this dialog to create the flap level. It will be sorted into the list according to the speed you entered.
0. Level +2> 74 kmh #
Enter into each level and change speed, label or remove that level by selecting “Yes” in the corresponding field and push to confirm.
Label: +2 #
Minimum Speed: 74 kmh #
Remove level: { Cancel | Yes ] #
An example of how this list may appear is shown below.
1. Level +1> 80 kmh
2. Level 0> 95 kmh
3. Level -1>105 kmh
4.Level -2>125 kmh
#
Units #

For international operation in accordance with local conventions, the measurement units for variometer, airspeed, altitude, temperature, QNH, and distance can be configured individually. The available units include SI units and non-SI units accepted for use with SI, as defined by ICAO.
The factory default unit settings reflect common aviation practice in central Europe. Available unit options for each parameter are listed below; default values are shown in bold.
Altimeter #
[Meter (m)]
[Feet (ft)]
[FL (FL)]
Airspeed #
[Kilom./hour (km/h)]
[Miles/hour (mph)]
[Knots (kt)]
Vario #
[Meter/sec (m/s)]
[100 Feet/min (hfpm)]
[Knots (kt)]
Temperature #
[Celcius]
[Fahrenheit]
QNH #
[Hektopascal] [InchMercury]
Distance #
[Meter (m)] [Feet (ft)]
Hardware & Sensors #
DISPLAY #

All settings related to the display.
Orientation #
[NORMAL]
[TOPDOWN]

By default, the device is configured for installation on the left side of the panel, with operation using the left hand on the left edge of the display. For right-side installation, the display orientation can be inverted using the [Orientation] setting, which also moves the rotary knob to the opposite side. Available options are [NORMAL], [TOPDOWN], and a currently experimental [NINETY], (in expert mode) for a 90° degree mount with the button undernith the display.
Pixel Test #
[Cancel] [Start]
Factory display test for a fully white screen in order to detect faulty pixels.
Rotary Knob #

Sensitivity #
1 Indent
2 Indent

This setting allows adjustment of the rotary switch sensitivity. Some rotary switches generate two pulses per detent; in such cases, the display shows “2–4 indents per increment” to prevent skipping values. The optimal sensitivity is configured at the factory and typically does not need to be changed. The default setting of 1 indent per increment is recommended to minimize the risk of accidentally changing a value when turning the rotary knob.
Enter Setup by #
[Short-Press] [Long-Press]

This setting allows you to select whether the XCVario opens the setup menu with a short press (less than 0.5 s) or a long press of the rotary button. By default, a short press opens the setup menu. If you prefer to use short presses to cycle between display screens, it is recommended to assign the setup menu to a long press, leaving the short press free for screen navigation.
Speaker #
[Enable]
[Disable]
Option to disable the audio amplifier. It does drop the power consumption a bit, e.g. for a two seater setup. Pressing the button on [Enable] start a sound check melody.
Flap Sensor> #
Flap Sensor #
[Disable]
[Enable]
Configure the XCVario flap sensor here after connecting the hardware to your device.
Sensor Calibration #
[Cancel]
[Start]
Starting the sensor calibration will guide you through all configured flap positions of your glider.
Gear Warning #
[Disable] [S2 Flap positive] [S2 RS232 positive] [S2 Flap negative] [S2 RS232 negative] [External]

With the “Gear-Warning” a warning can be triggered in the case of extended brake flaps and retracted landing gear. The magnetic contact on the brake flap must be closed when it is retracted, and the contact on the landing gear when it is fully extended.
Please Note: The warning can be acknowledged by pressing the rotary and then turns off for 500 seconds or about 8 minutes.
Both contacts are switched in parallel with one end connected to ground (GND, battery minus) and the other end connected to pin 6, the flap sensor input, to S2 and connected to +12 volts via a pull-up resistor. Alternatively, pin 4 on S2, the RX pin of the RS232 interface, can be used, and there is an option for external [External] commands that can be send by an external device in order to trigger the gear warning, see the „$g“ commands section for details about this.

The warning is given optically with a textual display “Check GEAR “ in the popup text field, and there is an audible warning tone, and has priority over the other displays, with the exception of the stall warning.
The feature is available if either the flap sensor or the RS232 interface on S2 is not configured, i.e. setting: Disable is mandatory there and is switched off by default, or if you don’t use the flap sensor input.
The switching of the two magnet contacts is shown on the right, both must be designed as normally open contacts, i.e. they must be shot in the vicinity of the magnet. The pull-up resistor R2 is necessary for a high-level and should be in the 100 to 150 Kilo-Ohm range and at least 1/8 watt of power.
With the “negative” options you can also use contacts, which are to be laid in series and then close when the flaps are not locked, or the landing gear is not fully locked. The last option “Extenal” means the gear warning information is received by XCVario protocol via any supported interface.
Airspeed #

AS Calibration #
0 %

With the AS Calibration, a proportional calibration of the airspeed can be carried out. The calibration can be set in 1% steps in the range of +-10%. For example, with a calibration of +5%, instead of 100, 105 km/h will be displayed. This is normally not necessary, as the accuracy of the sensor is usually completely sufficient, however, the pressure readings in the aircraft can run incorrect values, and so there is an option here to minimize these errors. Default is 0% calibration. The AS calibration calibrates the respective value according to the setting IAS/TAS.
Set Zero #
[Cancel]
[Now]
With this option, the zero point of the airspeed sensor can be re-calibrated. The high accuracy of the airspeed sensor is ensured by a daily calibration of the zero point. This is normally carried out automatically on the ground when the power is turned on and is therefore only necessary in exceptional cases. At low speeds < 30km/h, very low pressures are relevant, different wind pressures from a gust or the propeller on the statics or the pitot tube when switching on can possibly lead to a deviation. If the display on the ground does not show exactly zero due to an incorrect zero point, this can be a remedy.
Swapped Tubes #
[Straight]
[Swapped]
Some older HW types have AS sensors with tubes swapped, in case there is no airspeed reading, the option [Swapped] will correct for this.
IMU & AHRS #

All XCVario devices from the 2021 series onward feature a 6-axis Attitude & Heading Reference System (AHRS) or IMU sensor chip, which includes accelerometers for all three axes and gyroscopes measuring rotational speed in all three axes.
The sensor is used to record acceleration or load factor (G-load), for example during circling, which effectively acts like additional ballast by increasing optimal glide performance. It also provides data for the artificial horizon and supplies load factor information to XCSoar.
To start the calibration procedure, the glider must be placed on level ground that is as flat as possible (verify with a spirit level). Hangars or apron areas are usually sufficiently level for this purpose. Start the procedure by selecting [Start] and then follow the on-screen instructions.
You will be prompted to first place the right wingtip on the ground, then the left wingtip. Each step must be confirmed by pressing the rotary button. The procedure is complete when both wings have been processed and the message “Finished – Success” appears; the total shift angle applied to the aircraft will be displayed. After completion, the indicated attitude can be checked against the artificial horizon to confirm correct pitch and bank.
A minimum total shift angle of 8° is required; smaller angles will result in an error message. If this angle cannot be achieved (for example on Open Class gliders with very large wingspans and low V-angle), repeat the procedure without the outer wing panels or wing extensions, ensuring the wingtip is protected with foam. If this is still insufficient, raise the glider at the fuselage center (for example in assembly position on the fuselage dolly in the trailer) or position the glider on a ramp that provides sufficient height.
Temp Control #
45 °C

The AHRS chip temperature can be regulated to a constant setpoint by an internal heating. A stable working point improves G-meter and gyro accuracy, resulting in a more accurate artificial horizon. The default setpoint is 45 °C. It may be adjusted for different climates. Setting the value to –1 °C disables this function.
A temperature rise of about 35 °C above ambient is possible, providing stable regulation at a 45 °C setpoint over ambient temperatures in cockpit of roughly from 10 °C to 45 °C.
AHRS RPYL #
[Disable] [Enable]

This function can be used to activate a data stream generated by a Levil AHRS. It produces $RPYL and $APENV1 data records, which include AHRS information such as pitch, roll, and yaw (if a magnetic sensor is installed), vertical load factor (Z-direction), altitude, airspeed, and TE variometer data.
The feature is disabled by default and is only required for programs that support it. Its primary purpose is to enable applications such as a sky map, which is currently under testing.
AHRS RAW #
[Disable]
Enable
Option to send as well the RAW AHRS gyro and accelerator data the follwing format
!XCV,
G,<gx>,<gy><gz>, // gyro rotation deg/s in all 3 axis; Format %.3f e.g. 8.123 [°/s]
A,<ax>,<ay><az> // acceleration in multiple of G in all 3 axis; Format %.3f e.g. 1.522 [g]
*CHK = standard NMEA checksum
<CR><LF>AHRS RAW
Battery Meter #
Battery Type #
[Cancel]
[LeadAcid]
[LiFePo4]
The battery type must be configured to align the battery meter with the voltage characteristics of the battery installed in your glider. Four reference voltages are defined for each battery type, representing the range from empty to full. Selecting a battery type presets these voltages according to the chosen type. Each voltage can also be adjusted individually if needed to match your specific battery.
Empty #
11.50 Volt
Critical #
11.75 Volt
Moderate #
12.00 Volt
Full #
12.80 Volt
Voltmeter Adjust #

-0.00 % 12.75 Volt
This dialogue is intended for factory use only to precisely fine-tune the battery voltage measurement for maximum accuracy. At factory the voltmeter is calibrated. Without this adjustment, voltage measurement accuracy is approximately ±1%. Performing the calibration requires a multimeter to measure the voltage exactly an the cable ends where the variometer is connected.
XCV Device role #
[Master]
[Second]

Set the role of your XCVario here.
In a single-seater aircraft, this is normally [Master] and should not be changed.
In a two-seater aircraft, the second device—typically installed in the rear seat—must be set to [Second].
Connected Devices #

This dialog is intended for configuring external devices connected to the XCVario, including FLARM units, navigation systems, secondary XCVario devices, radios, and other peripherals.
Precise knowledge of the connected devices and their respective interfaces enables the XCVario to automatically route data such as GPS position, ground speed, variometer data, radio control protocols, wind information, and additional system data to any peer that requires this information, e.g. a GPS fix in a navigation device.
Add Device #

Device #
[Anemoi]
[Flarm]
[Second XCV]
[Navi]
[Flarm Consumer]
[Flarm Download]
[Flarm Display]
[Temp. Sensor]
Add one of the above devices to XCVario. The following settings flavour and interface depend on the selected device. Not all devices have a flavour or support all interfaces.
Flavor #
[XCVario]
[Open-Vario]
[Borgelt]
[Cambridge]
[SeeYou]

Some devices like navigation devices have different flavors. Depending on the kind of navigation device connected, a dedicated protocol might be needed and can be configured here.
connected to Interface #
[WiFi]
[S1 serial]
[S2 serial]
[BT serial]
[BT low energy]
{CAN bus]

Select here the interfacey where you want your device to be connected to. Not all devices support all interface, e.g. devices supporting only serial cable connection will offer only S1- or S2 serial here. Meanwhile S1- or S2 serial and CAN bus serial require a cable connection, BT and Wifi protocols are wireless connections over the air, and need bluetooth or Wifi coupling at your device.
Create it #
[Cancel]
[Yes]

Finalize the creation of the selected device in your XCVario. Choosing [Yes] will save your configuration, else this will be canceled.
By default the following four devices are already setup in factory rollout configuration. The first is needed for a serial Flarm such as a classic Flarm device at S2 interface, and a Navi e.g. a mobile phone connected wireless.
NOTE: The device creation requires you to actively confirm, or selected all the dialog items above. All settings in this dialog have to be confirmed with a button press to allow the creation of it at the bottom.
Flarm>S2 Flarm Cosumer>WiFi AutoConnect>CAN Navi>WiFi
Logging #
[Disable]
[Wind]
[GYRO/MAG]
[Both]
[All Sensor Data]

The default setting is [Disable].
NOTE: Logging is only available in Expert Mode.
When the [Wind] option is enabled, the device outputs all sensor data with timestamps in addition to the standard $PXCV NMEA protocol datasets, using the formats described below. The resulting data stream can be recorded by XCSoar via the NMEA Logger, together with any other NMEA sentences transmitted by the device. Setting [All Sensor Data] will log any sensors created by XCVario.
NOTE: Logging is a developer option, do not just enable without a clear intention, e.g. to sent data to developers as this may impact performance or even overflow storage space.
Example for GYRO/MAG: $SENS;91532;954;975.8;975.8;0.0;25.6;0.141;-0.049;0.988;0.000;0.000;0.000,-1858;3188;6466
The format is:
$SENS;
<timestamp ms/100 since start>,
<time since last GPGGA fix received>,
<BApressure in hPa>,
<TEpressure in hPa>,
<PIpressure in Pa>,
<OAT in °C>,
<AccelX in g>,<AccelY>,<AccelZ>,
<GyroX in °/s>,<GyroY>,<GyroZ>
[,<MagX in Gauss*8192>,<MagY>, <MagZ>]
\n
Example for Wind: $WIND;17857;214.2;130.1;206.9;222.9;264.0;37.4;231.2;12.8;206.5;3.2;-2.8,3,1,16.1
The format is:
$WIND;
<timestamp ms/100 since start>,
<averageTC [°]>,
<groundSpeed [km/h]>,
<averageTH [°]>,
<trueAirspeed [km/h]>,
<newWindDir [°]>,
<newWindSpeed [km/h]>,
<windDir °>,
<windSpeed [km/h]>,
<circlingWindDir °>,
<circlingWindSpeed [km/h]>,
<(airspeedCorrection-1)*100>,
<circleWind>,
<flightMode [0 = undef, 1 = straight, 2 = circlingLeft, 3 circlingRight]>,
< gpsStatus [0 (noFix)| 1 (valid)] >,
< deviation [°]>
\n
Example for all sensor data: $SENS;39199.950,879,807.395,799.413,1132.049,7.40,0.0451,0.0007,0.9775,0.6550,0.5493,0.7267,-2203.5144,-2488.1287,-7549.5347
The format is:
$SENS;
<timestamp in sec.millisec>,
<GPS delta>, // ms between GPS timestamp and system clock
<baroP>, // in hectoPascal
<TeP>, // in hectoPascal
<dynamicP>, // in Pascal
<Temperature>, // in degree celcius
<AccelX>, // acceleration in multiple of 1 g
<AccelY>,
<AccelZ>,
<GyroX>, // rotation in deg per second
<GyroY>,
<GyroZ>
[,<compassX>, // raw mangnetic flux in nT, one LSB is ~ 3.3 nT
<compassY>, // optional, if compass module is avail
<compassZ> ]
\n
