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.
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.
