Activity

Радиомодем 3DRadio на модулях HM-TRP с нуля

Решил состряпать запись по прошивке модулей HM-TRP для их работы в качестве радиомодемов для телеметрии.
Процесс оказался не особо интуитивно понятный, мало ли кому пригодится.

Собственно, что нужно для прошивки такого модуля в радиомодем 3DR?

  1. Сам модуль
  2. Программатор процессоров Silabs. Программатор для регуляторов оборотов на ардуине - подходит, но с оговорками. См. ЗЗЫ в конце записи.
  3. Компьютер с LPT-портом (можно с платой расширения)
  4. Windows 98 / XP / ME
    Пункты 3 и 4 в данный момент перестали быть обязательными - см. ЗЗЫ в конце записи.
  5. 3-вольтовый FTDI адаптер (или 5-вольтовый и стабилизатор на 3.3)

Итак. В модуле с завода залита родная HopeRF-овская прошивка. Надо её снести и записать туда загрузчик от 3DR.
Делается это при помощи программатора для процессоров Silicon Laboratories, работающего по интерфейсу C2. Родной программатор стоит порядка 30 баксов, и покупать его, чтобы прошить 2 платки - тупо. Процесс поиска альтернатив навёл на 2 разработки на ардуине (раз и два) и на 2 программатора от LPT. С ардуиновскими дело не заладилось. Наиболее похож на рабочий программатор от OlliW, который используется для программирования регуляторов оборотов, но к нему нет софта, который бы позволял залить любую прошивку в любой силабс - это дело жёстко заточено на регуляторы. Тем не менее - этот программатор правильно определил тип процессора, что говорит о его общей работоспособности. (что в общем-то и подтвердилось впоследствие - см. способ от Drinker-а)
Прошивка 3DR состоит из 2 частей - бутлоадера и собственно прошивки. С помощью С2 программатора достаточно залить только бутлоадер.
Бутлоадеры - разные для каждого из типов радиомодулей - 433, 868, 915 и 470 (?) МГц.
Я заливал бутлоадер при помощи вот такого LPT программатора:

Пользовался софтиной “Slabprog”. Для того, чтобы залить бутлоадер подключаем программатор к контактам модуля, обозначенными на картинке красными точками:

Также надо подать питание 3.3 вольта на контакты, обозначенные синим (3.3в) и жёлтым(GND). Я использовал для этого 3-вольтовый FTDI адаптер.
Далее. Грузимся в Windows XP. Я использовал грузящуюся с флешки WinPE. Запускаем Slabprog. Подключаем программатор к LPT порту. Подключаем питание к радиомодулю.
В SlabProg-е можно попробовать прочитать всю память модуля - у меня выдало ошибку. Зато определился процессор (16 05). Далее жмём “Open”, выбираем нужный бутлоадер, далее “ALLMEM ERASE”, “ALLMEM PROGRAM”, “ALLMEM VERIFY” (с небольшими промежутками). Потом жмём “DEVICE RESET” - на радиомодуле должен загореться красный светодиод. Это свидетельствует о том, что бутлоадер залит.

Дальше проще.
Отсоединяем питание, программатор, грузимся в основную рабочую систему, запускаем Mission Planner.
Радиомодуль надо подключить к FTDI адаптеру (3-вольтовому!) в соответствии с “боевой” схемой включения. А именно - по картинке выше, +3V: синяя точка, GND: жёлтая, TX (со стороны FTDI): зелёная, RX FTDI: голубая. (собственно, все контакты подписаны на обратной стороне, это я уж так, для полноты картины).
Фиолетовой точкой на картинке обозначен вывод, при замыкании которого на землю радиомодем уходит в режим бутлоадера (для обновления прошивки). Первый раз ничего замыкать не надо - модем и так находится в режиме бутлоадера.
В мишн планнере выбираем закладку “Initial setup -> 3DRadio”. Проверяем, какой порт выбран сверху справа (нужен тот, к которому подключен радиомодуль). Нажимаем “Upload firmware (local)”. Планнер должен найти модуль и начать вливать в него прошивку - красный светодиод на модуле будет мигать. По окончании - надо настроить модуль. Выбираем скорость 57600, жмём “load settings”, настраиваем как считаем нужным - ГОТОВО!

Вот, такой вот “3DR radio from scratch” =)

З.Ы. Кто знает нормальный программатор С2 на ардуине - поделитесь информацией в комментах, а то этот LPTшный гемор - никакой радости не доставляет.

З.З.Ы. Кому неохота заморачиваться с LPT и WinXP - несколько “бубновый”, но вполне рабочий способ прошить процессор от тов.Drinker:
Итак.
Качаем olliw.eu/…/ow-silprog-blhelitool-blhelibox-2013102…
Подключаем ардуинку (у меня нано) к компу, запускаем AvrBurnTool_v101 и шьём ейо. Теперь у нас есть программатор.
Далее.
Подключаем радиомодуль к земле и питалову ардуинки (у меня модуль напаян на платку со стабилизатором на 3.3в, поэтому я подал 5 вольт, голый модуль неадо подключить к 3.3в ардуинки).

Теперь.
Зырим сюда olliw.eu/…/owsilprog-arduino-nano-setup-02-02-wp1-…
Находим на радиомодуле ряд из 4 дырок. Нижний провод с фотки подключаем ко 2-й от проца дырке, средний - к 1-й. Верхний нафиг не нужен, мы уже к земле подключили модуль.
Прим. {gorbln}: если юзаем Arduino ProMini - подключаем 1-ую от проца дырку (C2CK) к контакту D11, а вторую (C2DAT) - к контакту D12 ардуины.

Качаем хексы бутлодера и радио …taulabs.org:8080/…/SiK_origin-master_20131212_074… - не работает, оставлено для истории
Качаем отсюда - drive.google.com/folderview?id=0B1eG0s2wbI2lYzZNOE…
Качаем мегадринкеропрошивальщик yadi.sk/d/Df6keA1GFkesi 😃 - не работает, оставлено для истории. Качать можно с того же гугл диска. Terminal.exe

Запускаешь дринкеропрошивальщег, выбираешь порт и скорость 38400
Внизу в строку вводишь строку rie
В ответ должно на каждую букву приити ответ ок.
Если так, то кнопкой open выбираешь хекс с бутлодером (у тебя bootloader~hm_trp~868.hex) и пошла прошивка.
После каждой строчки будет ок, кроме десятка последних. (это важно!)

Тут гимор начинаецца легкий.
Надо ЗАПОМНИТЬ какая строчка последняя с результатом ОК.
Открываем хекс на редактирование, удаляем последнюю строку (:00000001FF)
И с КОНЦА вырезаем все оставшиеся строки до последней с “ок” и вставляем их ПЕРЕД той самой строкой.

Повторяем процедуру (rie, open)
Вуаля - бутлодер прошит!

Дальше - как и описано - подключить к Mission Planner-у, прошить основную прошивку, настроить.

Радиомодемы OpenBee 433 Мгц на модулях RFM22B

Заказал я как-то (не подумав) модули RFM22B. При цене 15 баксов за пару - планировал всех обмануть и сделать дешёвые радиомодемы, аналоги телеметрийных модулей для ардупилота.

Получилось так. Ценник вышел - около 12 баксов за 1 модем.
За подробностями - добро пожаловать далее.

Прошил FrSky D8R-II Plus

Искал в интернете информацию по перепрошивке этого приёмника, но не находил подтверждения, что всё работает.

В общем, рискнул и прошил приёмник прошивкой, предназначенной для D8R-XP. Прошивал, как описано в видео ниже, за исключением того, что файл прошивки был другой, а именно d8rxp_cppm27_build120926.frk
В режим программирования приёмник входит при установке перемычки между каналами 7 и 8. Нужен FTDI кабель, в котором реверсированы пины TX и RX.
Взять файл прошивки можно на сайте производителя. Такой файл, как указан в видео, на сайте производителя, к сожалению, отсутствует. Однако ниже в комментариях есть ссылки, по которым можно его скачать.
Собственно видео о прошивке:

Впечатления о прошивке.

  1. CPPM (PPM SUM) - появился. При установке перемычки меджу 3 и 4 каналами - на 1 появляется CPPM,
  2. На 2 канале выдаётся RSSI. 5,6,7,8 каналы работают как обычно. Можно, например, повесить пищалку или серву какую-нибудь.
    RSSI довольно странный, с огромным периодом следования импульсов.
    Здесь - 1: сигнал сильный, пропусков пакетов нет; 2: много пропусков пакетов; 3: фэйлсейф, сигнала нет. Период следования импульсов - около 1.2 секунды, амплитуда - порядка 3.3 вольт.


    Всё нормально, просто цифровой осциллограф тупил.
  3. Красный светодиод, сигнализирующий наличие связи, стал работать “наоборот” - при появлении связи он гаснет. При отсутствии - мигает.
  4. Бинд, ФС, и прочие фишки работают. Бинд при прошивке не слетел =) Но на всякий случай - перебиндил.
  5. Не знаю, связано ли это с прошивкой - но коптер стал ловить ФСы в 60 метрах от передатчика.
    UPD: Походу, всё-таки, не связано. Протестил неперепрошитый V8R и этот приёмник - оба ловят ФС примерно при равных обстоятельствах, просто D8 орать начинает как сумасшедший при потере пакетов, чем создаёт видимость ФС. Плюс, походу, одна из антенн на этом приёмнике - гогно, ибо при её экранировании ничего не меняется, тогда как при экранировании другой - ФС.
    Как уменьшить порог начала орания о пропусках пакетов - ниже в коментах. Имеет смысл (правда, себе я так и не сделал - лень да неохота)

В принципе, прошивка работает, можно заливать как в D8R-XP , так и в D8RII. Но на свой страх и риск.

PPM2USB симулятор джойстика

Заняться вечером было нечем, и решил я смастерить себе симулятор джойстика (переходник) для использования совместно с симулятором полётов. Пошерстив интернет, нашёл конструкцию на ATMega 8, автором которой является Томас Пфайфер.
Нарисовал платку, шлёпнул утюгом, вытравил, запаял. Удивительно - работает!!! 😁
Восемь аналоговых каналов, видится как обычный джойстик в Windows. Изначально переходник предполагается для использования совместно с симулятором FMS.

Получилось как-то так:
плата

схема

Прошивку взял по ссылке на сайте автора, там есть готовый хекс для заливки
Конденсаторы 27 pF я не нашёл, поставил 22 - всё работает нормально. Стабилитроны ставить обязательно. Мне стало лениво сверлить отверстия под кварц и ставить его с обратной стороны, поэтому я затянул его в термоусадку, и уложил на конденсаторы.

Файл платки в формате Sprint Layout 5 и исходники можно взять по ссылке. Копирайт платы мой. В каталоге 2 версии - под mini-USB и под USB вилку (как флешка).

Прошивка регуляторов через Turnigy USB Linker

Наконец-то дошли руки и я научился прошивать регули через Turnigy USB Linker.

МетОда такова: 😎

  1. Идём на github.com/sim-/tgy/downloads и качаем там последнюю доступную версию прошивки SimonK. Я качал tgy_2012-09-30_0d3e617.zip. Ничего качать не надо, во флештуле всё подгружается само.

  2. Качаем KKMulticopter flash tool от товарища LazyZero. Чтобы софтина работала - нужна Java. Запускаем kkMulticopterFlashTool.cmd

  3. Подключаем ISP программатор (без него никуда =). Выбираем подключенный программатор во флештуле.

  4. Выбираем тип контроллера “Atmel 8-based brushless ESC + enable bootloader”

  5. Выбираем во вкладке “Flashing…”->“Repository” прошивку SimonK в соответствии с типом рега. Также есть возможность прошиться из файла. (скриншот снят со старой версии программы, расположение элементов немного поменялось, но суть осталась прежней)

  6. Жмём зелёную кнопку с человечком - качается файл прошивки из репозитория и рег прошивается прошивкой SimonK.

  7. Теперь рег прошит и готов к прошивке через линкер. Линкера у меня не было, поэтому я его заколхозил из ардуины по описанию здесь. Включаем ардуину/линкер.

  8. Подключаем регулятор к линкеру (если это ардуина - подключается сигнал на D2 и земля), затем включаем питание рега через маломощный блок питания.

  9. Запускаем wii_esc_flash_v06_win32.exe (я прошивал далее wii-esc)

  10. Выбираем тип программатора “Turnigy USB Linker with SimonK bootloader” и порт, на который повесилась ардуина

  11. ВНИМАНИЕ! Регуль прошивается на скорости 19200! А по умолчанию стоит 9600. Не стесняемся, вбиваем ручками нужную цифру.
    По этому пункту мнения на форуме разделились. У кого-то прошивается на 9600. Но там оригинальный линкер. У меня получилось только на 19200. Возможно, это связано с моим “клонированным” линкером. Так что лучше пробовать и то, и другое. Естественно, это связано с моим клонированным линкером! Описания надо читать =))) В описании ардулинкера английским по белому написано - скорость 19200. Так что ничего странного, для клона нужна именно эта скорость.

  12. Выбираем таргет в соответствии с типом рега. Качаем.

  13. Выбираем калибровочные параметры. Качаем.

  14. Записываем таргет и потом калибровку. Всё должно прошиться штатно.

Все вопросы и добавления приветствуются в комментах!

Добавление:
Есть сведения, что после заливки Wii-ESC при помощи родного заливальщика Wii-ESC - прошивку SimonK уже через линкер не залить.
Решение найдено пользователем skyrider:

Разобрался, если через турниговский УСБ линкер программой wii_esc_flash_v06_win32 прошить файлом от wii_esc - Симонк больше через линкер не зальётся, вызывает ошибку.
Если ККфлештулом симонк+бутлоудер через USBasp все залилось и работает, дальше через турниговский УСБ линкер программой kkmulticopterflashtool_0.72 можно лить хоть симонк хоть wii_esc скока угодно, пробовал заливать их чередуя раз шесть, и с реверсом и без , все отлично заливается и потом работает.

УВАГА!!!
Если вы не хотите угробить бутлоадер - не прошивайте регуль через флештул как “atmega8…+enable bootloader”!!! То есть - так прошивать только через ISP. При прошивке такого дела через линкер - фьюзы в регуле сбрасываются, и он превращается в тыкву кирпич, воскресить который получится уже только ISP программатором. Я предупреждал.

Есть мнение, что прошивка новой серии регуляторов - Afro ESC, осуществляемая при помощи собственного линкера, осуществляется аналогично. Но сам не пробовал, поэтому с уверенностью не скажу.

Перепрошивка ESC для мультироторов

В этой записи я постараюсь собрать полезную информацию по теме перепрошивки регуляторов оборотов (ESC) для работы на мультироторах.

Для чего это нужно:
Обычные регуляторы имеют внутри программный и аппаратный фильтры, сглаживающий реакцию на резкие скачки управляющего воздействия. Применительно к моделям самолётов и вертолётов - всё правильно, резко изменять газ совершенно ни к чему. Однако, принцип стабилизации мультироторных аппаратов основан на изменении тяги каждого ротора в отдельности. Чем более отзывчив будет регулятор, тем лучше будет стабилизация, меньше колебания, и т.п. Хорошо иллюстрирует это следующее видео от Дмитрия piranha:

И вот ещё один показательный пример.
Ещё один минус “родных” прошивок регуляторов - низкое разрешение. Т.е. регулятор весь диапазон оборотов проходит за, к примеру, 100 шагов. Кастомные прошивки обеспечивают большее разрешение.
Стоит отметить, что после перепрошивки регулятор теряет бОльшую часть своих функций. Не надо спрашивать - а как настроить отсечку, или - а где настраивается софтстарт. Этих функций просто нет. Прошитые регуляторы предназначены исключительно для работы на мультироторах. Исключением можно считать прошивку BLHeli - там пока что присутствуют фишки “фабричных” регуляторов.

Что для этого нужно:

  • Собственно сам регулятор. Типы регуляторов, поддающиеся перепрошивке, перечислены в таблице по ссылке
    Сайт опенпилотов периодически перестаёт показывать таблицу, поэтому владельцы аккаунта gmail могут посмотреть таблицу отдельно.
    Стоит отметить, что в последнее время появилась тенденция делать регуляторы на чипах Silabs. Перешивать их геморройнее, однако, опыт в этом направлении уже какой-никакой наработан. Однако, предпочтение при прочих равных я отдаю проверенным регуляторам HK Blueseries / HK SuperSimple / Mystery Blueseries. Регуляторы HK SuperSimple, правда, сильно ругают за то, что в них стоят какие-то отстойные транзисторы, которые имеют свойство не успевать закрываться, что приводит к КЗ в регуляторе и выгоранию его нахрен. Саймон Кирби (автор прошивки SimonK) рекомендует избегать этих регуляторов. По своему опыту могу сказать - прошивал и использовал больше десятка суперсимплов - ни один не сбойнул и уж тем более, не сгорел.
    УВАГА!!! У ХК была одно время замечена тенденция лочить чипы регуляторов при помощи установки фьюза RSTDISBL. Такие чипы не поддаются ISP программированию! Есть мнение, что это была чисто маркетинговая фишка в поддержку их новой серии регов для мультироторов (довольно невнятной, надо сказать). В качестве решения - довольно “громоздкая” процедура - выпаять родной чип с платы и заменить его на новый. Либо перепрограммировать его высоковольтным программатором, либо сбросить настройки фьюзов фьюзбитдоктором. К сожалению, по уточнённой информации, чтобы “вылечить” чип битдоктором, его необходимо выпаять. В середине 2013 года заказывал несколько разных регуляторов - залоченных среди них не было. Так что можно считать это предупреждение утратившим силу.
  • ISP программатор для чипов Atmel Atmega. При наличии в компьютере LPT порта - собирается из 5 проводков. Сам таким пользуюсь по сей день, для перепрошивок “изредка” - самое оно (хотя не агитирую никого за этот способ - спалить LPT и регуль можно на раз). Также есть недорогие программаторы на чипах Atmel и FTDI
  • Компьютер (ну, это вполне очевидно)
  • Крайне желателен блок питания на напряжение 12 вольт и ток не более 1-2 ампер (желательно с электронной защитой от превышения тока). От него будем питать регулятор после прошивки во время первых тестовых запусков. Дело в том, что если выбрать неправильную прошивку, можно спалить ключи в регуляторе. Если же ток будет ограничен - худа не произойдёт, блок питания уйдёт в отсечку, намекая, что что-то сделано не так. 😃 Если блока питания нет, рекомендуют питать регулятор от аккумулятора, включая последовательно с ним лампу на 12 вольт и 20-50 ватт. Если регулятор замкнётся, лампа загорится на всю мощь, индицируя косяк.
    Стоит заметить, при использовании лампы возможна ситуация, когда движок после перепрошивки медленно раскручивается нормально, а резко - начинает дёргаться и лампа вспыхивает. Это нормально.

Процесс прошивки
В данный момент прошивку можно залить двумя способами: через ISP и через сигнальный кабель самого регулятора (который с 3 проводами, он втыкается в приёмник). Однако, чтобы иметь возможность прошиваться через сигнальный провод, изначально бутлоадер всё равно придётся заливать через ISP, так что от этого неудобного способа никуда не денешься. Поэтому он и будет рассмотрен в первую очередь.

Процесс прошивки через сигнальный кабель с применением клона Turnigy USB Linker-а бегло рассмотрен в этой моей записи.

Железо
Первым делом надо вскрыть регулятор. Для этого разрезаем термоусадку по торцу регуля, стараясь не задеть элементы под ней. Снимаем термоусадку, отлепляем радиатор с ключей.
Смотрим на ключи, определяем их тип. Если все транзисторы с одной маркировкой, то регуль т.н. N-Fet only. Если с разной - P+N Fet. Эта информация пригодится при выборе прошивки.

У регуляторов HK Blueseries, HK F-series и Mystery Blueseries крайне желательно удалить BEMF конденсаторы в цепях схемы компаратора. Либо заменить их на 30-40 pF. Дополнительная информация начиная с этого поста и в течение 2 страниц далее. Выжимка для разных вариантов регулей здесь.

Теперь надо найти на плате контактные площадки для программирования. Очень много вариантов разных регулей находится здесь . В особо удачных случаях площадки расположены с торца платы в ряд:

Если площадок нет, либо они расположены в непонятном порядке - руководствуемся распиновкой процессора, чтобы подключиться к ногам MOSI, MISO, SCK, RST, GND, Vcc.

Для упрощения процесса подключения к процессору есть специальная коронка - суперпупер кабель . На мой взгляд, необоснованно дорого, но очень удобно.
Есть вариант изготовления коронки самостоятельно из полимерной глины.

Описано здесь. Мне кажется, наиболее хорошо этот вариант будет работать в соединении с pogo pin-ами в качестве контактов - практически, клон 19-долларовой коронки получится =)
Есть, например, и такой, экзотический, и на мой взгляд очень красивый способ подключения:

Я сейчас полностью перешёл именно на такой способ подключения.
На сайте немецких хоббистов увидел такую реализацию этого способа - немцы называют его Voodoo :lol:. Шикарно.

Денис Ткаченко сделал вариант способа “вуду” из фанеры. Получилось красиво, удобно и технологично. Рекомендую!
Также, для подключения существуют т.н. pogo pins, это такие подпружиненные иголки.

Надо сказать - иголки бывают весьма тонкие. Вот Р50:

Подключаем провода от контактных площадок или ног процессора к программатору, в соответствии со схемой последнего. Если на программаторе присутствует собственное питание, внешнее питание регуля не подключать!

Прошивка
Сейчас существует 3 варианта прошивок для мультироторных аппаратов:

  1. Прошивка от Саймона Кирби aka SimonK. Она ещё называется RapidESC. Появилась первой и является довольно популярной. Поддерживается загрузка через сигнальный кабель при помощи линкера от ХК (можно сделать его аналог из ардуинки). Поддерживается реверс, т.е. “автомобильный регулятор”, где нулевые обороты посередине диапазона. Только придётся компилировать такую прошивку самостоятельно. Получить готовые откомпилированные файлы для заливки, а также ознакомится с исходниками можно на github.com/sim-/tgy. Бывают проблемы с нахождением раздела “загрузки” на этом сайте - вот ссылка.

  2. Прошивка от Дмитрия Каюкова aka ziss_dm . Называется Wii-ESC. Также поддерживает загрузку через сигнальный кабель. Имеет важную функцию - восстанавливает синхронизацию при её срыве, как утверждает автор, за 1/4 оборота. Получить готовые откомпилированные файлы для заливки, а также ознакомится с исходниками можно на code.google.com/p/wii-esc/

  3. Для регуляторов, построенных на чипе Silabs, существует вариант прошивки BLHeli. Процесс прошивки весьма подробно и с картинками описан вот здесь . За описалово респект тов. JustACat-у. Также эта прошивка доступна для регуляторов на чипах Atmel, однако, не распространена.

Прошивки компилируются под разные частоты ШИМ. Бывают прошивки с ШИМом 16 КГц (это “стандартный” вариант) и прошивки с ШИМом 8 КГц. Пониженная частота ШИМ полезна, если часто срывается синхронизация, или горят без видимой причины (работа на пределе тока и тп) ключи регулятора. Также есть информация, что при пониженной частоте ШИМ меньше греются регуляторы и двигатели. В принципе, для движков с достаточно низким KV (ну, скажем, ниже 2000) - можно смело лить прошивку 8 КГц и не париться. Особенно это полезно для регулей старой конструкции с P+N Fet-ами (Р-канальные полевики там не фонтан). Хотя мои суперсимплы замечательно работают на 16-килогерцовой RapidESC. ziss_dm упомянул, что частота ШИМ 16 КГц сделана для поддержки высокооборотистых инраннеров для машинок.
Недавно в дневнике у одного пользователя обнаружил такую формулу для определения подходящей частоты PWM:
Частота PWM = KV мотора * количество полей мотора * номинальное напряжение / 20

Скачиваем архив с прошивками. Выбор прошивки - на ваше усмотрение. Самая фичастая сейчас прошивка - это BLHeli, самая стабильная - похоже, WiiESC, а самая распространённая - точно RapidESC.
Стоит отметить, что поддержка WiiESC, по видимому, прекращена. Последний коммит прошивки был в феврале 2013 года. Поэтому сейчас имеет смысл заливать SimonK, поддержка которого не прекращается.
Выбираем прошивку по таблице в соответствии с маркой регулятора и установленными на нём силовыми ключами.

Подключаем программатор к регулятору. Вариантов - море. Припаяться и вывести в торец регуля разъём, прижать провода к площадкам, воткнуть pogo pin-ы…

Далее. Заливаем прошивку в регулятор! Именно сейчас он должен быть или без питания (если питание есть у нас на разъёме программатора) - или питаться через слабый блок питания (только в том случае, если питания на разъёме у нас нет).
Для заливки есть программа avrdude. Сам я заливал свои Меги именно ей. Но интерфейс у неё оставляет желать лучшего (DOS, чёрной пеленой экран заполнил, чистый dos…). Есть графические оболочки к “дудке” - например, SinaProg . По ссылке приведено также и описание, как с софтиной работать.
Итак, запускаем софтинку.
Выбираем тип программатора. 5 проводков - это STK200, остальное вполне очевидно. Открываем файл с прошивкой, ударяем в шаманский бубен, и нажимаем кнопку “Program” в панельке “Flash”. 😄
Если это требуется (например, в прошивке WiiESC так программируется калибровка) - записываем также файлик с настройками в EEPROM, щёлкнув по соответствующей кнопочке в интерфейсе, и выбрав нужный файлик.
Всё! Ваш регулятор никогда не станет прежним =).

Сейчас для прошивки регуляторов удобно ещё использовать программу KKMulticopter flash tool от товарища LazyZero. Чтобы софтина работала, ей нужна установленная Java. Преимущество софтины - сама устанавливает какие нужно фьюзы, имеет внутри себя готовый архив с прошивками, можно подкачивать свежую прошивку. Поддерживает RapidESC и WiiESC. (хотя, wiiesc я бы рекомендовал заливать родной софтиной-заливальщиком). Пример пользования KKMulticopterFlashTool-ом можно посмотреть здесь.

Проверка.
Для проверки - подключить двигатель к регулю, подключить сам регуль к сервотестеру или приёмнику, подать питание на регуль через маломощный блок питания либо от аккума через лампочку.
Если регулятор заливисто пискнул движком, и из него при этом всём не повалил приятный синенький дымок, блок питания не ушёл в защиту, лампочка не загорелась на всю дурь - всё в порядке, вы прошили регулятор оборотов кастомной прошивкой! Мои поздравления.
Осталось откалибровать регуль (если в прошивке не выставлены жёсткие лимиты уровней сигнала, или прошит файлик с настройками), после чего протестировать работоспособность регуля безо всяких ограничителей.

Если вы ошиблись с направлением и не хотите перепаивать провода - специально для вас тов.Prikupets замутил мини-гайд по самостоятельной сборке реверснутой прошивки SimonK. Плюс, в KKMulticopterFlashTool для всех прошивок есть “нормальная” и “реверснутая” версии.

Известные траблы
EugeneV сообщил о такой трабле:
На квадрокоптере стоят перепрошитые регуляторы mystery 20a все ключи n-fet. Прошивка bs_nfet от simonk.
Дома и в гараже всё нормально работает. На улице, когда холодно, регулятор теряет синхронизацию и «ресетится». Если его несколько раз завести, подержать на малом газу то он как бы «прогревается» и начинает работать устойчиво. Такой же эффект, если его погреть рукой.
Несколько раз было, что регулятор после остановки начинал пищать как сирена (понятно, что физически пищит двигатель).
Такая же ситуация (звук сирены) была пару раз с несколькими регуляторами сразу после включения питания. После выключения/включения питания (порой несколько раз) регуляторы всё-таки начинают работать, но не так, что сразу все, а по одному, по два приходят в чувство.
Были прошиты фьюзы: -U lfuse:w:0x3f:m -U hfuse:w:0xd7:M (это рекомендованные для прошивки в bs_nfet.inc). В фабричной прошивке были: -U lfuse:w:0x2e:m -U hfuse:w:0xcf:M

В итоге выяснилось, что дело было во фьюзах:
Прошил заводские и регулятор в охлажденном состоянии начал работать, даже после холодильника!
Фьюз CKOPT в hfuse отвечает за энергопотребление/помехоустойчивость. В рекомендованных (из bs_nfet.inc) его нет. Т.е. процессор меньше жрёт, но также и менее помехоустойчив, т.к. на генератор подается пониженное напряжение. И, видимо, термостабильность из-за этого тоже снижается. Происходит срыв генерации, процессор зависает, watchdog ресетит его, а после такого ресета автором прошивки запланирована бесконечная сирена (до следующего ресета).

Особенности прошивки конкретных экземпляров регуляторов
palikar купил регуляторы Hobbywing Skywalker 20A, которые оказались подделками. Есть информация, что они должны прошиваться прошивкой TGY.
Алексей Гореликов успешно прошил старые регуляторы Jeti JES-18.

Самостоятельная сборка прошивки SimonK
Периодически возникают вопросы - как собрать прошивку из исходников?
Григорий rinatka7 подогнал неплохой мини-гайд на эту тему:

Скачал зип архив вот отсюда - lunarflow.com/index.php?topic=7.0
Скачал свежие исходники СимонК с гитхаба.
Прим. {gorbln}: По ссылке доступны релизные версии исходников (чтобы не тупить, а брать гарантированно рабочее)
Исходники положил в D://SimonK
Разархивировал зип архив с двумя файлами(avra.exe и MakeHexFiles.bat) тоже в папку D://SimonK.
В исходниках нашел файл tgy.asm, открыл его блокнотом!
(далее - специфика именно для задачи Григория - сборка AFRO прошивки с разными Motor_ID)
Нашел упоминание (.equ MOTOR_ID = 1)
Поменял Motor_id с 1го по 6й.
Так же на всякий случай поменял реверс моторов.(MOTOR_REVERSE = 0 или MOTOR_REVERSE = 1)

После того как сохранил изменения в файле tgy.asm, через командную строку из папки D://SimonK запускал батник с параметрам MakeHexFiles afro_nfet
В итоге у меня получилось 6 хексов с одним направлением и 6 хексов с обратным движением моторов!

Видео про прошивку регуляторов при помощи KKMulticopterFlashTool:

Большое тестирование прошивок:

Данный мануал, конечно, не претендует на истину в последней инстанции, и, наверное, содержит какие-нибудь мелкие косяки. Обо всех замечаниях прошу сообщать мне в личку, буду стараться всё оперативно исправлять.

По теме прошивки регуляторов - полезно ознакомиться со ссылками:
Прошивка регуляторов Mystery прошивкой RapidESC
Вики проекта RapidESC, краткое описание и таблица совместимых регулей
Обширная тема, посвящённая перепрошивке регуляторов прошивкой RapidESC
Удаляем BEMF-конденсаторы
Прошивка регуляторов через Turnigy USB Linker
Прошивка регулятора HK MultiStar 15A прошивкой wii-esc (изначально такой возможности нет)

Прошивка от Саймона Кирби
Прошивка от Дмитрия Каюкова
Прошивка BLHeli

P.S. Вопросы, требующие быстрого ответа, лучше направлять мне в личку, а не постить в комментарии, ибо оповещение о новых комментариях у меня не работает