
Предыстория: от надоедливого писка к идее
Парапланеризм - это про спокойствие, свободу и медитативный полет. Но в этой идиллии есть один назойливый артефакт: звук вариометра.
Традиционные приборы - звуковые. Они меняют тональность в зависимости от скороподъемности. И когда часами часами летаешь под облаками это постоянное пикание слегка надоедает.
Однажды мой друг, с которым мы летали на соревнованиях, бросил фразу:
«Было бы круто, если бы вариометр просто вибрировал - как телефон в кармане. Чтобы я чувствовал поток рукой или запястьем, а не ухом».
Я тогда просто кивнул. А через годик, болтаясь по Алиэкспрессу я увидел на сайте часы Watchy на ESP32-PICO-D4 с Е-ink и в голове щелкнуло: А что, если превратить эти open-source часы в вибровариометр?

Так родился проект VibroVario.
И да, небольшой спойлер: я почти не писал код вручную. Новый Gemini 3 (я экспериментировал с последним API) сгенерировал 99% прошивки. Но обо всем по порядку.
Этап 1. «Что вообще можно отследить?» - выбор сенсора
Оптимальный выбор — классический барометрический датчик, работающий на разнице давлений. Но для этого нужен действительно высокоточный барометр. Почему я выбрал BMP390, проигнорировав популярные BMP280 или MS5611?
BMP390 дает разрешение по высоте около 5–8 см. При правильной фильтрации это превращается в точность ±5 см/с по вертикальной скорости (Vz). Этого более чем достаточно, чтобы почувствовать даже самые слабые "пузыри" воздуха.

Цена вопроса: $2.9 (около 300 рублей) на AliExpress.
Этап 2. «Куда это впихнуть?» — выбор платформы
Выбор Watchy v2.0 на ESP32-PICO-D4 на E-Ink экране
Архитектура: ESP32-PICO-D4 - это SiP (System-in-Package). Все необходимое (CPU, Flash, кристалл) уже внутри одного корпуса.
Энергоэффективность: Низкое потребление в простое - по заявлению производителя до 60 дней в режиме сна.
Экран: Медленный E-Ink — это не баг, а фича. В статике он потребляет 0 мВт. Обновление раз в 1 секунду для вариометра — допустимая жертва ради автономности.
Этап 3. «Как это соединить?» — монтаж без печатной платы
Нам нужен абсолютный минимум компонентов:
Часы Watchy (уже есть).
Модуль BMP390.
4 тонких провода .
Паяльник с тонким жалом (30 Вт).
Инструкция по сборке (займет 5–10 минут):
Откручиваем 4 винта с задней крышки часов.
Аккуратно разбираем.
-
Припаиваем BMP390 навесным монтажом к пинам на плате Watchy:
VCCмодуля → к точкепину кнопки 1GNDмодуля → кGNDSCLмодуля → кGPIO 22SDAмодуля → кGPIO 21

Важно: В данном проекте для питания датчика BMP390 использован вывод ESP32, а кнопка идущая к выводу замыкает вывод при нажатии на землю. Следовательно настоятельно рекомендую не использовать данную кнопку в работе, позже планирую найти другую точку подпайки к часам. Такой выбор питания обусловлен чудовищным током в 15 миллиампер у платы с BMP390! При простом подключении сразу на 3.3 вольта эта плата высаживает батарейку в 200мАч за 15 часов.
После сборки вес устройства составил 24 грамм.
Этап 4. «А что, если я дерну рукой?» — компенсация ускорений
Парапланеристы в полете - не статичные манекены. Они кренятся, дергают клеванты (тормоза), складывают "уши". В этот момент обычный барометр сходит с ума: резкое движение рукой вверх создает скачок давления, который датчик интерпретирует как подъем на пару метров.
Барометр видит этот «ложный поток». Решение - математическая компенсация по вертикальной перегрузке (Total Energy Compensation, но для руки). У большинства Watchy уже распаян BMA423 - отличный 3-осевой акселерометр.
Соответственно в алгоритме заложены взаимные поверки показаний датчиков - барометра и акселерометра.
Этап 5. «Как сообщить пилоту?» — тактильный код
Здесь кроется главная фишка проекта. Мы заменили надоедливый писк на тактильные паттерны.
Вместо:
«Пииип» = +0.5 м/с
«Пип-пип» = +2.0 м/с
Вибрация |
Длительность |
Значение |
|---|---|---|
Короткий толчок (·)---- |
100 мс+длинная пауза |
Слабый подъем (+0.2 м/с) |
Толчок с паузой (· – ·)---- |
100 мс + пауза + 100 мс +длинная пауза |
Уверенный поток (+0.4 м/с) |
Длинная серия (– – – –) |
Непрерывно |
Опасное погружение -5 м/c (Sink alarm) |
Такой код воспринимается мозгом за 200–300 мс — это быстрее, чем анализ тональности звука (там мозгу нужно около 400 мс). Плюс, это отлично чувствуется под через зимними перчатками (проверено лично), и не зависит от ветра в ушах.
Этап 6. E-Ink и выживание на солнце
Мы не отказались от дисплея, мы просто выбрали правильный.
E-Ink (электронные чернила) - единственный тип экрана, который:
Идеально читается под прямым горным солнцем (угол обзора 180°).
Не мерцает.
Тратит энергию только в момент перерисовки цифр.
Математика энергопотребления:
Средний ток: 20 мА (учитывая 5 вибраций в минуту и обновление экрана раз в 0.5 сек).
Аккумулятор Watchy: 200 мА·ч.
Теория: 200 /20 ≈ 10 часов.
Реальность (холод, частые вибрации): 8+ часов.
Этого с запасом хватает на самый длинный соревновательный день. Есть варианты по экономии энергии - отключать или экран или вибромотор. Вибра, однако, прожорлива - 70мА.
Этап 7. Кто писал код? Честно про Gemini 3 и остальных
Теперь про искусственный интеллект. Да, основу скетча сгенерировал Google Gemini 3 , но с важными оговорками.
Я не просто сказал «Сделай мне хорошо». Я скармливал ему очень четкий промпт, который итеративно уточнял 7 раз:
*«Напиши Arduino-скетч для ESP32 (Watchy) с подключенным BMP390 и встроенным BMA423.
Требования:
Автокалибровка высоты (первые 20 сек).
Фильтр 2-го порядка (Калман, fc=0.8 Гц).
Компенсация Vz по данным акселерометра.
Тактильный вывод через вибромотор (паттерны прилагаю).
Обновление E-Ink раз в 1 с через GxEPD2 (частичное обновление).
Весь код в одном файле, без лишних классов.»*
ИИ выдал работающий скелет за 3 минуты. Но магии не случилось, пришлось дорабатывать:
И вот здесь мне пришлось вволю отдаться вайб-кодингу с зоопарком сеток - были использованы Квен, Дипсик, Перплексити. Натравливание разных сетей на даташиты в интернете и проекты на гитхабе. Скармливание в чатики примеров из чужого кода. Признаться честно, без ИИ я бы потратил часов 40 на написание минимально работающего когда. С нейросетками - затраты составили около 8 часов.
Итог: ИИ сэкономил мне около 32 часов рутины.
Выводы и открытый исходный код
Весь проект полностью открыт (Open Source, лицензия MIT).
Ссылка на репозиторий:
? github.com/isemaster/VibroVario
Вы можете:
Собрать такой же прибор за один вечер.
Продавать готовые устройства (при условии указания авторства).
Дорабатывать код (например, добавить передачу данных на телефон по BLE).
Что дальше? (Планы на версию v1.1):
Фильтр для указания на ядро термика на расстоянии 100 - 300 метров(там другая физика колебаний).
Тонкая настройка конфигураций порогов, виброрисунка, чувствительности, компенсация изменения атмосферного давления
Солнечная зарядка с возможным переездом прибора с руки в корпус?
Возможно, будет написано приложение для смартфона для настройки часов по блютусу.
Мы часто думаем, что «умные вещи» - это голосовые ассистенты и автопилоты. Но иногда настоящая инновация - это простая вибрация на запястье, которая позволяет пилоту слышать ветер, а не электронный писк.
P.S. Хотите повторить?
Вам понадобятся: Watchy ($28), BMP390 ($3), Arduino IDE и паяльник.
Пошаговый гайд и код уже лежат в README на GitHub.
Если соберете - напишите в комментарии или сделайте PR! Хочу видеть, как этот проект разлетается по парапланерным спотам мира.
И особо хочется услышать предложения по улучшению прибора, поскольку понимаю свои ограничения и однобокий взгляд на проблему.