ELRS receiver keeps getting unbinded after a reboot
-
Hello,
I'm using a Starling 2 Drone with ELRS receiver(915 MHz). Every time I reboot the drone or disconnect the Battery the receiver gets unbinded from the Trasmitter. Once I reboot the entire system, the receiver will be powered but won't enter
Bind mode
. The receiver enters Bind mode only if I need to physically unplug and plug-in the receiver again and then reboot while transmitter remians switched off.How can I solve this issue of avoiding to physically unplug and plug-in again?
-
@Jetson-Nano unsure if I am following here - you only need to bind an ELRS controller once and that is it - instead of rebooting you can just force it into bind mode from the terminal via
voxl-elrs --bind
and that is it. If you disconnect the battery from the drone, ofcourse the controller is going to lose connections to the transmitter since the receiver is no longer receiving power.As for why connection isnt established immediately is most likely because you have to wait about a half minute for the ELRS driver in PX4 to finish booting in order to stream in the necessary packets - lmk if this helps.
Zach
-
@Zachary-Lowell-0 Thanks for the previous response. I understand that disconnecting the battery cuts power to the receiver, which would naturally cause the controller to lose connection to the transmitter. However, I’m experiencing a different issue that persists after power cycling, which I’d like some further insight on:
Each time I power down and restart (e.g., after changing the battery), the ELRS receiver’s status LED remains solid instead of entering the expected slow-blinking mode that indicates it’s searching for the transmitter. To re-establish the connection, I have to physically disconnect the receiver from its port and plug it back in before it will successfully bind with the transmitter. This essentially requires a "hard reboot" of the receiver each time I reconnect the battery.
Any guidance or troubleshooting steps to avoid the need for manually reconnecting the receiver would be very helpful. Thanks in advance for your support!
-
Understood - and this is after you have run the original voxl-elrs --bind? What happens when you reboot your controller instead?
It also sounds like the driver itself might be getting stuck somewhere in the search - can you paste the output of
cat /etc/modalai/voxl-px4.confg
? -
Below is the output of what I get from executing
cat /etc/modalai/voxl-px4.confg
voxl2:/etc/modalai$ cat voxl-px4.conf #!/bin/bash # # voxl-px4 Configuration File # # GPS: # Tell PX4 which GPS to use. If there is no GPS unit use NONE. Otherwise # choose AUTODETECT and the startup script will attempt to automatically # configure the GPS, magnetometer, and status LED # Options include: [NONE, AUTODETECT] # # RC: # Tell PX4 which RC transmitter to use. # Use EXTERNAL when getting RC control from external Mavlink messages (e.g Via QGC) # Options include: [SPEKTRUM, CRSF_MAV, CRSF_RAW, M0065_SBUS, EXTERNAL, FAKE_RC_INPUT] # # ESC: # Tell PX4 which type of ESC to use. # Options include: [VOXL_ESC, VOXL2_IO_PWM_ESC] # # POWER_MANAGER: # Tell PX4 which power manager to use. # Use NONE for ModalAI Mini-ESC since the ESC driver handles PM. # Use EXTERNAL when not using the ModalAI APM power manager to power the board # This also just disables the voxlpm driver, same as the NONE option # Options include: [VOXLPM, EXTERNAL, NONE] # # DISTANCE_SENSOR: # Tell PX4 which distance sensor peripheral to use. # Note: The sensor will be started on the RC port so it is only # really possible to use it when using external RC. # Options include: [NONE, LIGHTWARE_SF000] # # OSD: # Tell PX4 whether to enable OSD (on-screen display). # Options include: [ENABLE, DISABLE] # # DAEMON_MODE: # Tell PX4 whether to enable daemon mode. # Options include: [ENABLE, DISABLE] # # SENSOR_CAL: # Tell PX4 where to source sensor calibration information. # Options include: [ACTUAL, FAKE] # # EXTRA_STEPS: # Optional field that allows a user to define custom commands to be run by PX4 on boot. # Must be a valid bash array as seen below # Example: EXTRA_STEPS=( "qshell gps start" "qshell commander mode manual" ) # # GPS=AUTODETECT RC=CRSF_RAW ESC=VOXL_ESC POWER_MANAGER=VOXLPM DISTANCE_SENSOR=NONE OSD=DISABLE DAEMON_MODE=ENABLE SENSOR_CAL=ACTUAL EXTRA_STEPS=()
Thanks for the follow-up. Here’s more information based on your questions:
Initial Binding: Initially, I ran voxl-elrs --bind, and it connected successfully to the transmitter without any issues. It would automatically reconnect after each power cycle as expected. However, after a period of use, this new behavior started happening where it no longer connects automatically after rebooting.
Controller Reboot: Rebooting the controller has not resolved the issue. When the drone is powered on, the receiver’s LED stays solid rather than blinking slowly as it should when searching for the transmitter, and rebooting the controller doesn’t seem to initiate the connection.
Intermittent Connection: Interestingly, there are times when, if I power on the drone before powering on the controller, the connection will establish without needing to reboot the receiver. However, this is inconsistent, and I still often have to physically unplug and replug the receiver to get it to connect.
Possible Driver Issue: As you suggested, it does seem like the driver might be getting stuck in the search process at times. Here’s the output you requested from cat /etc/modalai/voxl-px4.config
Hopefully, this helps to pinpoint what might be causing the issue. Thanks again for your assistance!