tl;dr прошивка для BetaFPV Lite Brushless 1S (стоит в Meteor 75 Lite) и Lite Brushed(Beta 65s Lite), летает так же, добавляет всякие плюшки в OSD (имя, rssi итп), но требует определённой смелости и паяльника для установки.
Что это и зачем
Маленький личный проект. Хотел добавить пару вещей в BetaFPVшный форк сильвера и слегка увлёкся - вынес часть настроек из конфига в OSD меню и немного доработал полётный экран. Список изменений на данный момент:
- отображение RSSI (поддерживается bayang на Brushed, IBUS и SBUS)
- отображение имени пилота (имя вводитя через OSD меню)
- настройка привязок функций к каналам аппы через OSD меню
- настройка цветов светодиодов из OSD меню (для Brushed)
- поддержка внешних IBUS приёмников (бэкпортировано из NFE Silverware)
Установка
Для прошивки полётника понадобятся STLink V2 Debug adapter (для Brushless), Arduino Nano, а так же паяльник с тонким жалом - придётся подпаиваться к небольшим контактным площадкам на плате. Прошивка состоит из двух частей - LiteSilverware+ для STM32 и LiteOSD+ для EFM8, отдельного чипа, отвечающего за отображение OSD.
Прошивать их можно в любом порядке.
Прошивка STM32
Сначала нужно скачать подходящую прошивку со страницы с релизами - https://github.com/jumper047/LiteSilverwarePlus/releases. Дальше инструкции будут отличаться в зависимости от того, какой полётник нужно прошить.
Если это Lite Brushed Fc (Beta 65s Lite) - всё относительно просто. Нужно скачать DFUse Demo с сайта ST Link - https://www.st.com/en/development-tools/stsw-stm32080.html, установить и запустить его. Затем закоротить на полётнике площадки обозначенные DFU pads
и подключить его к компьютеру. После того как программа опознает его - данные об устройстве появятся в левой верхней части окна - можно разомкнуть контакты.
Нажмите на кнопку "Choose(1)", выберите .dfu файл с прошивкой и нажмите кнопку "Upgrade(2)". Подождите пока не появится надпись "Upgrade successful".
С Lite Brushless всё немного сложнее - у этого полётника нет разъёмов, придётся подпаивать провода к плате. Понадобится паяльник с тонким жалом и, на всякий случай, мультиметр - что бы можно было проверить КЗ между проводами. Лично мне ещё очень помогла третья рука с лупой.
Для прошивки нужно соединить GND, SWDIO и SWCLK на полётнике и STLink. Программу для прошивки можно скачать по этой ссылке - https://www.st.com/en/development-tools/stm32cubeprog.html
Запустите STM32Cube, нажмите "Connect"(1), потом кнопку загрузки (2)
Нажмите "Browse"(3), выберите файл прошивки, и нажмите "Start programming"(5). Подождите завершения процесса прошивки.
Прошивка EFM8
Загрузите прошивку для OSD отсюда - https://github.com/jumper047/LiteOSD/releases, выберите версию для вашего полётника.
Для прошивки OSD нужно подключить выход C2D полётника к пину D2 на Arduino Nano, C2CK к D3, GND на Arduino Nano с землёй полётника (на Brushless она выведена рядом со всеми остальными выходами, на Brushed есть свободный пятачок в месте для подключения внешнего приёмника). Для Brushed расположение выходов указано на рисунке из предыдущего раздела, для Brushless - на рисунке ниже.
Теперь нужно установить программу для прошивки EFM8. Её можно скачать отсюда - https://github.com/jumper047/efm8-arduino-programmer/releases или, если у вас установлен Python, можно просто выполнить в терминале команду
python -m pip install git+https://github.com/jumper047/efm8-arduino-programmer.git
и затем там же, в терминале, запустить
efm8_programmer
Выберите COM порт (если выпадающее меню пустое, нажмите кнопку "Refresh")
Сначала нажмите кнопку "Flash Arduino", выберите тип платы, которая у вас есть, нажмите "Ок" и дождитесь появления окна "Прошивка завершена успешно". Теперь на с помощью Arduino можно прошить EFM8. Сначала сделайте резервную копию заводской прошивки - нажмите "Read", выберите файл для сохранения и дождитесь окончания чтения. После этого нажмите "Flash", выберите файл прошивки, который вы загрузили до этого, нажмите "Ok" и дождитесь окончания прошивки. Отключите полётник от Arduino (один из проводов C2D/C2CK должен быть отлкючен, иначе OSD не запустится), и попробуйте запустить полётник. Если всё загрузится нормально, можно отпаивать провода и летать:).
Настройка
Сначала, на всякий случай, небольшое предупреждение - не сидите в OSD слишком долго, видеопередатчик сильно греется и может сгореть, если дрон долго находится включенным без движения.
Настройка OSD находится в меню Display - там можно ввести имя, отключить/включить rssi и тд. У Brushed FC настройка цветов подсветки находится в Config.
RSSI на данный момент работает из коробки у Brushed с протоколом Bayang, и с внешними приёмниками FlySky альтернативной прошивкой от Сleric-K - https://github.com/Cleric-K/FlySkyRxFirmwareRssiMod . SBUS должен работать так, как описано в этой инструкции - https://oscarliang.com/rssi-ppm-channel-taranis/ , но у меня увы нечем это проверить. Попробуйте передать данные по 16му каналу, должно сработать.
That's all folks!
P.S. Если хотите зарепортить, закоммитить или просто поставить звёздочку, вам сюда - https://github.com/jumper047/LiteSilverwarePlus
Репортить баги можно в телеге - ник тот же самый, что и здесь.
P.P.S И послденее - спасибо @vodka-bears, написавшему прошивалку для OSD, если бы не это я бы скорее всего забил на возню с этим полётником:).