Betaflight vs INAV: что выбрать для дальних полётов
8 февраля 2026 · 5 мин чтения · FPV прошивки
После года экспериментов с обеими прошивками могу поделиться впечатлениями. Если коротко: для фристайла и гонок — Betaflight, для дальних автономных полётов — однозначно INAV.
Betaflight отлично оптимизирован для ручного управления. Его PID-контроллер работает на частотах до 8 кГц, что даёт невероятную отзывчивость стиков. Но как только вам нужен GPS-return-to-home или waypoint-навигация, Betaflight сдаёт позиции.
INAV, напротив, изначально проектировался для навигации. Поддержка GPS, барометра, компаса — всё из коробки. Mission Planner позволяет задавать маршруты с точностью до метра.
- Betaflight: фристайл, гонки, синематик на коротких дистанциях
- INAV: дальние полёты, картографирование, автономные миссии
- ArduPilot: если нужна максимальная автономия и сложные миссии
Rust на STM32: первые шаги с Embassy
2 февраля 2026 · 8 мин чтения · Rust embedded
Наконец-то добрался до Embassy — асинхронного фреймворка для embedded Rust. Это буквально async/await для микроконтроллеров, и это работает удивительно хорошо.
Для теста взял плату с STM32F411 (та же серия, что в полётных контроллерах). Embassy позволяет писать многозадачный код без RTOS — всё на корутинах Rust.
Пример — чтение данных с IMU (гироскоп + акселерометр) через SPI, одновременно обрабатывая UART-команды от приёмника:
#[embassy_executor::task] async fn read_imu(spi: Spi) { ... }
Compiler гарантирует отсутствие data races на этапе компиляции. После C в embedded это ощущается как переход из каменного века. Нет больше забытых volatile, нет проблем с порядком инициализации периферии.
Сборка 5" фристайл квадрокоптера: бюджет 2026
25 января 2026 · 6 мин чтения · FPV сборка
Собрал новый фристайл-квад на актуальных компонентах. Цель — оптимальное соотношение цены и качества. Вот что получилось:
- Рама: TBS Source One V5 — open source, отличная геометрия, 5 мм карбон
- FC + ESC: SpeedyBee F405 V4 стэк — надёжный вариант за свои деньги
- Моторы: EMAX ECO II 2207 1900KV — проверены временем
- Пропеллеры: HQProp 5x4.3x3 V2S — отличная эффективность
- VTX: Rush Tank Nano 800mW — компактный, мощный
- Камера: Caddx Ratel 2 — хороший динамический диапазон
Общий вес без батареи: 320 грамм. С батареей 6S 1100mAh — около 520 грамм. Тяговооружённость больше 8:1, что даёт запас для любых манёвров.
no_std в Rust: зачем и как
18 января 2026 · 4 мин чтения · Rust embedded
Многие, начиная изучать Rust для embedded, спотыкаются о #![no_std]. Объясню простыми словами: стандартная библиотека Rust (std) зависит от ОС — ей нужны потоки, файловая система, сеть. На голом микроконтроллере этого нет.
no_std означает, что вы используете только core — подмножество стандартной библиотеки, которое работает без ОС. Базовые типы, итераторы, Option, Result — всё доступно. Нет только того, что требует аллокатора или ОС.
Если нужна динамическая память (Vec, String, HashMap), подключаете alloc крейт и реализуете глобальный аллокатор. Для STM32 хорошо работает embedded-alloc.