Tanto Smartaudio como Tramp son protocolos de comunicación de nuestra controladora de vuelo con el emisor de video FPV (VTX), y Betaflight entiende ambos.  Smartaudio es del fabricante TBS y Tramp es de ImmersionRC.

Esto puede sernos muy útil, puesto que podemos ordenar al VTX que cambie la configuración del FPV, el canal, la banda o la potencia, o que simplemente nos informe de estos parámetros. Todo ello sin tocar nada en nuestro equipo FPV y en el mismo lugar de vuelo.

Como el protocolo es entre controladora de vuelo y VTX, tenemos que encontrar un nexo de unión entre nosotros (el piloto) y la controladora, que nos servirá de interlocutor. Usaremos tres en este artículo: la emisora, el propio enlace vídeo y la consola CLI.

Analizaremos todas las posibilidades para elegir la que más nos convenga en cada caso, poniendo ejemplos de configuración de Betaflight en Smartaudio.

Actualmente Betaflight soporta dos protocolos de comunicación entre FC y VTX: SmartAudio y Tramp Telemetry. No hay grandes diferencias a la hora de configurarlos.

Conexión de Smartaudio a un puerto serie Betaflight

La conexión Smartaudio debe ser al pin TX de un puerto serie libre

Para poder disfrutar de las funcionalidades de SmartAudio deberemos conectarlo al pin TX de un puerto serie libre desde el pin correspondiente de nuestra VTX, para así poder configurarlo desde Betaflight.

De no tener un puerto serie libre en nuestra controladora, deberemos crear uno virtual mediante la feature SoftSerial. Hay un artículo que describe cómo crear un SoftSerial y como conectarle SmartPort. Enseguida veremos que será muy útil.

Pin Smartaudio en un VTX

Tras ello simplemente deberemos asignar al puerto elegido el protocolo correspondiente. Si hemos creado un SoftSerial, es ligeramente distinto y está descrito en el artículo anterior.

Acceso a la telemetría Smartaudio/Tramp desde Betaflight

El UART2 (TX2) está conectado al VTX (TBS Smartaudio)

El UART2 (TX2) está conectado al VTX (TBS Smartaudio)

Bien, ya tenemos configurada nuestra telemetría VTX en modo SmartAudio o Tramp y está asignado a un puerto en Betaflight. Es tan sencillo como conectar al pad TX e informar a Betaflight en la pestaña de puertos.

Nuestra controladora de vuelo Betaflight habla con nuestra emisora de video VTX, y lo hace en protocolo Smartaudio. Será precisamente está, la controladora, quien haga de intermediario en la comunicación piloto-VTX aprovechando los canales de comunicación entre dron/avión o similar y el piloto.

De hecho, la controladora de vuelo almacenará los parámetros FPV aunque el VTX no esté encendido, para pasárselos una vez esté conectado. Es decir, que no es necesario que el VTX esté encendido para configurarlo, Betaflight lo hará por nosotros cuando pueda.

Vía OSD Menu

Este es el método más simple. Usaremos el enlace de vídeo FPV y radio entre piloto y dron. Para ello haremos uso del «OSD Menu» una característica de Betaflight un tanto desconocida.

A través del OSD Menu podemos lanzar un menú especial en nuestra pantalla FPV para cambiar parámetros de configuración mediante los sticks de nuestra emisora.

Para invocarlo el dron debe estar desarmado, movemos throttle al 50% y yaw a izquierda, a la vez movemos pitch a fondo:

Invocación del menu OSD

En ese momento aparecerá en la pantalla de nuestro equipo FPV el OSD menu de Betaflight. Nos moveremos por él con los sticks. Para acceder a las opciones que nos brinda Smartaudio debemos entrar en FEATURES -> VTX (SA) o en FEATURES -> VTX (TR) para Smartaudio o Tramp.

Betaflight osd mostrando la configuración Smartaudio

Los menús del OSD de Betaflight son muy intuitivos. En la imagen anterior estamos en el menú de SA (SmartAudio), mostrando en la parte superior modo, banda, canal, frecuencia y potencia de transmisión actual.

Vía Script LUA

Pantalla VTX de Betaflight LUA scripts

Pantalla VTX de Betaflight LUA scripts

Existe una colección unificada de scripts en LUA que podemos instalar en nuestra emisora de radio si funciona con OpenTX o JumperTX. Desde ese script se pueden retocar muchos parámetros de Betaflight, pero los que nos interesan ahora son los de la parte VTX. Se llaman Betaflight TX Lua Scripts.

De esta manera, simplemente ejecutando el script y desde nuestra emisora, podemos cambiar la banda, el canal, el Pid mode, la intensidad de la emisión, etc de nuestro equipo FPV. Es decir, manejaremos con nuestra emisora el protocolo SmartAudio.

Necesario: telemetría en el receptor

Pero para que esto sea posible, nuestro receptor de radio debe poder enviar información, no sólo recibirla. Es decir, debe tener telemetría. En el caso de FrSky y compatibles debemos habilitar SmartPort.

En el artículo que mencionaba antes para la configuración de un puerto serie por software, precisamente se configuraba uno de ejemplo conectado al receptor con telemetría SmartPort.

De hecho SmartPort tiene la peculiaridad de ser un protocolo que maneja la señal invertida (0 es alto y 1 es bajo) y los puertos RX/TX normalmente no, salvo que estén preparados para ello y lo diga explícitamente en la documentación de la FC.

FrSky ya fabrica receptores con doble patillaje, uno con la señal SmartPort tradicional, invertida, y otro con la señal no invertida. Incluso algunos receptores tienen un pad interior con la señal sin invertir, pero hay que abrir y soldar.

Si conectamos el SmartPort desde el receptor a un puerto serie por software, dará igual si la señal es invertida o si no lo es, puesto que es configurable por software.

Instalación del script

Para intalarlo hay que copiar los contenidos de la distribución a la raíz de nuestra tarjeta SD. En teoría con volcarlos nuestro sistema operativo decidirá si hay que crear los directorios nuevos o si sólo hay que copiar ficheros en directorios existentes. En cualquier caso yo siempre lo he hecho paso a paso para evitar borrados por error:

  1. Bajarse el fichero zip de la versión más reciente
  2. Copiar /BF -> /SD-CARD/BF. Contiene el script que más tarde ejecutaremos
  3. Copiar /SCRIPTS/BF a /SD-CARD/SCRIPTS/BF
  4. Copiar /SCRIPTS/FUNCTIONS/* a /SD-CARD/SCRIPTS/FUNCTIONS/*
  5. Copiar /SCRIPTS/TELEMETRY a /SD-CARD/SCRIPTS/TELEMETRY
  6. Copiar /SOUNDS/EN/* a /SD-CARD/SOUNDS/EN/* y a /SD-CARD/SOUNDS/ES

El script ya podría ser simplemente ejecutado. Está en /BF/bf.luac

Sólo para la Taranis este script podría ejecutarse como una pantalla de telemetría, para el resto de emisoras habría que ejecutarlo a mano cuando queramos usarlo.

Vía consola CLI

Evidentemente si tenemos comunicación directa con nuestra controladora de vuelo vía USB y Betaflight Configurator, la manera más sencilla de hablar SmartPort (una vez configurado) es vía comandos de consola CLI. Para ver una descripción completa y actualizada pinchar aquí.

Veamos cada uno de los comandos.

vtx_band

Valores: [0-5]
0=usuario, 1=A, 2=B, 3=E, 4=F(Airwaves/Fatshark), 5=Raceband

Banda de frecuencias. Los valores de 1 a 5 fijan la banda de frecuencias estándar. El valor cero permite seleccionar al usuario una frecuencia concreta (ver vtx_freq).

vtx_channel

Valores: [1-8]

Canal dentro de la banda.

vtx_power (ver abajo vtxtable)

Valores: [0-5]
SmartAudio: 0=25mW, 1=25mW, 2=200mW, 3=500mW, 4=800mW
TBS Unify Nano: 0=25mW, 1=25mW, 2=50mW
IRC-Tramp: 0=25mW, 1=25mW, 2=100mW, 3=200mW, 4=400mW, 5=600mW

Potencia de emisión. Estos valores han quedado obsoletos en las nuevas versiones de SmartAudio 2.1

vtx_freq

Valores: [0-5999]

Frecuencia. Si vtx_band es distinto de cero y el VTX está encendido y conectado, este valor es automático y muestra la frecuencia correspondiente a la combinación de banda y canal.

Si es cero, esta variable permite que el usuario fije el valor deseado de frecuencia. Si es cero pero vtx_freq también es cero, no se mandará ninguna orden de configuración al VTX.

vtx_low_power_disarm

Valores:[ON|OFF]

Esta es una variable muy útil. En ON, cuando el dron esté desarmado el VTX emitirá con la mínima potencia posible (vtx_power=1), pero a partir del momento en que se arme emitirá al valor definido por vtx_power.

Es importante que después de fijar cualesquiera de los parámetros anteriores tecleemos «save«. La FC se reiniciará y podremos comprobar que todo es correcto.

vtxtable

Con la irrupción de Smartaudio 2.1 y de nuevos modelos de VTX con diferentes niveles de potencia de emisión, los valores antiguos del comando vtx_power quedaron obsoletos y no casaban con el hardware, lo que provocaba que simplemente no funcionaran. A partir de Betaflight 4.1.0, tanto los valores de potencia como los de canal y banda, dejaron de estar codificados directamente en el código.

Dispositivos con SmartAudio 2.1, aún siendo reconocidos y funcionando parcialmente, no lo harán correctamente en versiones previas a Betaflight 4.1.0

El comando vtxtable lo que hace es crear estas tablas de datos coincidiendo con las posibilidades y requerimientos de nuestro VTX.

Para ver qué tablas tiene almacenadas Betaflight teclear en la consola:

vtxtable
vtxtable band

Un buen punto de partida sería este:

vtxtable band 1 BOSCAM_A A FACTORY 5865 5845 5825 5805 5785 5765 5745 5725
vtxtable band 2 BOSCAM_B B FACTORY 5733 5752 5771 5790 5809 5828 5847 5866
vtxtable band 3 BOSCAM_E E FACTORY 5705 5685 5665 5645 5885 5905 5925 5945
vtxtable band 4 FATSHARK F FACTORY 5740 5760 5780 5800 5820 5840 5860 5880
vtxtable band 5 RACEBAND R FACTORY 5658 5695 5732 5769 5806 5843 5880 5917
vtxtable power

En este caso, a partir de SmartAudio 2.1 parecen que los valores de potencia coinciden con su equivalente en potencia dbm.

Vamos a poner el ejemplo del VTX TBS Unify pro 5G8 HV – race 2, que usa SmartAudio 2.1. Sus niveles de emisión son 13dBm (25mW), 20dBm (100mW) y 26dBm (400mW). El nivel 400mW estaba fuera del estándar anterior.

La tabla de potencia para este VTX sería:

vtxtable powerlevels 3
vtxtable powervalues  13 20 26
vtxtable powerlabels 25 100 400

Vía APP móvil

Speedy Bee es una app desarrollada por Runcam para conectarnos a la controladora de vuelo a través de nuestro móvil. Emula casi al completo el Betaflight Configurator de nuestro PC.

Desde esta aplicación tenemos acceso a la consola CLI y a los parámetros vistos en el punto anterior.

Para que funcione la conexión necesitaremos un adaptador USB-Bluetooth que enchufaremos al puerto de la controladora.