Hi everyone,
I’m trying to get a Blue Robotics Navigator running on a Raspberry Pi 5, but I’m running into an ArduPilot startup issue that looks related to Raspberry Pi device-tree / board detection. I’m using RPi 5 with 8 RAM on the 64-bit image, aarch64. I’ve tested it BlueOS 1.4.3 and 1.5.37-beta with stable and latest ardusub (ArduPilot firmware : /Sub/stable/navigator64).
BlueOS appears to detect the Navigator correctly and tries to start ardupilot_navigator64. However, ArduPilot exits before producing a MAVLink heartbeat. When I run the binary manually, I get:
Cannot detect board-type
Unknown rpi_version, cannot locate peripheral base address
The Pi itself identifies correctly:
$ grep -E "Model" /proc/cpuinfo
Model : Raspberry Pi 5 Model B Rev 1.0
But this command returns no ranges nodes:
find /proc/device-tree -maxdepth 3 -name ranges -print
So it looks like ArduPilot is unable to locate the expected Raspberry Pi peripheral base from the device tree on this setup. Has anyone successfully run Navigator + ArduSub on RPi5, or seen this cannot locate peripheral base address error? Is there a known workaround, required kernel/device-tree setting, or patched ArduPilot build for this case?
Some logs, that may be useful for those interested:
2026-06-16 09:11:45.300 | INFO | flight_controller_detector.linux.detector:detect_boards:24 - Detected Linux board: NavigatorPi5
2026-06-16 09:11:45.305 | WARNING | autopilot_manager:start_ardupilot:575 - More than a single board detected: [NavigatorPi5(name='Navigator64', manufacturer='Blue Robotics', platform=<Platform.Navigator64: 'navigator64'>, path=None, flags=[], devices={'ADS1115': (72, 1), 'AK09915': (12, 1), 'BME280': (118, 1), 'PCA9685': (64, 3)}), FlightController(name='SITL', manufacturer='ArduPilot Team', platform=<Platform.SITL: 'SITL_arm_linux_gnueabihf'>, path=None, flags=[])]
2026-06-16 09:11:45.306 | INFO | autopilot_manager:start_ardupilot:578 - Using Navigator64 flight-controller.
2026-06-16 09:11:45.312 | DEBUG | firmware.FirmwareInstall:_validate_elf:102 - firm_board: BoardType.LINUX, firm_sub_board: BoardSubType.LINUX_NAVIGATOR, current_decoder_platform: BoardSubType.LINUX_NAVIGATOR
2026-06-16 09:11:45.315 | INFO | autopilot_manager:start_linux_board:332 - Using command line: '/root/.config/ardupilot-manager/firmware/ardupilot_navigator64 -A udp:127.0.0.1:8852 --log-directory /root/.config/ardupilot-manager/firmware/logs/ --storage-directory /root/.config/ardupilot-manager/firmware/storage/ -C /dev/ttyAMA0 -B /dev/ttyAMA2 -E /dev/ttyAMA3 -F /dev/ttyAMA4 --defaults /usr/blueos/userdata/firmware/ardupilot_navigator64params.params'
2026-06-16 09:11:45.315 | DEBUG | mavlink_proxy.AbstractRouter:start:99 - Calling router using following command: '/usr/bin/mavlink-server udps:127.0.0.1:8852 udps:127.0.0.1:14001 udpc:192.168.2.1:14550 zenoh:0.0.0.0:7117 tcps:127.0.0.1:5777 udps:0.0.0.0:14660 udpc:127.0.0.1:14000'.
2026-06-16 09:11:48.341 | DEBUG | commonwealth.mavlink_comm.MavlinkComm:get_most_recent_vehicle_id:104 - no vehicle ID detected - using default (1)
2026-06-16 09:11:48.341 | INFO | commonwealth.mavlink_comm.MavlinkComm:set_system_id:28 - system_id set to: 1
2026-06-16 09:11:48.342 | WARNING | autopilot_manager:kill_ardupilot:549 - Could not disarm vehicle: Received empty response. Proceeding with kill.
2026-06-16 09:11:48.342 | INFO | autopilot_manager:kill_ardupilot:553 - Terminating Ardupilot subprocess.
2026-06-16 09:11:48.342 | INFO | autopilot_manager:terminate_ardupilot_subprocess:514 - Ardupilot subprocess terminated.
2026-06-16 09:11:48.342 | INFO | autopilot_manager:kill_ardupilot:555 - Ardupilot subprocess terminated.
2026-06-16 09:11:48.342 | INFO | autopilot_manager:kill_ardupilot:556 - Pruning Ardupilot's system processes.
2026-06-16 09:11:48.376 | INFO | autopilot_manager:kill_ardupilot:558 - Ardupilot's system processes pruned.
2026-06-16 09:11:48.376 | INFO | autopilot_manager:kill_ardupilot:560 - Stopping Mavlink manager.
2026-06-16 09:11:48.376 | WARNING | mavlink_proxy.AbstractRouter:exit:118 - Terminating process
2026-06-16 09:11:48.377 | WARNING | mavlink_proxy.AbstractRouter:exit:120 - Termination done
2026-06-16 09:11:49.359 | ERROR | commonwealth.mavlink_comm.VehicleManager:get_firmware_info:87 - Failed to request autopilot version. Received empty response
$ ./ardupilot_navigator64 \
-A udp:127.0.0.1:8852 \
--log-directory /root/.config/ardupilot-manager/firmware/logs/ \
--storage-directory /root/.config/ardupilot-manager/firmware/storage/ \
-C /dev/ttyAMA0 \
-B /dev/ttyAMA2 \
-E /dev/ttyAMA3 \
-F /dev/ttyAMA4 \
--defaults /usr/blueos/userdata/firmware/ardupilot_navigator64params.params
Cannot detect board-type
Unknown rpi_version, cannot locate peripheral base address
Thanks!