High Quality Camera
The 12-megapixel High Quality Camera comes with either an M12 mount or a C/CS mount for compatibility with a broad variety of lenses. For more information, see Lenses. The camera is built around the Sony IMX477 sensor with a resolution of 4056 × 3040 pixels. It can record an exposure time of up to 670.74 seconds.
You can synchronise multiple High Quality Cameras using the XVS (vertical sync) pin. For more information, see Synchronous captures.
For detailed information about the hardware characteristics and capabilities of this camera, see the hardware specifications.
Transmission characteristics
Edit this on GitHub
The High Quality Camera uses a Hoya CM500 infrared filter. Its transmission characteristics are as represented in the following graph.
If you want to enhance the High Quality Camera’s sensitivity to infrared light, you can remove the infrared filter. This action is permanent and voids the warranty. For more information, see IR filter.
Without its filter, the Raspberry Pi High Quality Camera has the following transmission characteristics:
Recommended lenses
The following lenses are recommended for use with our HQ Camera.
C/CS lenses
We recommend two lenses, a 6 mm wide-angle lens and a 16 mm telephoto lens manufactured by CGL Electronics Co. Ltd. These lenses are available from your nearest Authorised Reseller.
| 16 mm telephoto | 6 mm wide-angle | ||
|---|---|---|---|
Resolution |
10 MP |
3 MP |
|
Image format |
1" |
1/2" |
|
Aperture |
F1.4 to F16 |
F1.2 |
|
Mount |
C |
CS |
|
HQ field of view H° × V° (D°) |
22.2° × 16.7° (27.8°) |
55° × 45° (71°) |
|
Back focal length |
17.53 mm |
7.53 mm |
|
Minimum object distance |
0.2 m |
0.2 m |
|
Dimensions |
φ39 × 50 mm |
φ30 × 34 mm |
|
M12 lenses
We recommend three lenses manufactured by Gaojia Optotech. These lenses are available from your nearest Authorised Reseller.
| 8 mm | 25 mm | Fisheye | ||
|---|---|---|---|---|
Resolution |
12 MP |
5 MP |
15 MP |
|
Image format |
1/1.7" |
1/2" |
1/2.3" |
|
Aperture |
F1.8 |
F2.4 |
F2.5 |
|
Mount |
M12 |
|||
HQ field of view H° × V° (D°) |
49° × 36° (62°) |
14.4° × 10.9° (17.9°) |
140° × 102.6° (184.6°) |
|
Synchronous captures
The High Quality (HQ) Camera supports synchronous captures. One camera (the "source") can be configured to generate a pulse on its XVS (vertical sync) pin when a frame capture is initiated. Other ("sink") cameras can listen for this pulse, and capture a frame at the same time as the source camera.
This method is largely superseded by software camera synchronisation, which can operate over long distances without additional wires and has sub-millisecond accuracy. But when cameras are physically close, you can use wired synchronisation.
|
Note
|
You can’t synchronise a GS Camera and an HQ Camera. To synchronise GS Cameras, see Synchronous mode (XVS). |
Connecting the cameras
Solder a wire to the XVS test point of each camera, and connect them together.
Solder a wire to the GND test point of each camera, and connect them together.
|
Note
|
An earlier version of this document recommended an external pull-up for XVS. This is no longer recommended. Instead, ensure you have an up-to-date version of Raspberry Pi OS and set the always-on property for all connected cameras.
|
Driver configuration
Configure the camera drivers to keep their 1.8 V power supplies on when not streaming, and optionally to select the source and sink roles.
Edit /boot/firmware/config.txt. Change camera_auto_detect=1 to camera_auto_detect=0.
Append this line for a source camera:
dtoverlay=imx477,always-on,sync-source
Or for a sink:
dtoverlay=imx477,always-on,sync-sink
When using the CAM0 port on a Raspberry Pi 5, Compute Module 4, or Compute Module 5, append ,cam0 to that line without a space. If two cameras are on the same Raspberry Pi, you need two dtoverlay lines, only one of them ending with ,cam0.
Alternatively, if you want to swap the cameras' roles at runtime (and they aren’t both connected to the same Raspberry Pi), omit ,sync-source or ,sync-sink above. Instead, you can set a module parameter before starting each camera:
For the Raspberry Pi with the source camera:
$ echo 1 | sudo tee /sys/module/imx477/parameters/trigger_mode
For the Raspberry Pi with the sink camera:
$ echo 2 | sudo tee /sys/module/imx477/parameters/trigger_mode
Do this every time the system is booted.
To configure libcamera and start the cameras, see Wired synchronisation.