There’s a few issues with getting ELRS to work on the BB Blue, but it can be made to work if you’re comfortable compiling everything yourself.
Firstly there’s a baud rate issue that means you’ll need my commit AP_HAL_Linux: Use Linux-specific TCSETS2 ioctl to enable "non-standar… · ArduPilot/ardupilot@0326d5e · GitHub (which is on master, but not released yet).
Then there’s a hardcoded assumption in libraries/AP_HAL_Linux/HAL_Linux_Class.cpp
that means it’ll only support the built-in RC receiver and not serial:
static RCInput_Multi rcinDriver{2, new RCInput_AioPRU, new RCInput_RCProtocol(NULL, "/dev/ttyO4")};
So you’ll need to change it to:
static RCInput_RCProtocol rcinDriver{nullptr, nullptr};
Here it is at a git patch:
diff --git a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp
index b9a73248ba..1b12182709 100644
--- a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp
+++ b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp
@@ -148,7 +148,8 @@ static RCInput_PRU rcinDriver;
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_POCKET
static RCInput_AioPRU rcinDriver;
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BLUE
-static RCInput_Multi rcinDriver{2, new RCInput_AioPRU, new RCInput_RCProtocol(NULL, "/dev/ttyO4")};
+//static RCInput_Multi rcinDriver{2, new RCInput_AioPRU, new RCInput_RCProtocol(NULL, "/dev/ttyO4")};
+static RCInput_RCProtocol rcinDriver{nullptr, nullptr};
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO || \
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 || \
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BH || \
One day I hope to upstream a portable fix that allows the built-in receiver to still work as well as serial, but I don’t understand the Linux RCInput stack quite enough to do it yet. In theory I thought RCInput_Multi would allow this, but it doesn’t seem to. If you want to figure this out, be my guest!
Beyond this patch, you just need to set the serial proto in the usual manner as @dmazan pointed out and you should see the CRSF init in the messages.
Let me know if you get stuck, I’m happy to help!