- Published on
Nvidia Jetson Nano And The OV5647 Camera Sensor
- Authors
- Name
- Amarnath B R
- @digitallyamar
For any Computer Vision or Machine Learning applications, we may need to connect a camera sensor to our Nvidia Jetson Nano board. Now as mentioned in our earlier article on Introduction to Nvidia Jetson Nano, we can connect a camera module through the Jetson Nano's CSI camera interface.
However, the official OS image of the Nvidia Jetson Nano by default supports a handful of camera sensors. Some of the supported camera modules include:
- Raspberry Pi Camera v2.0
- Raspberry Pi HQ Camera
- FSM-IMX530 Camera and so on ...
Nvidia maintains a list of Jetson Nano supported camera in this link.
By looking at the list above, you realize that it is a great thing that Raspberry Pi cameras are supported because they are so easily available everywhere. However, one should take note that only Raspberry Pi camera v2.0 and above are supported.
Now if you are going to use one or two cameras mainly for R&D purposes, this is not going to be an issue. However, if you are planning to create products out of Jetson Nano and Raspberry Pi cameras, then using Raspberry Pi Camera v2.0 can become an issue!
This is because each Raspberry Pi v2.0 camera costs close to $50 while the older Raspberry Pi v1 camera or its clones starts from as low as $7. You can check the discussion people had on this very same disparity in the Jetbot Github repository.
So then what is the solution for this problem? How can we do to help other Jetson developers on this issue then? We think that it makes perfect sense then for us to go ahead and develop our own Linux kernel driver module that adds support for Raspberry Pi v1 camera module.
Difference between Raspberry Pi v1 and v2 camera sensors
The major difference between Raspberry Pi v1 camera vs Raspberry Pi v2 camera modules lies in the sensors used in each of them. The Raspberry Pi camera v1 uses Omnivison's OV5647 camera sensor where as a Raspberry Pi camera v2 uses Sony IMX219 sensor.
It must be noted however that OV5647 camera sensor has a 5MP resolution where as an IMX219 camera sensor has a resolution of 8MP. So if you want a greater resolution, you should go ahead with Raspberry v2 camera module.
Why is Raspberry Pi v1 camera not supported out of the box with Nvidia kernel?
The reason Nvidia does not want to support Raspberry Pi v1 camera is because OV5647 sensor is discontinued by Omnivison as mentioned by Nvidia in their forum.
However, since there are still so many Raspberry Pi v1 camera modules readily available in the market we feel that it makes perfect sense for us to develop a driver add support for the Omnivison OV5647 sensor in Jetson Nano kernel.
So in the upcoming articles, I will continue to add updates on the progress I have made in developing Linux device driver for the OV5647 camera sensor module for Jetson Nano.