Betaflight geek
1.31K subscribers
138 photos
7 videos
36 files
173 links
Канал о новинках Betaflight, мирных дронах и других технических и IT-интересностях. Путиноидам и зетникам здесь не рады.
Download Telegram
Релиз Betaflight задерживается, так что пока - пара веб-конфигураторов для ArduPilot:

- https://micoair.com/configurator - от MicoAir
- https://arduconfig.com - явно продукт вайбкод модификации Betaflight Configurator 😁

Почему это интересно?

MissionPlanner - основной конфигуратор ArduPilot - выглядит как софт эпохи Windows XP. Но для меня критичнее другое: нет релизов под Linux. Веб-конфигуратор решает обе проблемы, так что, возможно, я наконец починю и настрою свой HeeWing T1, печально пострадавший год назад при ограблении нашего дома 🫠

Есть ещё ArduPilot Methodic Configurator, но он пока не полностью адаптирован под всё, кроме мультироторов, и с UI там тоже не густо - основной упор на последовательную методику настройки, которая в общем-то понятна любому опытному пользователю.
8🥰1😁1
GoPro официально оповестила своих инвесторов о «серьёзных сомнениях в способности продолжать деятельность» в течение ближайших 12 месяцев. Производить такой отчет их принуждает законодательство США. Основными причинами они называют резкое удорожание компонентов и стагнацию рынка камер.

Думаю, все, кто хотя бы немного интересуются темой согласятся, что они просто систематически факапили и ситуация вполне закономерна😁
На скринах - динамика изменения занимаемой доли рынка по годам.
💯82😁2👍1👏1
Наверняка вы слышали, что загрузчик STM32 невозможно снести, а потому невозможно безвозвратно закирпичить полётник? Тем не менее в чатах периодически появляются бедолаги, которые "окирпичили" свой полётник и не могут его оживить. Пару минут назад я подумал, что вот-вот к ним присоединюсь.
Я уже примерно полгода экспериментирую с альтернативным алгоритмом стабилизации в Betaflight. Эксперименты - это почти всегда: сделал доработку, скомпилировал, прошил, записал лог, проанализировал - и так по кругу. Сегодня, после десятка таких итераций, мой AIO перестал входить в DFU, а потом и вовсе перестал определяться компьютером. Зажатие кнопки boot - нулевой результат. А потом я вспомнил, что при включённой аппе полётник не переходил в DFU (но продолжал определяться компом).
Решением оказалось зажатие сразу обеих кнопок boot: Boot ESP (ELRS) и Boot STM (Betaflight).

P.S. заметил, что в посте про вайбкод проекты число просмотров в 3-10 раз выше, чем во всех остальных. Не 10к лайков, но все же любопытно - это тема интересная, или где-то удачно репостнулось)
11👍8😁1
@suzrik разработал ресурс с лидербордом velocidrone. Для тех, кто активно тренирует - очень важно следить за прогрессом и конкурентами)
Я бегло погуглил аналоги и нашел только отдельные ресурсы вроде vdt.tg и крайне скудную официальную статистику.
Пользуйтесь, пишите предложения и замечания)
https://metricore.one
👍7👎3
Релиз edgetx - регулярный источник новостей о новых аппах😅
https://github.com/EdgeTX/edgetx/releases/tag/v2.12.2
😁52🙈2
Шумиха вокруг проблем со стабилизацией dji o4 продолжается. Flywoo даже начали перепаивать гироскопы на старые - сумасшедшая затея)
Тем временем Dji опубликовали характеристики o4 wide юнита, который подозрительно похож на флайвушный же мод. Мне кажется история с dji caddx vista повторяется?)
Основные отличия:
159 градусов FOV против 117 и 155 у старого и про юнитов.
13.3 грамма - достаточно тяжелый для 65 вупов.
Впрочем, в 65 размере и со старым весом в 8.2 грамма было тяжеловато.
😁3👍1😢1
Таки случился релиз кандидат Betaflight 2026.06, очевидно, стабильный релиз в июне уже не произойдет, но формально, в сроки уложились😁
Ключевым (хоть и не самым важным с моей точки зрения) изменением я бы назвал появление автопилота и полета по точкам. Это первый релиз данного функционала, настоятельно рекомендуется пробовать его только в симуляции! На самом деле движение в эту сторону началось еще в прошлых релизах и будет вектором развития прошивки в ближайшем будущем: новые режимы, датчики, расширение мавлинк телеметрии.

Также хочу отметить редизайн конфигуратора, если изменений недостаточно - это значит я не все свои идеи смог протолкнуть к реализации😅
Полный список изменений, можно изучить на сайте:
https://betaflight.com/docs/wiki/release/Betaflight-2026-6-Release-Notes
ладно, никто же не читает релиз ноутсы?)
- Конфигуратор снова можно скачать и установить
https://downloads.betaflight.com/
- Теперь в экосистеме бетафлайт есть новый проект.
Бридж позволяет добавить подключение через вайфай на любой полетник. А еще - можно интегрировать портативный веб конфигуратор (как в елрс). Это было моим шуточным предложением, но, кажется, его уже минимально реализовали.
116😁4👏2
В одном из постов вскользь (жуть, какое странное слово😂) упомянул о написании прошивки. 10к лайков пост не собрал, но просмотров оказалось заметно больше, чем в среднем.

Пробуем раскрыть тему, надеюсь, будет интересно. Кране приветствуется обратная связь в любом проявлении: реакции, репосты, вопросы и советы в комментариях.

ТЗ: максимально просто, без программистских изощрений (я такое и не умею), написать прошивку дрона, чтобы было понятно, что там происходит. Я не ставлю целью создать летающую прошивку, но если оно полетит, будет весело :)

Вдохновляемся своими знаниями, репозиториями Betaflight и Flix, ну и куда же без Claude.

Arduino - просто потому что🙃

Контроллер - любой из семейства ESP32: дешево, функционально, уже есть у меня под рукой.

И сразу псевдокод с общей логикой нашей прошивки. Большая часть строк представляет собой простую конструкцию:
объект.действие();
результат = объект.действие(параметры);

настройка() {
//этот блок выполнится один раз при подаче питания
гироскоп.инициализировать();
гироскоп.калибровать();
приемник.инициализировать();
моторы.инициализировать();
}

цикл() {
//будет выполняться бесконечно до тепловой смерти вселенной
данные_гироскопа = гироскоп.измерить();
сетпоинт = приемник.получить_данные();
результат_ПИД = стабилизатор.рассчитать_ПИДы(сетпоинт, данные_гироскопа);
команды_для_ESC = микшер.рассчитать_для_Х_коптера(приемник.газ, результат_ПИД);
моторы.отправить(команды_для_ESC);
ждем_окончания_цикла();
}


И вот так это выглядит в коде:

void setup() {
imu.init();
imu.calibrate();
receiver.init();
motors.init();
}

void loop() {
gyro = imu.getGyro();

setpoints = receiver.getChannels();

pidOutputs = stabilizer.computePIDs(setpoints, gyro);
motorCommands = mixer.mixQuadX(receiver.getThrottle(), pidOutputs);

motors.spin(motorCommands);
waitForNextLoop();
}

#GeekFirmware
51👍20🔥8😁2
Релиз кандидат elrs 4.1
Немного багфиксов и начальная поддержка нового поколения semtech lr2021 чипов, а это значит - новые продукты от производителей на горизонте. Вы давно обновляли свою аппу?😅
https://github.com/ExpressLRS/ExpressLRS/releases/tag/4.1.0-RC1
👍6
Пост с логикой пока не сильно зашел, надеюсь, наберет просмотров на большой дистанции. А пока решено рассказать про "железо". Итак, представляю вам мой подопытный квад:
- esp32-s3-tiny (имеет съемный юсб и позволяет сэкономить несколько грамм)
- mpu6050 - (самый дешевый imu c spi подключением, что я смог найти)
- коллекторные 8520 моторы
- 65-75мм пропы
- 1s esc на 10 ампер (плата разламывается на 4 отдельных рега)

Можно ли было взять обычный стек от fpv коптера? Вполне, но это скучно😎
Почему коллекторные моторы? Ответ простой: когда я в прошлый раз игрался с написанием своей полетной прошивки - я сжег с десяток моторов и регов просто отлаживая ПИДы и Фильтры. Коллекторник же можно напрямую подключить к батарее, зажать руками вал и получить лишь постепенный нагрев. Случайно сжечь его неправильной настройкой фильтров, скорее всего, невозможно.
#GeekFirmware
🔥16👍4😁3
Что такое таргет?
По сути таргет - это файл, в котором заранее написано, к какой ноге контроллера (MCU) подключен тот или иной контакт на вашем полетнике и какую функцию он выполняет.
Подробнее:

Все контакты интерфейсов на полетнике (то есть UART, I2C, все, кроме питания) уходят напрямую в MCU.

Представьте, что вам пришлось бы высматривать, на какую ногу контроллера уходит дорожка от контакта. После этого искать в технической документации (даташит) название этой ноги, и только потом в конфигурации вы бы смогли указать, что туда подключен RX контакт от вашего GPS. А потом еще повторить эту же процедуру для TX и всех остальных устройств, включая встроенные: барометр, IMU, пины моторов, датчики тока и напряжения.

Чтобы избавить пользователя от этой работы и существует таргет.

У плат ESP32 есть несколько преимуществ, облегчающих создание таргета:

- пины на плате заранее пронумерованы и соответствуют пинам контроллера, то есть нам не надо искать это в даташите
- на большинство пинов можно назначить практически любую функцию за счет механизма GPIO Matrix (есть исключения, но сейчас это не важно)

Нам нужно лишь выбрать удобные по расположению пины и присвоить этот номер переменным для удобства использования внутри кода. Например, я решил подключить ESC к пинам 1, 5, 14, 18. По схеме я вижу, что для этих пинов доступна функция PWM, которым мы будем управлять моторами.

Записываем:
мотор_1_пин = 5
мотор_2_пин = 1
мотор_3_пин = 14
мотор_4_пин = 18

И вот так выглядит код файла target.h:

#pragma once
#include <Arduino.h>

constexpr uint8_t MOTOR_1_PIN = 5;
constexpr uint8_t MOTOR_2_PIN = 1;
constexpr uint8_t MOTOR_3_PIN = 14;
constexpr uint8_t MOTOR_4_PIN = 18;


#GeekFirmware
👍22🔥82👏1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥215👍4🤔4
Тут на реддите запостили in-fligh автотюн.
Первая реакция - почему без ссылки на пулл реквест? Но, посмотрев профиль автора, понял, что я бы тоже не стал публиковать код. Хотя, кто знает...
В общем то, сам механизм понятен и лишь вопрос времени и усилий для его реализации, изобретать велосипед не нужно)
За наводку спасибо @ivan_antonyuck
https://www.reddit.com/r/fpv/comments/1v87hj1/built_an_inflight_pid_autotune_for_betaflight/
👍7