Что такое Softserial?
Softserial — это программный эмулируемый последовательный порт, который осуществляет роль порта программного, а не аппаратного.
Softserial это аббревиатура от английского Software Serial. Как написано выше, этот порт эмулирует программно физический порт для приема и отправки информации, в то время как в аппаратном порту уже встроено оборудование для управления связью, здесь этого нет. Так как происходит имитация физического порта, то все это обрабатывает процессор, а значит, на MCU увеличивается нагрузка. Но так как некоторые периферийные устройства не требуют постоянного обмена данными, эта нагрузка будет не всегда, а лишь время от времени для отправки/приема данных. В пример можно привести SmartAudio видеопередатчика, эта функция используется только тогда, когда квадрокоптер задизармин (пропеллеры не крутятся и стик газа не реагирует).
Читайте также: Что такое SmartAudio, как его использовать и как настроит
Как настроить Softserial?
Для начала нужно зайти и подключиться в Betaflight конфигураторе, затем на странице Конфигурация включить этот порт:
Далее есть 2 пути. Либо вы используете один из UART-портов, либо делаете переназначение другого порта на Softserial. Если UART, то просто идем на вкладку Порты и включаем галку Serial:
Если хотите использовать какой-нибудь свободный порт, который не используется, но при этом у вас закончились UART-порты, то делаем то, что показано ниже в подглаве.
Читайте также: Переназначение выходов на моторы в BetaFlight и других портов
Если на вашем полетном контроллере есть более 4 выходов на моторы или вы не используете светодиодную ленту, но на нее есть выходы, то идем в CLI и вводим команду:
resource
Вы выйдет список сопоставления выводов с ресурсами полетного контроллера, в нашем случае, будем менять LED_STRIP 1 A00, так как он не используется.Запоминаем значение, в данном случае это А00:
Здесь же мы видим строчки:
resource serial_tx 1
resource serial_rx 1
Этим строчкам мы назначим значение А00 с выхода на светодиоды и назовем:
resource serial_tx 11
resource serial_tx 11
Делаем переназначение ресурса:
Стираем значение у LED_STRIP 1 A00 командой:
resource LED_STRIP 1 none
Теперь назначаем ресурсу Softserial1 TX новый выход командой:
resource serial_tx 11 А00
То есть, мы освободили значение выхода у ресурса под светодиодную ленту и отдали это значение ресурсу последовательного порта.
Не забудьте ввести команду save, чтобы сохранить введенные данные в полетном контроллере.
Теперь перейдите во вкладку Порты в Betaflight. Там вы увидите новую строчку под названием SOFTSERIAL1. Которую вы только что и создали.
Так как мы назначили Softserial порт на контакт пятого мотора, то и подключать компонент (в данном случает это функция смартаудио для видеопередатчика) нужно тоже на этот контакт. Подключать к контакту только сигнальный провод!

Здравствуйте. Почему в статье говорится о переназначении выхода светодиодной ленты, а в последнем абзаце написано, что припаиваться нужно к выходу пятого мотора? Разве не к LED?. И было бы полезно объяснить про нумерацию софтсериал портов. О том, что 1 софтсериал — это в ресурсах 11.