The article describes the creation of a compact vibrovariometer based on ESP32 and BMP390 sensor. The author shares his experience of assembling the device in one evening, explains key technical solutions, and shows how modern neural networks help speed up development. The material will be useful for those interested in DIY electronics, flight gadgets, and practical experiments with microcontrollers.
Paragliding is associated with peace, freedom and meditative flight. However, even in such a harmonious activity there is one element that often knocks out of rhythm – the sound of the variometer.
Classic models work by changing the tonality depending on the rate of ascent or descent. During long hours in the sky, this continuous beeping can be tiring and annoying.
During one of the competitions, one of the pilots casually remarked: “It would be much more convenient if the variometer did not beep, but simply vibrated – like a phone in your pocket. So that the flow could be felt by the hand or wrist, and not by hearing.”
This thought then flew superficially, but later, while browsing products on AliExpress, my eyes fell on the Watchy watch on ESP32-PICO-D4 with an E-ink display. And it was then that the idea arose: to turn an open hardware watch into a compact vibrovariometer that works without sound load.

This is how the VibroVario project came about.
There is a little intrigue: almost all the program code was created by the Gemini 3 neural network, since in the process of experiments with the new API it generated about 99% of the firmware. But before moving on to that, it is worth understanding the main thing – the choice of sensor.
As the main measuring element, it is logical to use a barometric sensor that determines changes in height due to the difference in atmospheric pressure. However, a high-quality variometer requires a sensor with maximum accuracy.
That is why the key component was the BMP390 – a model that significantly surpasses the popular BMP280 or MS5611 in accuracy. Its ability to determine the change in height with a resolution of 5–8 cm allows, after filtering, to obtain an accuracy of approximately ±5 cm/s in vertical velocity (Vz). Such parameters are enough to capture even the weakest flows and microturbulence.

The price of the item is about $2.9 (≈ 120 UAH) on AliExpress.
The most successful choice was Watchy v2.0 based on ESP32-PICO-D4 with E-Ink screen.
Architectural advantages. ESP32-PICO-D4 is a SiP (System-in-Package) solution, in which the central processor, flash memory and quartz resonator are placed in one compact housing.
Energy efficiency. The device is distinguished by very low power consumption in standby mode – according to the manufacturer, up to 60 days in sleep.
Display. Slow E-Ink is not a disadvantage: in static mode it consumes 0 mW, which is ideal for long-term operation. Updates with an interval of one second are quite sufficient for a variometer and allow you to significantly save battery power.
A minimum set of components is required for assembly:
Watchy;
BMP390 module;
four thin wires;
a soldering iron with a thin tip of about 30 watts.
Step-by-step installation instructions (5–10 minutes):
Unscrew the four screws on the back cover of the watch.
Carefully disassemble the case.
Solder the BMP390 module with a surface mount to the corresponding pins on the Watchy board:
Module VCC → to button 1 power point
Module GND → to GND
SCL → to GPIO 22
SDA → to GPIO 21
This connection ensures stable operation of the sensor and does not require a separate printed circuit board.

Important: In this project, the ESP32 pin is used to power the BMP390 sensor, and the button that goes to the pin closes the pin when pressed to ground. So I strongly recommend not using this button in the work, then I plan to find another soldering point to the clock. This choice of power supply is due to the terrible current of 15 milliamperes in the board with the BMP390! With a simple connection immediately to 3.3 volts, this board drains the battery in 200mAh in 15 hours.
After assembly is complete, the device weighs 24 grams.
A paraglider in flight constantly changes his body position: performs rolls, works with the flails, sometimes folds his “ears”. Such movements create sharp changes in pressure, which is why a conventional barometer begins to distort the data. For example, quickly raising his hand up can simulate a false “rise” of several meters.
As a result, the sensor sees a false flow. To eliminate such jumps, mathematical compensation of vertical accelerations is used — a kind of adaptation of the Total Energy Compensation concept for a wearable device.
Watchy already has a BMA423, a high-quality three-axis accelerometer, installed, so the algorithm takes into account two data sources at once: barometer and accelerometer readings, constantly comparing them with each other.
This is the main feature of the project: replacing sound notifications with tactile patterns. Instead of traditional signals like:
“Pi-ip” = +0.5 m/s
“Pip-pip” = +2.0 m/s
The device transmits information through various vibration patterns, which allows you to completely get rid of annoying audio accompaniment during long flights.
Such a code is perceived by the brain in 200-300 ms – this is faster than analyzing the tonality of sound (where the brain needs about 400 ms). Plus, it feels great under winter gloves (tested personally), and does not depend on the wind in the ears.
The display was not abandoned – the optimal screen type was simply chosen. E-Ink technology (electronic ink) remains the only solution that:
perfectly readable even under direct mountain rays with a 180° view;
flicker-free;
consumes energy only when updating the image.
Average current: about 20 mA (taking into account five vibrations per minute and screen refresh every 0.5 seconds).
Watchy battery: 200 mAh.
In theory, it turns out: 200 / 20 ≈ 10 hours of operation. In real conditions – cold, active vibration – autonomy lasts more than 8 hours.
This is enough for a full day of competition. If necessary, you can turn off the display or vibration motor, but it is the vibration that remains the most energy-consuming – approximately 70 mA.
The basis of the sketch was generated by Google’s Gemini 3 neural network, but the process required clear and consistent instructions.
The prompt included precise requirements, which were refined seven times:
“Write an Arduino sketch for ESP32 (Watchy) with a connected BMP390 and built-in BMA423.
Conditions:
– altitude autocalibration during the first 20 seconds;
– second-order filter (Kalman, fc = 0.8 Hz);
– Vz compensation based on accelerometer readings;
– haptic feedback via a vibration motor with preset patterns;
– E-Ink update once every 1 second using GxEPD2 in partial update mode;
– all code in one file without unnecessary classes.”
Gemini generated a working framework in a matter of minutes, but further optimization required additional efforts. Various models were actively used: Qwen, DeepSeek, Perplexity, which helped find algorithm fragments, code examples, datasheet excerpts, and implementations from GitHub.
Without artificial intelligence, a full-fledged basic firmware would have required about 40 hours of work. Thanks to neural networks, the total time was reduced to about 8 hours.
AI actually saved about 32 hours of routine programming, speeding up the creation of a finished prototype.
The VibroVario project shows how simple and effective a modern DIY approach to paragliding can be. Thanks to an accurate barometric sensor, an energy-efficient Watchy platform, and a haptic feedback system, a compact variometer was created that operates without sound load and provides comfort during long flights. The combination of hardware with the capabilities of neural networks significantly reduced the development time and made the project repeatable. The open source code and simplicity of the design allow anyone to adapt the device to their own needs and develop the idea further.