Flipper Zero Variometer

May 15, 2026 · View on GitHub

Вариометр для Flipper Zero на базе датчика давления BME280.
Показывает высоту, вертикальную скорость и график подъёма/снижения.
Подходит для параглайдинга, хайкинга, горных лыж.


Возможности

  • 📡 Поддержка BME280 и BMP280 по I2C (автодетект 0x76/0x77)
  • 🏔️ Высота (м) крупным шрифтом, работает от −9999 до 9999 м
  • ↑↓ Фильтр Калмана — плавная вертикальная скорость
  • 📊 График скоростей: история ~228 секунд, обновляется каждые 2с
  • 🔊 Звуковая индикация подъёма и снижения
  • 💡 Принудительная подсветка (держится постоянно)
  • 📏 Коррекция высоты в меню (±10 м, применяется кнопкой OK)
  • 📝 Автоматический лог /ext/VarioLog.csv (каждые 30 сек, очищается при старте)

Layout экрана

┌──────────────────────────────┐
│▐▌ 1234m                      │  ← высота + "m", график
│▐▌ ┄┄┄┄┄┄┄┄·┄┄┄┄┄┄·┄┄┄┄┄┄┄  │  ← график мин/макс скорости
│▐▌ ·  ·  ·  ▪  ▪  ▪  ·  ·  ·│
│             +0.45 m/s        │  ← вертикальная скорость
│  18.5C               1013hPa │  ← температура и давление
└──────────────────────────────┘
  • Полоса слева — графический индикатор скорости (±5 м/с)
  • M на полосе — звук выключен (MUTE)

Подключение BME280

Flipper Zero GPIO    BME280
─────────────────────────────
Пин  9  (3.3V)  →   VCC
Пин 11  (GND)   →   GND
Пин 16  (C0)    →   SCL
Пин 15  (C1)    →   SDA

SDO → GND → 0x76 (по умолчанию)
SDO → VCC → 0x77
Приложение пробует оба адреса автоматически.


Управление

КнопкаОсновной экранВ менюРедактирование высоты
↑ ВверхВкл/выкл звукПереход вверх+10 м
↓ ВнизВкл/выкл подсветкуПереход вниз−10 м
OKОткрыть менюИзменить параметрПрименить
НазадВыйтиЗакрыть менюОтмена

Меню настроек

ПунктОписание
SoundЗвуковая индикация подъёма и снижения
BacklightПостоянная подсветка (обновляется каждые 4с)
Correct Alt.Поправка высоты: Up/Down ±10м, OK применить

График скоростей

Полоса 113×32 пикселей между высотой и скоростью.
Каждые 2 секунды добавляется новая колонка слева, старые уходят вправо.

| Скорость (|м/с|) | Пикселей от центра | |------------------|--------------------| | < 0.5 | 0 (центр) | | 0.5 – 0.99 | 1 | | 1.0 – 1.99 | 2 | | 2.0 – 4.99 | 3 | | 5.0 – 10.0 | 4 | | > 10.0 | 5 |

Положительная скорость — вверх от центра, отрицательная — вниз.


Звуковая индикация

СитуацияСигнал
Подъём > 0.3 м/сБипы 1300..2300 Гц, частота растёт
Снижение < −0.9 м/сТон 300..1000 Гц, частота падает
НейтральТишина

Лог

Файл /ext/VarioLog.csv очищается при каждом запуске.
Запись каждые 30 секунд:

30;1523.4
60;1530.1
90;1528.7

Формат: время_работы_сек;высота_м


Сборка

git clone --recursive https://github.com/DarkFlippers/unleashed-firmware.git
cd unleashed-firmware
cp -r /path/to/flipper-vario applications_user/vario
./fbt fap_dist APPSRC=applications_user/vario
# Результат: build/f7-firmware-D/.extapps/vario.fap

Скопируй vario.fap на SD карту в /apps/GPIO/.


Структура

flipper-vario/
├── application.fam
├── vario_app.c
├── bme280.c
├── bme280.h
├── vario_icon.png
└── README.md

Совместимость

ПрошивкаСтатус
Unleashed✅ Проверено (API 87.6)
Official✅ Должно работать

Changelog

v3.0.1.2

  • 🐛 Исправлен layout: высота, график, скорость, темп не перекрываются
  • 🐛 Исправлена подсветка: переустанавливается каждые 4с при backlight_forced
  • ✨ График скоростей: история 228с, обновление каждые 2с
  • ✨ Коррекция высоты в меню (±10м, OK применить)
  • ✨ Лог VarioLog.csv: время работы + высота каждые 30с, очистка при старте
  • 🗑️ Убраны: пункты Logging и Log interval из меню
  • 🐛 Исправлено меню: 3 пункта с правильными рамками

v2.0

  • 🐛 Исправлен звук: убраны конфликтующие LED-нотификации
  • 🎨 Графический индикатор скорости вместо ASCII-символа
  • 🐛 Исправлены рамки в меню

v1.0

  • Первый публичный релиз

Автор

xumbax — сделано для сообщества Flipper Zero.
Нашёл баг? Открывай Issue!

Лицензия

MIT License