Raspberry Pi Camera Module 3 review – HDR, autofocus, wide angle, and NoIR camera

A few days before launching the Raspberry Pi Camera Module 3 with HDR and autofocus, Raspberry Pi Trading asked me whether I would be interested in reviewing the new modules, and sent me three samples: the standard module, the Raspberry Pi Camera Module 3 Wide, as well as the NoIR version that lacks an IR filter and is better suited for night shots.

It took a full week for DHL to send the package to my house, but I’ve now had time to review the new Raspberry Pi Camera Module 3, mostly with libcamera, but also Picamera2, focusing on the new features such as HDR, autofocus, and wide angle. I also had a quick try at the Raspberry Pi Camera Module 3 NoIR but without IR lights.

Raspberry Pi Camera Modules 3 Wide Noir

Raspberry Pi Camera Module 3 front back

Regular readers know I had already made some DIY camera mounts using empty gum bottles, and I just replaced the Lotte XYLITOL stickers with some CNXSoft stickers for this review.

Raspberry Pi Camera Module 3 review

Getting started with Raspberry Pi Camera Module 3

The first time I used the camera I had some unnecessary problems because a web search sent me to outdated documentation on Raspberry Pi dot org where you are told to enable the camera in the settings and raspi-config. The place where you need to go to for the latest documentation is Raspberry Pi dot com. I still had issues because I downloaded Raspberry Pi OS last month, and when I used libcamera-hello application to check whether the camera was detected it would just report “no camera is available”. I just had to update my image with apt, and all good.

The good news is that the Raspberry Pi camera module 3 works out of the box without any configuration. Just make sure your install the latest Raspberry Pi OS or upgrade your installation, and make sure you use the correct documentation and you are good to go.

All my three modules could be detected properly as follows:

  • Raspberry Pi Camera Module 3:
  • Raspberry Pi Camera Module 3 Wide:
  • Raspberry Pi Camera Module 3 NoIR:

Each has a different signature, so if you’re writing an application that needs to detect the camera variants that should not be a problem.

I already reported that when playing with the gum bottle mount, I had troubles with the Camera Module 3 Wide after a while as the system would return errors or show the camera is not available. I initially tried to check the FPC cable connection, but no luck, and I thought I had somehow damaged the module. But I eventually found on the camera was slightly dislodged from the connector (I took it out for the photo).

Raspberry Pi Camera Module 3 connector

Once I inserted it and press on it again, the Wide camera module worked as expected.

HDR and autofocus testing with libcamera

Let’s take some photo samples with libcamera starting with a non-HDR photo with the standard module:


Raspberry Pi Camera Module 3 no hdr
4608 x 2592 photo

Note I have to rotate the image by 180 degrees because of the way the module is mounted. You can click on the photos to see the original size (but converted to WebP for most people)

Let’s now do that with HDR:


Raspberry Pi Camera Module 3 HDR
HDR photo with 2304 x 2196 resolution

I took the photo a few hours before sunset and the difference is not dramatic, but we can better the left side of the background in the HDR photos. We do lose resolution with HDR, as while the first photo has a 4608 x 2592 resolution, the HDR one is 2304 x 2196.

Camera Module 3 Sample 9cm no hdr
Close-up sample at around 9cm from the lens

The Camera Module 3 (and the NoIR) can focus from 10 cm to infinity, and I move a subject close to the camera. I looked clear on the small HDMI screen I used, but it was about 9cm from the lens so the logo is a little blurry. We can see the background is blurry because of the focus.

I also used libcamera-vid to test autofocus while shooting a video. That’s with HDR enabled.

It works reasonably fast in well-light environments even with HDR enabled. Autofocus feels a bit faster without HDR.

Let’s now switch the Raspberry Pi Camera Module 3 Wide placed in about the same position as the first module.

Raspberry Pi Camera Module 3 Wide Sample No HDR
Wide camera sample

We have a greater field of view and in this particular scene the HDR comes to life as we can see some of the details under the roof of the gazebo.

Raspberry Pi Camera Module 3 Wide Sample HDR
Wide angle camera – HDR sample

I place the Linux Tux/CNXSoft logo in the same position as previously (~9cm from the lens) and we can see more of the bottle with the greater field of view, and it’s clearer since the Wide camera module can focus from 5cm to infinity.

Raspberry Pi Camera Module 3 Wide close up no hdr
Close-up sample at about 9cm from the lens

Autofocus is working relatively well in the video below.

But I’d like to note something interesting which happens with both the standard and wide camera modules. In video mode, the field of view is greater when enabling HDR, while the captured zone is much smaller when HDR is disabled.


That’s probably because the resolution is set to 2304×1296 with HDR, and 1536×864 without HDR. I tried to force the resolution to 4608×2592 or 2304×1296 in non-HDR mode:


The videos themselves are recorded at 640×480 resolution:


The NoIR camera module should shine in dark scenes and at night, preferably with IR lights. I just tried it a night with a light on.

Camera Module 3 NoIR no hdr
NoIR camera module sample

I was expecting some pinkish image, so I felt like something was wrong. Switching to the standard camera module does not actually make much difference for this specific scene.

RPI Camera 3 no hdr dark scene
Standard Raspberry Pi Camera 3 sample in a dark scene

I also tried the NoIR camera during the day to make sure the camera output was different, and indeed it is, with washed-out and pink colors as expected, although not quite as pronounced as samples from the NoiR v2 camera.

Raspberry Pi Camera Module 3 NoIR day hdr
NoIR camera (day) with HDR
Raspberry Pi Camera Module 3 NoIR no hdr
NoIR camera (day) without HDR

I also tried autofocus in HDR mode with the NoIR camera module at night, and it did not work very well, as in not at all.

I also had this issue during day time from time to time, and it depends on the scene and lighting conditions as well. I actually have similar issues with my DSLR camera, but I can always tap the display or switch to manual focus. It should also be possible to do so with the Camera Module 3, but it would require a touchscreen display, a rotary encoder, and implement the software to support those features.

Camera Module 3 and Picamera2

Finally, I gave a try at the Picamera2 Python camera library that was officially released last September. It relies on libcamera, so I only used it with the standard camera module to make sure the new features were properly implemented.

I used the Qt Picamera2 app, after getting it as follows


It started and I could see the camera output for both the Still Capture…

Qt Picamera2 App Still Capture

and Video tabs.

Qt Picamera2 App Video

The preview window is quite small because I’m using a 1280 x 800 HDMI display, and it would look much better on a Full HD display. You’ll also notice the message “HDR unavailable: install opencv to try it”.

Picamera2 is a Python library so so I tried to install Python OpenCV with pip:


The last command took around 1h30 to complete, and it failed due to a missing file:


I ended up spending four hours on this only to find out I should use apt instead:


It took around 2 to 3 minutes to install, and the HDR options are now showing up with the ability to select the number of HDR frames and gamma setting.

Picamera2 HDR Raspberry Pi Camera 3

The app has plenty of other options with image tuning, pan/zoom, AEC/AWB, and I also notice I could adjust the focus manually by moving a slider. But when I clicked on the “Take photo” button, my Raspberry Pi 4 froze for several long seconds (Numlock would not turn on/off), and eventually, the Qt Picamera2 app crashed. I went to check out the kernel to find out the system had run out of memory:


So besides using a Full HD display, it might be better to run the Qt app on a board with more RAM, as I’m using a Raspberry Pi 4 SBC with 1GB RAM only. I had no such problem with the command line utilities based on libcamera.

I’d like to thank Raspberry Pi Trading for sending the Camera Module 3 for review. The standard versions sell for $25, and the wide-angle modules go for $35. You’ll find them at the usual Raspberry Pi distributors.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
13 Comments
oldest
newest
Tim
Tim
7 days ago

Very through.

Not bad for the money but they need to work on stock and price gouging far more than releasing new products at this time. Not saying stop developing them however.

WereCatf
WereCatf
7 days ago

I wish they had a model with a switchable IR-filter instead of just models with a permant one or no filter at all. Makes them far less useful.

Cyk
Cyk
6 days ago

Nobody keeps you from putting a filter wheel in front of a filterless camera. In fact, that is what many astrophotographers do.

WereCatf
WereCatf
6 days ago

Yes, but having it integrated would make for a much cleaner and possibly reliable product.

Willy
6 days ago

Looks quite decent. However at high resolution the JPEG compression artefacts are clearly visible on the concrete wall which looks too smoothed, and on the red helmet of the LEGO character. I used to have a low-quality digital camera based off a sensor and processor made exclusively for MJPEG, which was emitting photos with a number of simplifications which looked a bit like these (albeit at a much lower resolution). Capturing tiles on a roof was really cool, it would look like an aquarelle drawing 😉

Willy
6 days ago

Thanks. So it might instead be that the camera is configured to strengthen sharpening. The concrete cylinder in the background should be blurred everywhere, but some areas such as the edge of the hat, are extremely sharp while other areas on the same device are almost flat.

Mihai
6 days ago

Let the hunt begin for a Camera Module 3. I am surprised to see the regular version is available in Romania already (non-wide and without NoIR). I would love to see how a Pi Zero 2 W handles the new module.

tkaiser
tkaiser
6 days ago

As for the OOM issues… have you tried to fix Raspberry Pi OS in this area (ZRAM to the rescue)?

Etienne
Etienne
6 days ago

I never had any luck making proper night vision shots using either esp32 or RPi no-ir cams. Images looked so bad compared to commercial webcams,
So I ended up disassembling 20eur webcams instead of using these diy cams..

william Keeling
5 days ago

not sure I like move libcamera and away from MMAL. What the point of having a GPU if it is not used for much?

Chris Castle
5 days ago

What about frame rates? I haven’t been able to find frame rates in any documentation for the module or for the sensor.

Weller PCB manufacturer