Remapeado de recursos en Betaflight

Remapeado de recursos en Betaflight. Cambiando el orden de los motores y moviendo los pines.
El remapeado de recursos es una potente función de Betaflight que permite alterar las salidas de los pines en un controlador de vuelo.. Se pueden conseguir muchas cosas con el remapeado de recursos, por ejemplo, se puede cambiar el orden de los motores, re ubicar pines en tarjetas que tengan un pad de soldadura desprendido o dañado, etc.
Por qué podrías necesitar un remapeado de recursos
Podrías necesitar un remapeado de recursos porque:
- No tienes suficientes UARTs
- PADs de soldadura dañados
- Necesitas más salidas de motores para una configuración de hexacóptero
- No tienes la entrada PPM del receptor
- No tienes el pin de salida para los LEDs programables
- No tienes una salida para un servo
- Quieres cambiar el orden de las salidas de los motores
Cómo funciona el remapeado de recursos en Betaflight
Hay muchos pines en un procesador, y a cada uno de ellos se le puede asignar una función específica con Betaflight. El remapeado de recursos permite básicamente asignar a estos pines una actividad diferente.
Esta función está disponible en Betaflight V3.1 y versiones posteriores.
En el CLI del configurador Betaflight teclea “resource”, y nos devolverá las funciones disponibles que pueden ser cambiadas y su asignación de pines actual:
# resource resource BEEPER 1 C15 resource MOTOR 1 B07 resource MOTOR 2 B06 resource MOTOR 3 B05 resource MOTOR 4 B04 resource PPM 1 B03 resource PWM 1 B00 resource PWM 2 B01 resource SONAR_TRIGGER 1 B00 resource SONAR_ECHO 1 B01 resource SERIAL_TX 1 A09 resource SERIAL_TX 2 A14 resource SERIAL_TX 3 B10 resource SERIAL_TX 11 B01 resource SERIAL_RX 1 A10 resource SERIAL_RX 2 A15 resource SERIAL_RX 3 B11 resource SERIAL_RX 11 B00 resource LED_STRIP 1 A08
El formato es como sigue:
resource [Function] [Index] [Port]
Tecleando “resource list” se obtiene un listado completo de los recursos del FC: los asignados y también todos los pines libres.
Para cambiar la función de un pin, debes utilizar el mismo formato y añadir “save” en una nueva línea al final.
Pasaremos ahora a mostrar alguno de los usos comunes para el remapeado de recursos de Betaflight.
Una nota importante sobre esto: algunos de los pines del procesador podrían no estar utilizados y no conectarse con ninguno de los puntos de soldadura del controlador de vuelo. El puerto que quieres utilizar debería idealmente tener un pin de salida en el FC, algún sitio en el que sea fácil realizar una soldadura. De otro modo, podrías necesitar soldar un cable a una pata extremadamente pequeña del procesador, algo que es muy difícil de hacer, incluso para un soldador experto.
Cómo cambiar el pin de salida para la tira de LEDs
Por ejemplo, si quisiéramos cambiar la tira de LEDs al pin A09, simplemente teclearíamos en el CLI:
resource LED_STRIP 1 A09 save
Cómo cambiar el orden de los motores en un controlador de vuelo
Como ejemplo, imagina que tuviéramos un cuadracóptero con un orden de los motores equivocado porque sin advertirlo soldaste los cables de los variadores en posiciones cambiadas o porue quizás rotaste la tarjeta al montarla (aunque hay otra forma más sencilla de solucionar esto en Betaflight). No te preocupes, no es necesario rehacer tu trabajo de cableado y soldadura, Puedes arreglarlo fácilmente con el remapeado de recursos.
Pongamos que este es el orden de los motores que has :
3 4 \ / / \ 1 2
El orden correcto de los motores es, como todos sabemos:
4 2 \ / / \ 3 1
Teclea “resource” en el CLI de Betaflight, y copia el resultado para que en caso de error siempre puedas volver atrás. Debes localizar las cuatro lineas que especifican la asignación de pines de los motores:
resource MOTOR 1 B07 resource MOTOR 2 B06 resource MOTOR 3 B05 resource MOTOR 4 B04
Para controlar la reasignación, puedes escribir el orden actual de los motores con el número de pin junto a ellos:
3(B05) 4(B04) \ / / \ 1(B07) 2(B06)
Ahora está mucho más claro qué pines debes cambiar:
B06 debería ser “motor 1”, B04 debería ser “motor 2”, etc…
Teclea en el CLI
resource MOTOR 1 B06 resource MOTOR 2 B04 resource MOTOR 3 B07 resource MOTOR 4 B05 save
Y eso es todo
Cómo cambiar el pin del buzzer
Es tan simple como los ejemplos anteriores, pero no puedes simplemente asignar cualquier pin al buzzer, debes hacer algo más.
Esto se debe a que el buzzer puede consumir una cantidad de corriente considerable (más de la que el procesador STM32 puede manejar). Por ello, normalmente hay un transistor asociado al pin del buzzer. El transistor maneja la corriente del procesador y es controlado por una señal de éste. Si conectases directamente el buzzer al procesador STM32, es muy posible que lo dejes frito.
Probablemente no es buena idea cambiar el pin del buzzer considerando cuanto trabajo implica, pero si decidieses mover el buzzer a otro pin, es necesario construir un sistema externo de potencia, o de otro modo, como ya hemos dicho, lo más probable es que frías la tarjeta controladora de vuelo. Tenemos una explicación detallada de cómo hacerlo en otro tutorial que puedes encontrar aquí.
Múltiples funciones compartiendo el mismo pin
Algunas veces, un único pin puede ser empleado para múltiples funciones en Betaflight. Si ésta no es tu intención, es mejor liberar a los pines de tareas que no son imprescindibles.
Para comprobarlo, simplemente teclea “resource” en el CLI.

En este ejemplo, puedes ver cómo el pin C08 está compartido por dos funciones: LED_STRIP y CAMERA_CONTROL.
Si no estás usando la tira e LEDs, pero sí el control de cámara, puedes liberar el pin C08 introduciendo el siguiente comando en el CLI
resource LED_STRIP 1 none
Y esto es todo!