Does BlueOS for PI5 support local extensions and serial ports?

I have a Raspberry PI5 running BlueOS 1.4.2, I don’t have a navigator hat yet but its coming but I wanted to test making a simple serial driver stack and adding it as an extension.

Issue #1, Serial Ports - I found I could only use Serial port 1 (ttyAMA0) other ports seem to be conflicting with something else in the startup. From my config.txt (commented out bits show some variations I was trying, this version only provides serial port 1.

pi5

dtoverlay=dwc2,dr_mode=otg
gpio=37=op,pd,dl
gpio=11,24,25=op,pu,dh
dtoverlay=spi1-3cs
dtoverlay=spi0-led
dtparam=spi=on
dtoverlay=i2c-gpio,i2c_gpio_sda=22,i2c_gpio_scl=23,bus=6,i2c_gpio_delay_us=0
dtoverlay=i2c3-pi5.baudrate=400000
dtoverlay=i2c3-pi5,baudrate=400000
dtoverlay=i2c1
dtparam=i2c_arm=on
#dtoverlay=uart2-pi5
#dtoverlay=uart4-pi5
#dtoverlay=uart3-pi5
#dtoverlay=uart0-pi5
#dtoverlay=uart5
#dtparam=uart5=on
dtoverlay=disable-bt
enable_uart=1

I tested port 1 in a loopback setup and against my Windows PC successfully. Any suggestions on how to get other ports to work would be swell.

Issue #2 - Next I took my serial test program and installed it as a service. That was relatively easy and pretty standard systemd stuff. Next I tried making it into an extension. I went around in circles making a docker container successfully but I haven’t been able to get blueOS to recognize my local extension. I managed to get part way there (I think)

pi@blueos:~$ ls -la /home/pi/.blueos/extensions/serial-test/
total 12
drwxr-xr-x 2 pi pi 4096 Mar 31 06:43 .
drwxr-xr-x 3 pi pi 4096 Mar 31 06:42 ..
-rw-r--r-- 1 pi pi  282 Mar 31 06:43 extension.json

where extensions.json is

cat > /home/pi/.blueos/extensions/serial-test/extension.json << 'EOF'
{
  "identifier": "custom.serial-test",
  "name": "Serial Test",
  "description": "Sends CMD1/CMD2/CMD3 every 5 seconds and prints responses",
  "image": "serial-test",
  "tag": "latest",
  "network_mode": "host",
  "devices": ["/dev/ttyAMA0:/dev/ttyAMA0"],
  "privileged": false
}
EOF

docker images does show it

serial-test                          latest           f3b3b87d6e07   About an hour ago   161MB
bluerobotics/blueos-core             1.4.2            189273150680   10 months ago       1.75GB
bluerobotics/blueos-core             factory          189273150680   10 months ago       1.75GB
bluerobotics/cockpit                 v1.16.0-beta.1   2caefdf54ef9   10 months ago       64.8MB
bluerobotics/blueos-bootstrap        1.4.2            07f96b07b856   10 months ago       131MB
public.ecr.aws/blueos/bcloud-agent   2025-04-10       1e8c8467959a   11 months ago       729MB

I’ve done dozens of variations all end in “Failed to pull…” error. My best guess is the Extensions can’t be found remotely and doesn’t understand how to find it locally so tries to go remote. Perhaps some can show me a way to do that on a PI5.

If its not possible that would be helpful to know.

Thanks.

Hi @nnewell -
Welcome to the forums!
Your issue with serial ports is likely due to the autopilot claiming the other serial ports - I believe this happens even if the Navigator is not installed? Check the Autopilot Firmware page while in pirate mode, and remove serial ports to free them up for general OS access. Otherwise, the default configuration should allow you access to the standard pi 4 /5 serial ports, albeit at the correct pins (which are broken out by the Navigator in convenient ports.)

A quick glance at your screenshot of your extension installation indicates the problem I think. That older version of BlueOS does not install local installation of extensions - you’ll need to specify the docker image with your docker username/image_name. You could also update to the latest 1.5 beta, which does support installation of extensions at .tar files exported from a local docker build process.
This is true for both pi 5 and pi 4!

Hi Tony,

Thanks for the quick reply! I checked the autopilot firmware page (while in pirate mode) and it looks like the autopilot is stopped already (I think that was one of the things I tried early on). I’ll find 1.5 beta and try everything again with that, perhaps that version will behave better. And it was good to know similar issues exist on the PI4 which is what my client is using at the moment (I just happen to have PI5 use while playing with BlueOS).

Thank you,

Nick Newell

TEK360 Consulting