Hello, I’m using the AMS OSRAM Mira220 mono PiVariety camera on Raspberry Pi 5,
and after following the official install instructions:
https://docs.arducam.com/Raspberry-Pi-Camera/Pivariety-Camera/AMS-OSRAM/
, I still can’t find the arducam-pivariety.json IPA file.
[127:59:34.849236002] [390141] ERROR IPAProxy ipa_proxy.cpp:171 Configuration file ‘arducam-pivariety.json’ not found for IPA module ‘rpi/pisp’
Could you please provide a copy of it or the correct way to install it manually?
Raspberry pi 5
bookworm OS 64 bit
Mira220 mono PiVariety camera
installed at 2025-06-06
[user]@[hostname]:~ $ libcamera-still -t 1000 --shutter 10000 --gain 28.0 -o test.jpg
[128:13:24.373031528] [390972] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+84-79f583c3-dirty (2025-05-06T02:52:19BST)
[128:13:24.380199627] [390975] INFO RPI pisp.cpp:720 libpisp version v1.2.1 981977ff21f3 29-04-2025 (14:13:50)
[128:13:24.404969928] [390975] ERROR IPAProxy ipa_proxy.cpp:171 Configuration file 'arducam-pivariety.json' not found for IPA module 'rpi/pisp'
[128:13:24.748170939] [390975] INFO RPI pisp.cpp:1180 Registered camera /base/axi/pcie@1000120000/rp1/i2c@80000/arducam_pivariety@c to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_C0
Preview window unavailable
Mode selection for 800:700:12:P
SRGGB12_CSI2P,640x480/0 - Score: 831.429
SRGGB12_CSI2P,1600x1400/0 - Score: 375
Stream configuration adjusted
[128:13:24.749065551] [390972] INFO Camera camera.cpp:1205 configuring streams: (0) 800x700-YUV420 (1) 1600x1400-RGGB_PISP_COMP1
[128:13:24.808267385] [390975] INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@1000120000/rp1/i2c@80000/arducam_pivariety@c - Selected sensor format: 1600x1400-SRGGB12_1X12 - Selected CFE format: 1600x1400-PC1R
#0 (0.00 fps) exp 9996.00 ag 0.01 dg 4.00
#1 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#2 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#3 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#4 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#5 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#6 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#7 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#8 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#9 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#10 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#11 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#12 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#13 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#14 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#15 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#16 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#17 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#18 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#19 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#20 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#21 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#22 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#23 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#24 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#25 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#26 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
Mode selection for 1600:1400:12:P
SRGGB12_CSI2P,640x480/0 - Score: 3831.43
SRGGB12_CSI2P,1600x1400/0 - Score: 0
Stream configuration adjusted
[128:13:26.515654469] [390972] INFO Camera camera.cpp:1205 configuring streams: (0) 1600x1400-YUV420 (1) 1600x1400-RGGB_PISP_COMP1
[128:13:26.576249730] [390975] INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@1000120000/rp1/i2c@80000/arducam_pivariety@c - Selected sensor format: 1600x1400-SRGGB12_1X12 - Selected CFE format: 1600x1400-PC1R
Still capture image received
Thank you!
Dion
June 20, 2025, 1:21am
2
Hi,
Thank you for reaching out.
Please refer to the discussion in the following thread.
Hi,
The camera module’s calibration parameters are permanently stored in the MCU firmware on the camera board. When running the libcamera/rpi-cam utility, the system automatically searches for compatible tuning files in the /usr/share/libcamera/ipa/rpi/pisp directory. The absence of the required arducam-pivariety.json configuration file in this location triggers a persistent Configuration file ‘arducam-pivariety.json’ not found for IPA module ‘rpi/vc4’error during execution.
Thank you for your reply.
Yes, I already checked the discussion, so I’d checked the directory, but no required file:
$ ls /usr/share/libcamera/ipa/rpi/pisp -la
total 3020
drwxr-xr-x 2 root root 4096 Jun 6 17:28 .
drwxr-xr-x 4 root root 4096 May 13 09:06 ..
-rw-r--r-- 1 root root 236921 May 6 10:44 arducam_64mp.json
-rw-r--r-- 1 root root 381967 May 6 10:44 imx219_af.json
-rw-r--r-- 1 root root 84397 May 6 10:44 imx219.json
-rw-r--r-- 1 root root 82003 May 6 10:44 imx219_noir.json
-rw-r--r-- 1 root root 18492 May 6 10:44 imx290.json
-rw-r--r-- 1 root root 84650 May 6 10:44 imx296.json
-rw-r--r-- 1 root root 55027 May 6 10:44 imx296_mono.json
-rw-r--r-- 1 root root 236610 May 6 10:44 imx378.json
-rwxr-xr-x 1 root root 83075 May 6 10:44 imx415.json
-rw-r--r-- 1 root root 18541 May 6 10:44 imx462.json
-rw-r--r-- 1 root root 383791 May 6 10:44 imx477_af.json
-rw-r--r-- 1 root root 84365 May 6 10:44 imx477.json
-rw-r--r-- 1 root root 83436 May 6 10:44 imx477_noir.json
-rw-r--r-- 1 root root 21764 May 6 10:44 imx477_scientific.json
-rw-r--r-- 1 root root 85038 May 6 10:44 imx500.json
-rw-r--r-- 1 root root 56966 May 6 10:44 imx519.json
-rw-r--r-- 1 root root 88360 May 6 10:44 imx708.json
-rw-r--r-- 1 root root 86324 May 6 10:44 imx708_noir.json
-rw-r--r-- 1 root root 89246 May 6 10:44 imx708_wide.json
-rw-r--r-- 1 root root 83198 May 6 10:44 imx708_wide_noir.json
-rw-r--r-- 1 root root 381934 May 6 10:44 ov5647_af.json
-rw-r--r-- 1 root root 84367 May 6 10:44 ov5647.json
-rw-r--r-- 1 root root 82434 May 6 10:44 ov5647_noir.json
-rwxr-xr-x 1 root root 68213 May 6 10:44 ov64a40.json
-rw-r--r-- 1 root root 6969 May 6 10:44 ov9281_mono.json
-rw-r--r-- 1 root root 55854 May 6 10:44 se327m12.json
-rw-r--r-- 1 root root 4343 May 6 10:44 uncalibrated.json
Dion
June 24, 2025, 7:36am
4
Hi,
The camera module’s calibration parameters(JSON file) are permanently stored in the MCU firmware on the camera board.
Thank you for the clarification. That makes sense. However, I’m still wondering why the exposure settings (such as analogue gain and exposure time) are not being applied as expected on my current device. Could this be a limitation of the current firmware, or is there a specific way to enable full manual control?
@Dion
Thank you as always for your thoughtful and detailed responses.
I would appreciate it if you could reply to my question when you have time.
Dion
July 2, 2025, 6:08am
7
Hi,
I cannot understand it. Do you mean you cannot apply exposure settings to what it should be in the output that the command v4l2-ctl -l shows?
Thank you for your reply.
Here is what I tried:
I used a command like the following:
libcamera-still -t 1000 --shutter 10000 --gain 4.0 -o test.jpg
(or alternatively, I used Picamera2 for capturing.)
However, with this kind of command, analogue gain does not seem to be applied correctly.
When I run this command, I see a preview log like this for about one second:
#1 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
After that, the photo is captured.
When I check the resulting test.jpg using exiftool, the metadata shows:
Exposure Time : 1/100
ISO : 4
I believe this ISO value is clearly too low and incorrect.
Although I explicitly set the analogue gain, the preview log shows analogue gain as 0.01 and digital gain as 4.00. With such settings, it becomes impossible to capture usable images in low-light conditions.
Could you please advise on this behavior?
@Dion
Hello! If I’m not using the camera in the correct way, I’d really appreciate it if you could let me know
Dion
July 7, 2025, 9:12am
10
Hi,
You can try the following command:
libcamera-still -t 500 --shutter 10000 --analoggain 4.0 -o test_ag.jpg --nopreview
exiftool test_ag.jpg
@Dion
Thank you for your reply.
I actually tried the same code, and also tested it with Picamera2, but the analogue gain doesn’t change.
(For your reference, I’m using Picamera2 in my actual implementation.)
@Dion
Here are the actual results from my tests.
The analogue gain remains at 0.01, and the ISO value is shown as 4.
$ libcamera-still --shutter 10000 --analoggain 32.0 -o test_ag32.jpg
[0:17:13.381985006] [2654] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+86-e6bc23ae-dirty (2025-07-07T06:13:42BST)
[0:17:13.389020837] [2657] INFO RPI pisp.cpp:720 libpisp version v1.2.1 981977ff21f3 29-04-2025 (14:13:50)
[0:17:13.413685151] [2657] ERROR IPAProxy ipa_proxy.cpp:171 Configuration file 'arducam-pivariety.json' not found for IPA module 'rpi/pisp'
[0:17:13.755551280] [2657] INFO RPI pisp.cpp:1180 Registered camera /base/axi/pcie@1000120000/rp1/i2c@80000/arducam_pivariety@c to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_C0
Preview window unavailable
Mode selection for 800:700:12:P
SRGGB12_CSI2P,640x480/0 - Score: 831.429
SRGGB12_CSI2P,1600x1400/0 - Score: 375
Stream configuration adjusted
[0:17:13.756832875] [2654] INFO Camera camera.cpp:1205 configuring streams: (0) 800x700-YUV420 (1) 1600x1400-RGGB_PISP_COMP1
[0:17:13.816054951] [2657] INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@1000120000/rp1/i2c@80000/arducam_pivariety@c - Selected sensor format: 1600x1400-SRGGB12_1X12 - Selected CFE format: 1600x1400-PC1R
#0 (0.00 fps) exp 9996.00 ag 0.01 dg 4.00
#1 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
:
:
#145 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
#146 (30.00 fps) exp 9996.00 ag 0.01 dg 4.00
Mode selection for 1600:1400:12:P
SRGGB12_CSI2P,640x480/0 - Score: 3831.43
SRGGB12_CSI2P,1600x1400/0 - Score: 0
Stream configuration adjusted
[0:17:19.532647392] [2654] INFO Camera camera.cpp:1205 configuring streams: (0) 1600x1400-YUV420 (1) 1600x1400-RGGB_PISP_COMP1
[0:17:19.596238959] [2657] INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@1000120000/rp1/i2c@80000/arducam_pivariety@c - Selected sensor format: 1600x1400-SRGGB12_1X12 - Selected CFE format: 1600x1400-PC1R
Still capture image received
$ exiftool test_ag32.jpg
ExifTool Version Number : 12.57
File Name : test_ag32.jpg
Directory : .
File Size : 66 kB
File Modification Date/Time : 2025:07:07 21:10:21+09:00
File Access Date/Time : 2025:07:07 21:06:55+09:00
File Inode Change Date/Time : 2025:07:07 21:10:21+09:00
File Permissions : -rw-r--r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
Exif Byte Order : Little-endian (Intel, II)
Make : Raspberry Pi
Camera Model Name : arducam-pivariety
Software : rpicam-apps
Modify Date : 2025:07:07 21:10:21
Exposure Time : 1/100
ISO : 4
Date/Time Original : 2025:07:07 21:10:21
Create Date : 2025:07:07 21:10:21
Compression : JPEG (old-style)
Thumbnail Offset : 316
Thumbnail Length : 2365
Image Width : 1600
Image Height : 1400
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 1600x1400
Megapixels : 2.2
Shutter Speed : 1/100
Thumbnail Image : (Binary data 2365 bytes, use -b option to extract)
Dion
July 8, 2025, 8:51am
13
Hi @ksumiya ,
After reviewing the sensor datasheet, we found that this camera doesn’t support gain control. That’s why the ISP remains unchanged, whatever gain value you set.
Sorry for the misleading information in my previous reply.
If you want to capture pictures in low-light conditions, please check the following items:
@Dion
Thank you for letting me know. I see — I didn’t realize that some cameras don’t support gain control. That explains the behavior. I also appreciate the link you provided.
However, I’m unable to access the page from my location (I’m accessing it from Japan). The message I get is:
“Sorry, you have been blocked. You are unable to access uctronics.com .”
As for my use case, I’m looking for a camera module that meets the following requirements:
• Capable of capturing clouds at night
• Monochrome image sensor
• Without an IR filter
• Compatible with Raspberry Pi
Does Arducam offer any camera module that meets these conditions?
Dion
July 9, 2025, 6:48am
15
Hi @ksumiya
Thank you for the update.
It will narrow down the options if you want monochrome image features.
We have lots of camera modules designed for low-light conditions. However, most of them have a color image sensor. If you don’t mind this, you can refer to the link below:
https://www.arducam.com/arducam-2mp-ultra-low-light-starvis-imx462-motorized-ir-cut-camera-for-raspberry-pi.html
This camera will switch the IR-cut status according to the light condition.
ksumiya:
However, I’m unable to access the page from my location (I’m accessing it from Japan). The message I get is:
“Sorry, you have been blocked. You are unable to access uctronics.com .”
By the way, to help us locate the problem why you cannot access our product page, could you please copy Cloudflare Ray ID in the lower part of the page?
ino.r
July 13, 2025, 8:53pm
16
Same issue here. Cloudflare Ray ID 95ebab5cdf2d5d87