Pivariety IMX462 B0333 higher FPS and long exposure mode

  1. Where did you get the camera module(s)?
  • UCTronics
  1. Model number of the product(s)?
  • B0333
  1. What hardware/platform were you working on?
  • Pi4B 8GB
  1. Instructions you have followed. (link/manual/etc.)
  • Standard Arducam Guide
  1. Problems you were having?
  • Long exposure mode not working, every exposure is maxed at around 1/5s
  • Just one, 1080p 60FPS mode, I would appreciate at least 720p@120fps unbinned mode
  1. The dmesg log from your hardware?
 dmesg | grep arducam
[    8.860359] arducam: loading out-of-tree module taints kernel.
[    8.924946] arducam-pivariety 10-000c: firmware version: 0x10002
[    9.451495] arducam-pivariety 10-000c: Consider updating driver arducam-pivariety to match on endpoints
  1. Troubleshooting attempts you’ve made?
  • I used exiftool as mentioned on your webpage and got this result:
 libcamera-still -o long_exposure.jpg --shutter 15530000

 exiftool -ExposureTime long_exposure.jpg
Exposure Time                   : 1/5
  1. What help do you need?
  • 1st is more of a request, I would need higher FPS mode, while dynamic mode(FPS is calculated by ROI, smaller ROI, larger FPS) would be perfect, I am fine with adding just one 120FPS@720P, unbinned mode. I know fps it is limited due to 2 CSI2 lanes, but 120fps at 720p should be more than fine.
  • 2nd Long exposure mode is simply not working :slight_smile: that is a bug, or I have some old firmware?

@OuttaControl

For the first request, you can contact [email protected]

For the second request,
you can refer to the link below. if you find README.MD doc needs Password and is: Arducam

Hi Edward, Thank you on your response, unfortunately I am unable to run firmware update for some reason, do I have some dependency missing?

astroberry@raspberrypi:~/Downloads/imx462_lanes2_firmware $ ./firmware_update -i 10 -m imx462_lanes2_firmware
bash: ./firmware_update: No such file or directory
astroberry@raspberrypi:~/Downloads/imx462_lanes2_firmware $ ls -l
total 60
-rwxr-xr-x 1 astroberry astroberry 54560 Apr 25 08:58 firmware_update
-rw-r--r-- 1 astroberry astroberry   610 Apr 25 08:58 README.md
astroberry@raspberrypi:~/Downloads/imx462_lanes2_firmware $ 
astroberry@raspberrypi:~/Downloads/imx462_lanes2_firmware $ i2cdetect -y 10
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- 0c -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

astroberry@raspberrypi:~/Downloads/imx462_lanes2_firmware $ libcamera-vid --list-cameras
No cameras available!

oook so I tried to sudo apt uprade, that failed completely, so I reinstalled again good version of Bullseye, and now still nothing works. Mind you the IMX290 driver without pivariety board works as expected. It seems that this firmware_update actually did something, but it just broke the Pivariety board.

astroberry@raspberrypi:~ $ dmesg | grep arducam
[    6.422508] arducam: loading out-of-tree module taints kernel.
[    6.758535] arducam-pivariety 10-000c: probe failed
astroberry@raspberrypi:~ $ ^C
astroberry@raspberrypi:~ $ ls /dev/video* -l
crw-rw----+ 1 root video 81,  2 Aug 31 15:31 /dev/video10
crw-rw----+ 1 root video 81,  3 Aug 31 15:31 /dev/video11
crw-rw----+ 1 root video 81, 10 Aug 31 15:31 /dev/video12
crw-rw----+ 1 root video 81,  0 Aug 31 15:31 /dev/video13
crw-rw----+ 1 root video 81,  1 Aug 31 15:31 /dev/video14
crw-rw----+ 1 root video 81,  4 Aug 31 15:31 /dev/video15
crw-rw----+ 1 root video 81,  5 Aug 31 15:31 /dev/video16
crw-rw----+ 1 root video 81, 11 Aug 31 15:31 /dev/video18
crw-rw----+ 1 root video 81,  6 Aug 31 15:31 /dev/video20
crw-rw----+ 1 root video 81,  7 Aug 31 15:31 /dev/video21
crw-rw----+ 1 root video 81,  8 Aug 31 15:31 /dev/video22
crw-rw----+ 1 root video 81,  9 Aug 31 15:31 /dev/video23
crw-rw----+ 1 root video 81, 12 Aug 31 15:31 /dev/video31
astroberry@raspberrypi:~ $ uname -a
Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
astroberry@raspberrypi:~ $ cat /etc/os-release
cat /proc/meminfo
cat /boot/config.txt
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
MemTotal:         931452 kB
MemFree:          181444 kB
MemAvailable:     632132 kB
Buffers:           26312 kB
Cached:           477264 kB
SwapCached:            0 kB
Active:            87456 kB
Inactive:         547540 kB
Active(anon):        996 kB
Inactive(anon):   152552 kB
Active(file):      86460 kB
Inactive(file):   394988 kB
Unevictable:       17332 kB
Mlocked:              16 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        148804 kB
Mapped:           136824 kB
Shmem:             22128 kB
KReclaimable:      28588 kB
Slab:              54868 kB
SReclaimable:      28588 kB
SUnreclaim:        26280 kB
KernelStack:        3772 kB
PageTables:         5188 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      568120 kB
Committed_AS:    1010072 kB
VmallocTotal:   259653632 kB
VmallocUsed:       10624 kB
VmallocChunk:          0 kB
Percpu:              688 kB
CmaTotal:         262144 kB
CmaFree:          113180 kB
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
dtoverlay=arducam
astroberry@raspberrypi:~ $

@OuttaControl

There was an error in this step

Sorry, I forgot to mention that this is the version for 32-bit systems, which is relatively stable. 64-bit needs to test the stability of the script.

If you don’t want to re-burn the 32-bit system, please wait a bit, I need this recently for relevant verification.

1 Like

Oh so that is a trick, I will burn 32bit version no problem. I had 64 bit laying around as I have 8GB and 1 GB version so. I will give my feedback after I try 32 bit.

@OuttaControl

Thank you for your cooperation and I look forward to your feedback.

Hi Edeward, I can confirm that Update has gone successfully and that I am able to take long exposure. If you could just add the note on update page that you need to use 32 bit version for future users if needed.

Thank you very much on your help!

@OuttaControl

Thanks for the suggestion, I’ve updated a note.

1 Like

I would like to upgrade the firmware on my Pivariety B0333 to support the longer shutter times. I have tried to use the firmware_update tool from this posting:

I get a segmentation fault when trying to run ./firmware_update. This is on my Raspberry Pi Zero W running the 2023-05-03 release of raspios Bullseye. I get the segmentation fault even when running “./firmware_update -h”. Any ideas why this is not working for me?