Pi 5 with Navigator

Hello,

I was wondering if anyone has used a Raspberry Pi 5 with the navigator. If so, does everything, including the heat sink, fit properly, and are there any issues I should be aware of?

Thanks.

Hi @Angus.F -
We’ve only just received some units, and are beginning to investigate what it will take to update BlueOS for Pi 5 compatibility. Currently it is not supported!

1 Like

I have the Navigator and a Pi5 and it works well so far with the BlueOS. I am only at the development stage so some way to go to integrate it.

The heatsink fits very well and the navigator is held with 2 screws on the diagonal. All nice and secure.

My only issue is in trying to build the firmware under Windows with WSL and Ubuntu. It builds without error but the binary doesn’t run when uploaded to the PI5 and I suspect this is a compiler issue but so far have found no information in how to install the correct compiler.

1 Like

If you are running into glibc issues, I recommend using gcc 10.2.
I’m using this one (sharing because I was told it has been hard to find lately):
gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz

Hello, may I ask how you managed to get this to work? When I try to flash BlueOS on my RPI 5, I get an error message: "Device-tree file “bcm2712-rpi-5-b.dtb not found”. Is there a way around it? I am quite new to this. Thanks a lot.

I installed this and it gives the following error when I try to select it as the toochain.

dave@HUEY:~/ardupilot$ ./waf configure --board=navigator --toolchain=/opt/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf
Setting top to                           : /home/dave/ardupilot
Setting out to                           : /home/dave/ardupilot/build
Autoconfiguration                        : enabled
Checking for program 'python'            : /usr/bin/python3
Checking for python version >= 3.6.9     : 3.10.6
Setting board to                         : navigator
Using toolchain                          : /opt/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf
Could not find the program ['/opt/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf-ar']
(complete log in /home/dave/ardupilot/build/config.log)

I then get this error when I try to build with ./waf sub

../../libraries/AP_HAL_Linux/Thread.cpp: In member function ‘bool Linux::Thread::set_stack_size(size_t)’:
../../libraries/AP_HAL_Linux/Thread.cpp:248:44: error: ‘PTHREAD_STACK_MIN’ was not declared in this scope
     _stack_size = MAX(stack_size, (size_t) PTHREAD_STACK_MIN);

I am assuming the toolchain dir structure looks like this:

ls /opt/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/
10.2-2020.11-x86_64-arm-none-linux-gnueabihf-manifest.txt  arm-none-linux-gnueabihf  bin  include  lib  lib64  libexec  share

If so, the toolchain option should include bin in the path, and name the toolchain:

--toolchain=/opt/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf

Hi, are there any BlueOs updates for pi5 with navigator?

In looking into this we found that the Raspberry Pi 5 hardware architecture is a reasonably substantial departure from that used by the previous boards, because the GPIO pins have changed from being handled by the main application processor chip to the peripheral controller chip, which changes how they’re laid out in memory as well as which interfaces are available.

There is an open GitHub issue about adding support for the RPi5 to ArduPilot’s hardware abstraction layer (HAL), which will be the best place to track any updates.

If I’m remembering correctly from our internal discussions:

  1. there’ll need to be new *_RPI.* files written[1] to handle the new board (or at least significant changes to the existing files, to describe the new memory mappings)
  2. there are some incompatibilities with which functionalities are available on which pins, which will have to be worked around (or lost)[2]
  3. there’s some kernel configuration required for SPI and I2C which we’ll need to wait for the Raspberry Pi foundation to implement and document

  1. in the AP_HAL_Linux library ↩︎

  2. "the Raspberry Pi 4 22/23 pins, used with I2C6, appears incompatible with the Raspberry Pi 5, where the 22/23 pins only provide as alternative function I2C3 that conflicts with 6/7 pins that only provide I2C3 as well.

    If we can configure the hardware allowing to connect both 6-22 (SDA) and 7-23 (SCL) , sharing the same I2C3, it may be possible to have the navigator running without losing the I2C connectors. But that may affect our PWM control, since it’ll share the same bus." - patrickelectric ↩︎

2 Likes

Can’t we run it using Docker. Everything is possible with docker, I need to catch up for an urgent project and unfortunately I don’t have time to code from the beginning and I don’t have the experience to understand the problem, but when I look at the docker logs, I see that the memory limit of bazo py files is 0.

Hi all, I’m working on bookworm and pi5 support on this PR.

The artifact built by CI works, but there are a couple of things to fix still

1 Like

Hello everyone. Could you please provide any updates on the release date of Raspberry Pi OS Bookworm? The Pi 4’s performance is insufficient for AI vision tasks, but the combination of the Pi 5 and a TPU are processing substantial amounts of video data. In today’s world, where there is a desperate need for relatively affordable CV systems, the Navigator and Pi 5 could become one of the most sought-after systems.

1 Like

We’re still working on Pi 5 support, but don’t have a fixed release date for it.

The current hope is to complete it this month, but it might end up being next quarter (depending on our other development priorities).

Glad that you’re excited about the potential! :smiley:

1 Like

Any update for installing blueOS on Pi 5