I have a Balena Fin v1.1 and I cannot get the Arducam B0165 MIPI camera to work with it.
Arducam product used:
- https://www.arducam.com/product/ov9281-mipi-1mp-monochrome-global-shutter-camera-module-m12-mount-lens-raspberry-pi/ (SKU: B0165 ; board silkscreen says UC-599 ; not to be confused with the other ov9281 based board produced by Arducam that I have not tested, B0162/UC-580)
I have prepared a balena-os based app as requested to show the failure. I have followed the same steps from this repository (Dockerfile & start.sh) on a raspberry pi 3b and they worked, i.e. produced an image via capture binary (I did it on xenial with an updated firmware, i.e. start_x.elf & fixup_x.dat & the user space linux hardfloat libraries in /opt/vc/lib).
output when running with ov5647 camera (v1 Raspberry Pi Camera Module):
- if you connect an hdmi cable you will see for 2 seconds the image (courtesy of raspivid -d).
- both on RPi3b and on fincm3 (Balena Fin v1.1)
output when running with ov9281:
- on RPi3B: images saved. End of logs shows raw files.
- on Fin: no images saved. Timeout message “camera timeout” apparent in logs.
Docker logs (stdout output as recorded by docker, i.e. balena logs ):
On RPi 3B:- Note: ov5647 works also with default firmware, but I’m upgrading firmware first to minimize changes as compared to the balena fin (where firmware upgrade is required for ov5647 as well).
- see below for firmware upgrade step (identical to both RPi 3B and fincm3 devices)
- r3b_rpcam_ov5647.log (10.6 KB)
- r3b_b0165_ov9281.log (11.6 KB)
On Balena-Fin v1.1:
Additional important notes: - you must upgrade the firmware on the fincm3 to work with ov5647. - there is no mechanism to do it via balena-os dashboard, so I used the following steps:
Upgrding firmware (required):
- login as superuser (I used serial console (root, no password) on the fine, host via dashboard for the pi 3)
- Execute: (can copy paste)
# Before update on RPi3: # dmesg | grep "raspberrypi-firmware soc" # [ 0.090274] raspberrypi-firmware soc:firmware: Attached to firmware from 2019-08-28 15:10, variant start_x # [ 0.100123] raspberrypi-firmware soc:firmware: Firmware hash is 31098ceed842ca10c8ffd02ffe3640bf6c0190b4 cd /mnt/boot/ && mv start_x.elf start_x.elf.bak && mv fixup_x.dat fixup_x.dat.bak && wget https://github.com/raspberrypi/firmware/raw/01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5/boot/start_x.elf && wget https://github.com/raspberrypi/firmware/raw/01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5/boot/fixup_x.dat && sync && reboot Important: To get the ov5467 camera (The standard camera) to work the firmware files /mnt/boot/ start_x.elf and fixup_x.dat need to be changed. I used the latest (16 of january 2020). I can also say that "https://github.com/balena-io-playground/balena-rpi-python-picamera" would not work for me using the current development fincm3 image (I expect the updated firmware would have fixed it). Additional information: - relevant post on arducam forum: https://www.arducam.com/forums/topic/ov9281-uc-599-not-being-detected-need-help/#post-20253 (see the last comments, the initial ones relate to the RPi 3B board and are not relevant to this post).