Прошивка Betaflight + конфигуратор в браузере
Shramko Motor Autostart
Небольшой модуль для Betaflight 2025.12.1, который превращает полётный контроллер в самостоятельный драйвер мотора: вставили батарею — он выжидает паузу, плавно выводит ESC на заданный газ и держит его. Без пульта и без приёмника. Эта страница подключается к плате по USB прямо в браузере: меняйте любые настройки, сохраняйте их и следите за мотором вживую.

- Без приёмника и пульта
- Настройка в браузере (Web Serial)
- DShot или PWM
- Открытый код · GPL-3.0
- Проверено замерами на железе
- Разгон начинается
- через 10,01 с после включения
- Разгон длится
- 10,02 с
- Макс. отклонение от прямой
- 1 мкс
- Юнит-тестов
- 42
Замерено на настоящей HGLRC F405 8S V2 по USB с настройками по умолчанию (пауза 10 с, разгон 10 с до 15 %). Сырые данные и инструменты проверки: README → Verified on hardware.
Конфигуратор
Подключите плату по USB и нажмите «Подключить». Настройки платы и живые данные остаются между вашим браузером и платой.
Конфигуратору нужны JavaScript и Web Serial
Работает в Chrome, Edge или Opera на Windows, macOS, Linux и ChromeOS, а также в Firefox 151+ (один раз спросит разрешение для сайта). Android: Chrome 148+ на телефонах, где Android поддерживает USB-serial — просто попробуйте. iPhone и iPad не умеют: в их браузерах нет ни Web Serial, ни WebUSB.
Нет подходящего браузера? Все настройки есть и в CLI Betaflight: get autostart, set autostart_throttle = 80, save. Имена, диапазоны и значения по умолчанию — в справочнике настроек.
Установка прошивки
Минут пять, один раз на плату. Нужны плата, USB-кабель и Chrome или Edge.
Скачайте .hex
Откройте последний релиз на GitHub и скачайте файл для своей платы. Готовая сборка: HGLRC F405 8S V2 (в Betaflight
board_name HGLRC_F405_S8) —betaflight_2025.12.1_STM32F405_HGLRC_F405_S8_autostart.hex.Снимите пропеллер
Прежде чем что-то прошивать или подключать, снимите пропеллер или крыльчатку. С этой прошивкой мотор сам стартует через 10 секунд после подключения батареи.
Прошейте через Betaflight App
Откройте app.betaflight.com в Chrome или Edge и подключите плату по USB. Перейдите в Firmware Flasher, нажмите Load Firmware [Local], выберите
.hexи нажмите Flash Firmware.Windows пишет «DFU device not found»?
В Windows не хватает драйвера загрузчика. Запустите ImpulseRC Driver Fixer (в один клик) или воспользуйтесь Zadig: выберите STM32 BOOTLOADER и установите WinUSB. Потом прошейте ещё раз.
Первый запуск — и подключайтесь здесь
При первой загрузке после прошивки поверх другого Betaflight все настройки один раз сбрасываются — так и должно быть: значения по умолчанию в этой сборке и есть настройки проекта (DShot300, пауза 10 с, разгон 10 с, 15 %). Закройте Betaflight App (порт может занимать только одна программа) и нажмите «Подключить» выше.
Другая плата на Betaflight?
Соберите из исходников: скопируйте config.h своей платы из betaflight/config в configs/<BOARD>/, добавьте #define USE_AUTOSTART и запустите сборку в Docker — см. README → Build from source.
Версии
v1.1.0 (текущая): задержка, разгон, газ и его ограничение, время работы, случайные порывы, отсечка по батарее, выходы, определение батареи, кнопка и тумблер пульта. Платы с v1.0.0 тоже подключатся, но покажут только свои настройки — обновите прошивку, чтобы получить остальное. Чтобы вернуться, прошейте …_stock.hex из релиза: тот же Betaflight без модуля.
Как это работает
Модуль пишет газ туда же, куда его пишет вкладка Motors в Betaflight, пока моторы не заармлены. Поэтому выход DShot/PWM, арминг ESC и телеметрия остаются штатными. Задача на 50 Гц проходит пять состояний:
- IDLE
Ждёт батарею
Плата меряет напряжение батареи на пине
B. Отautostart_vbat_min(6,0 В) батарея считается подключённой. При питании только от батареи это и есть момент включения. - DELAY
Обратный отсчёт
autostart_delayсекунд (10). Всё это время ESC получает команды «стоп» — не меньше 3 с, — чтобы заармиться на нулевом газе. - RAMP
Разгон
Прямая линия от 0 до
autostart_throttle(15 %) заautostart_ramp(10,0 с). На старте программы настройки фиксируются. - RUN
Ровно или порывами
STEADYдержит уровень.GUSTSдобавляет случайные резкие порывы отautostart_gust_minдоautostart_gust_max.autostart_throttle_limitограничивает любой выход. - DONE · LOW_BATTERY
Остановка
DONE— когда вышлоautostart_run_time;LOW_BATTERY— когда батарея 5 с держится ниже «банки ×autostart_cell_cutoff» (3,30 В на банку); тогда ESC пищит каждые 3 с. При времени работы 0 мотор крутится до отсечки или до отключения питания.
Что останавливает программу
- Вход в CLI
- Вкладка Motors в конфигураторе (любой
MSP_SET_MOTOR) - Арминг с приёмника
- Живая связь с приёмником (если не задан
autostart_box) - Вышло время работы
- Отсечка по батарее
- Батарею отключили
- Нажатие кнопки во время работы
Сама программа не перезапускается. В режиме POWER повторное подключение батареи снова запускает отсчёт. Все имена, диапазоны и значения по умолчанию — в справочнике настроек.
Подключение: HGLRC F405 8S V2 + Flycolor X-Cross HV3 160A (6S)
Возьмите 8-проводной кабель из комплекта полётного контроллера (белый ×4, жёлтый, зелёный, чёрный, красный). Три соединения, каждое пропаять и заизолировать:
- Жёлтый провод ESC (сигнал) → белый провод кабеля рядом с жёлтым (пин
1; в этой сборке на всех четырёх белых один и тот же сигнал) - Чёрный провод ESC (сигнальная земля) → чёрный провод кабеля (
G) - Новый тонкий провод (22–24 AWG) от плюса батареи → красный провод кабеля (
B, питание платы)
- Жёлтый провод кабеля — не сигнал: это вход телеметрии ESC. Его, зелёный и остальные белые обрежьте и заизолируйте.
- На
B— не больше 8S. Для 10–12S питайте плату от BEC, рассчитанного на 12S. - Если всё подключено верно, на батарее ESC играет 3 восходящих тона, потом один низкий и один высокий (сигнал есть, заармлен).
Какие компьютеры и телефоны подходят
Конфигуратор общается с платой через Web Serial — это функция браузера, и есть она не во всех браузерах.
| Устройство | Браузер | Работает? |
|---|---|---|
| Windows, macOS, Linux | Chrome, Edge, Opera | Да |
| Windows, macOS, Linux | Firefox 151+ | Да — один раз спросит разрешение для сайта (прошивать плату — только в Chrome или Edge) |
| Windows, macOS, Linux | Safari, старый Firefox | Нет — нет Web Serial |
| Телефон или планшет на Android | Chrome 148+ с кабелем USB-OTG | Только на телефонах, где Android поддерживает USB-serial (Google: «ограниченный круг устройств», с 2026 года) — попробуйте |
| iPhone, iPad | Любой | Нет — в браузерах iOS нет Web Serial и WebUSB |
Порт платы может занимать только одна программа: закройте Betaflight App, прежде чем подключаться здесь, а эту страницу — прежде чем прошивать.
Риски и безопасность — прочтите до того, как подключать батарею
- Мотор запускается сам. С настройками по умолчанию он начинает крутиться через 10 с после подключения батареи. На столе — без пропеллера; считайте устройство под питанием опасным.
- На пин
B— не больше 8S. Красный провод несёт напряжение батареи: если он коснётся белого, жёлтого или зелёного провода, процессор полётного контроллера сгорит. - Только для работы на земле. Это драйвер мотора, а не настройка для полётов. Арминг с приёмника возвращает моторы штатному Betaflight.
- Отсечка по батарее бережёт аккумулятор, а не проводку. Это не предохранитель, а при отсечке 0 её нет вовсе.
- Некоторым ESC нужен PWM. ESC на BLHeli_32, который сообщает «activation failed», принимает только PWM:
set motor_pwm_protocol = PWM. - Кое-что меняется не по воле проекта: поддержка Web Serial в браузерах, Betaflight App, прошивки ESC. Если что-то перестало работать — напишите через «Обратную связь».
Подробнее: SECURITY.md · docs/warnings.md
Частые вопросы
Как раскрутить бесколлекторный мотор без приёмника и пульта?
Прошейте Shramko Motor Autostart (Betaflight 2025.12.1 с небольшим модулем) и подключите батарею: через autostart_delay (10 с) мотор за autostart_ramp (10 с) разгонится до autostart_throttle (15 %) и продолжит крутиться. Ни приёмник, ни тумблер, ни компьютер не нужны — числа задаются один раз, здесь или в CLI.
Может ли Betaflight остановить мотор, когда LiPo разряжен?
Да, начиная с прошивки 1.1: задайте autostart_cells (6) и autostart_cell_cutoff (330 = 3,30 В на банку, на 6S это 19,8 В). Если напряжение держится ниже этого порога autostart_cutoff_time (5 с — короткие просадки во время порывов не считаются), мотор останавливается и с DShot пищит каждые 3 с. Снова он запустится только после того, как батарею отключат и подключат заново.
Работает ли это на Android или iPhone?
iPhone и iPad: нет — ни в одном браузере iOS нет Web Serial и WebUSB (даже официальное приложение Betaflight для iOS подключается только по Bluetooth). Android: Chrome 148+ с кабелем USB-OTG, на телефонах, где Android поддерживает USB-serial; Google включает это на ограниченном круге устройств, поэтому просто попробуйте. На Windows, macOS и Linux — Chrome, Edge или Opera (или Firefox 151+).
Какие полётные контроллеры поддерживаются?
Готовый .hex есть для HGLRC F405 8S V2 (HGLRC_F405_S8); проверено с Flycolor X-Cross HV3 160A (BLHeli_32) на 6S. Любая другая плата на Betaflight заработает после сборки из исходников: добавьте #define USE_AUTOSTART в config.h платы и запустите сборку в Docker, как описано в README.
Как сделать медленный плавный старт ESC, например от 0 до 15 % за 10 секунд?
Это и есть разгон: autostart_ramp в десятых долях секунды (100 = 10,0 с, до 600 с) и autostart_throttle в процентах. Разгон идёт по прямой: по замерам на железе отклонение не больше 1 мкс.
Можно ли менять настройки без этого сайта?
Да. В CLI Betaflight get autostart показывает их, set autostart_throttle = 80 меняет одну, а save сохраняет и перезагружает плату. Вход в CLI останавливает работающую программу, поэтому мотор никогда не прыгает на новое значение.
Безопасно ли подключать батарею, когда подключён USB-кабель?
Да, так и задуманы проверки на столе (без пропеллера): отсчёт начинается только когда появляется батарея, если её отключить больше чем на 0,5 с — мотор останавливается, а CLI или вкладка Motors сразу перехватывают управление. Если мотор вообще не должен крутиться при подключённом компьютере, задайте autostart_usb_inhibit = ON.
Как вернуться к обычному Betaflight?
Задайте autostart_mode = OFF (штатное поведение, модуль бездействует) или прошейте …_stock.hex из релиза — тот же Betaflight 2025.12.1 без модуля, — либо любую официальную сборку Betaflight.
Для вашего ИИ-агента
Работаете с ИИ-агентом (Claude, ChatGPT, Cursor…)? Скопируйте этот промт: в нём сказано, где прошивка, справочник настроек и правила безопасности, и агент проведёт вас через настройку.
Task: set up Shramko Motor Autostart (Betaflight 2025.12.1 firmware: the motor starts by itself on power-up, no receiver). Answer me in Russian. Repo: https://github.com/AndriiShramko/shramko-betaflight-motor-autostart - read AGENT_SETUP.md and docs/settings.md first. 1. Ask me to remove the propeller. Never let the motor spin with a propeller on. 2. Firmware: the .hex from https://github.com/AndriiShramko/shramko-betaflight-motor-autostart/releases/latest (HGLRC F405 8S V2 = HGLRC_F405_S8). Other Betaflight boards: build from source (README, Docker, #define USE_AUTOSTART in the board's config.h). 3. Flash: https://app.betaflight.com in Chrome or Edge -> Firmware Flasher -> Load Firmware [Local] -> Flash Firmware. Windows "DFU device not found": ImpulseRC Driver Fixer or Zadig (WinUSB for STM32 BOOTLOADER). 4. Configure: https://autostart.flyreelstudio.eu (Connect, edit, Save) or the Betaflight CLI: get autostart / set autostart_<name> = <value> / save. Use only the names, ranges and defaults in docs/settings.md. 5. Wiring: docs/wiring.md. Never more than 8S on pin B.
Для агентов в репозитории: AGENT_SETUP.md · AGENTS.md · llms.txt · docs/settings.md
Кто это сделал и как работать вместе
Я Андрей Шрамко. Строю дроны и 360°-камерные системы для экстремальных съёмок — охоты на торнадо, сканов целых городов в Gaussian splatting — и инструменты вокруг них. Эта прошивка управляет вентилятором кейса META4 Tornado: как только на бокс подают питание, он сдувает воду с оптики 360°-камеры, и никому не нужно её трогать.
Открыт к интересным знакомствам и готов помогать командам реализовывать невероятные проекты — встраиваемая электроника и железо для дронов, камерные системы, конвейеры сканирования, партнёрство, лицензирование или финансирование.
Конфиденциальность
Администратор данных: Андрей Шрамко, Быдгощ, Польша — zmei116@gmail.com. Конфигуратор общается с вашим полётным контроллером прямо из браузера: настройки платы и живые данные на наш сервер не попадают.
Сервер хранит только то, что вы отправили сами: обратную связь (ошибка, идея) и сообщения о сотрудничестве — с контактом, если вы его указали, — и, только если вы поставили галочку, технические данные (версия страницы, браузер и экран, последние ошибки, журнал конфигуратора). Текст и контакт также пересылаются в Telegram автора (Telegram FZ-LLC, Дубай — за пределами ЕЭЗ); оригинал остаётся на сервере в ЕС. Храним до 12 месяцев и используем только чтобы ответить и чтобы исправить сайт.
Счётчики посещений работают без cookies и без IP-адресов; в логах сервера нет ни IP-адресов, ни строк запроса. Google Analytics загружается только после вашего согласия.
Копию или удаление своих данных можно запросить в любой момент: zmei116@gmail.com.
