About Arducam
Arducam is a professional company committed to open-source hardware and software designing and manufacturing from China, especially for Arduino, Raspberry Pi, and Jetson Nano camera solutions. We also offer customized design and manufacture turnkey solution services for the customers who want their products unique.
- To view all the individual off-the-shelf products listed, check our product archive.
- If you need customization, check our customization service page.
1.Camera Modules
A camera module is the eye of a vision system, and different systems (such as microcontrollers, embedded systems, and PCs) allow for different ways of camera connection. Arducam offers different camera modules interfaced to different systems and connectors, and they can be divided into SPI Cameras, MIPI Cameras, and USB cameras.
The SPI camera is a general-purpose camera solution that only simply uses SPI and I2C interfaces, and it’s compatible with but not limited to the Arduino boards. Our MIPI cameras are mainly designed for embedded systems, such as the Raspberry Pi and Jetson Nano. We also provide universal USB camera solutions for evaluation/prototyping/production over USB connectors.
1.1 SPI Interface
Arducam SPI cameras with SPI Interfaces (for Arduino and More)
Cameras are complex high-bandwidth devices, and microcontrollers like the Arduino may be too simple and slow to handle it. Therefore, high-resolution cameras were impossible for the Arduino and similar boards until Arducam invented the ArduChip in 2012. With ArduChip, we managed to fill this gap and have since become the world’s first and only solution provider of HD Arduino SPI cameras.
As a general-purpose solution, the Arducam SPI camera is not limited to the Arduino. Instead, it can be used on any hardware platform with SPI and I2C interfaces. What’s more, Arducam has also made it possible to use multiple SPI cameras on a single microcontroller. Read More…
1.2 MIPI CSI-2 Interface
The MIPI CSI-2 interface is the default camera interface for Raspberry Pi and Jetson Nano, and the Raspberry Pi cameras are all based on it. The physical connector of the MIPI CSI-2 interfaces usually takes the form of 15-pin and 22-pin. However, a matching connector does not ensure the camera module will definitely work, because cameras also need matching drivers to work.
Our MIPI cameras are mostly driven by the stock driver from the manufacturer. If a camera module is off the stock-support list, then we need standard Video4Linux2 (V4L2) Linux driver, or the RPi’s Open Source ARM userland driver.
Stock driver MIPI Camera Modules (for Raspberry Pi and Jetson Nano/Xavier NX)
The manufacturers of the embedded systems development and maintain their camera drivers to make basic camera applications possible on their platform. For the Raspberry Pi, its native driver supports OV5647, IMX219, and IMX477 cameras. The Jetson Nano, on the other hand, natively supports the IMX219 and IMX477 cameras.
Raspberry Pi Native Cameras (5MP OV5647, 8MP IMX219, and 12MP IMX477)
A native Raspberry Pi camera works with Pi’s stock camera driver without any further configuration. More specifically, it’s the image sensors that are supported by the driver. The Raspberry Pi supports their V1, V2, and HQ cameras, respectively the 5MP OV5647, 8MP IMX219, and 12MP IMX477.
Arducam provides camera modules with these 3 sensors, but with improvements in optical performances: we provide cameras with different form factors, lens mounts, focus controls, focal length, IR sensitivities, etc. Those camera modules from Arducam cover much wider applications than the standard Pi cameras. Read More…
Future of Raspberry Pi cameras: The Arducam Pivariety Project
Learn more about our Pivariety camera series here.
Jetson Nano/Xavier NX Native Camera (8MP IMX219 and 12MP IMX477)
The Jetson Nano natively supports the 8MP IMX219 and 12MP IMX477, and Arducam’s IMX219 solutions for the RPi is also applicable to the Jetson Nano. You can either use our customized IMX219 modules or Arducam IMX219 drop-in replacements. Our IMX477 modules also work perfectly on those two platforms. Read More…
V4l2 driver MIPI Camera Modules (for Raspberry Pi and Jetson Nano)
Video4Linux (V4L for short) is a collection of device drivers and an API for supporting real-time video capture on Linux systems, and V4L2 is the second version of V4L. We can also use it to drive MIPI cameras for Linux-based systems like the Raspberry Pi and Jetson Nano.
Arducam OBISP series with standalone ISP for RPi and Jetson Nano
Sometimes non-native cameras are unable to take advantage of the hardware image processing of the closed SoC, therefore, we can only get RAW data. To address the problem, Arducam develops the OBISP series with standalone ISP (Image Signal Processor) on board.
Jetvariety series for the Jetson Nano – One kernel camera driver for all
Project Jetvariety (short for Jetson Variety) is a proprietary general-purpose camera solution for the Jetson Nano, which makes it easier to interface MIPI cameras which are not natively supported – those other than the IMX219 and IMX477. Read More…
Userland driver MIPI Camera Modules for Raspberry Pi
The userland is open-source ARM userspace, and all of the driver code of VideoCore (a low-power mobile multimedia processor owned by Broadcom) which runs on the ARM is available.
Arducam MIPI Camera Modules Series – higher solution or global shutter for Pi
Arducam MIPI Camera Module Series for the Raspberry Pi uses the userland driver to acquire RAW data from the image sensor other than the native ones. We made it possible to use a camera module with higher resolutions like 13MP IMX135, 16MP IMX298, and AR1820, as well as global shutter cameras like OV7251, OV9281, and OV2311. Read More…
1.3 USB Interface
USB is the most used interface on many computers for connecting to multiple devices, including cameras. Those USB cameras complaint with standard USB Video Class specifications are called USB UVC camera modules. The UVC cameras, like webcams, work plug-and-play on multiple platforms. If it’s not UVC-complaint, extra drivers are needed.
Camera Evaluation with Arducam USB Camera Shields and Camera Breakouts
Arducam USB 2.0/3.0 Camera Dev Kits
The Arducam USB camera shield is a general-purpose camera control board designed for both PCs and embedded systems like the Raspberry Pi, Odriod, TI Beaglebone, and similar hardware. It supports almost all parallel interface image sensors ranging from 0.3MP to 16MP, including both global and rolling shutter sensors. The camera comes with a comprehensive software SDK library and example source code you need to make it work on Windows and Linux systems. Read more…
Arducam camera breakout boards
The camera breakout board is provided for fast evaluation for the cameras or building prototype with your own circuits without dealing with fine pin pitch flex cable or soldering balls. The camera breakout boards can easily work with Arducam USB2/USB3 camera shield without writing a single line of code. Read more...
Plug and Play with Arducam UVC Camera Modules
A UVC Camera is a camera with a USB interface that meets the standards set for the USB Video Class. This means that every UVC Camera is a USB camera, but not all USB cameras are UVC Cameras, because they might adopt the USB interface without meeting the Video class requirements.
Therefore, a major advantage of the UVC cameras is their universal compatibility and flexibility. As they meet the video class standard, you can easily use them on different platforms with a USB port without handling the driver issue, like the Raspberry Pi or a smartphone. It also makes it easier for you to migrate your applications from one platform to another. Read More…
2.Camera Multiplexer and Extender
2.1 Multiple MIPI Cameras
The MIPI CSI connector is not like a USB, which can be easily adapted to multiple ones with a USB hub. However, Arducam still makes it possible to use multiple camera modules on a single camera slot.
Multi-camera Adapter
The Arducam multi-camera adapter is designed for connecting more than one 5MP or 8MP Pi camera to a single CSI camera port on the Raspberry Pi board. One adapter board can connect 2 or 4 cameras on a single Raspberry Pi board with no mixing of sensors.
Synchronized Stereo Camera HAT
The Arducam synchronized stereo camera HAT allows you to connect two MIPI cameras with the same image sensor to a single standard Pi board and takes images or videos at the same time. More importantly, this binocular solution makes both cameras fully synchronized.
It supports and is fully compatible with Raspistill commands for preview, and Raspivid command for video capture/processing with RPi’s default camera driver for its 5MP and 8MP cameras.
Stereo Camera MIPI Module
This Arducam Stereo Camera MIPI Module is a stereo camera module with two synchronized monochrome global shutter image sensors. It directly connects to the MIPI CSI-2 connectors of Raspberry Pi, Jetson Nano, and Jetson Xavier NX, and runs with a V4L2 camera driver on those platforms. It offers better flexibility to be integrated into your own hardware design or run with your own algorithm on embedded systems for applications like depth sensing, 3d mapping, SLAM, etc.
2.2 Multiple SPI Cameras
Arducam is not only to first one to make high-resolution SPI cameras possible on the Arduino, but also the first one to add multiple SPI cameras to a single microcontroller.
2.3 MIPI Camera Extension
Usually, a MIPI camera is extended with a long ribbon cable, but Arducam also provides other solutions.
CSI-HDMI Adapter
The CSI-HDMI Adapter adapts the MIPI CSI ribbon connection into standard HDMI connectors for a longer and more robust connection. Arducam also provides housed IMX477 camera modules with this CSI-HDMI adapter built-in.
IMX219 Sensor Extension Cable
The IMX219 sensor extension cable is designed for the official Raspberry Pi camera module and other similar hardware. It can free the compact/mobile camera module from the board-to-board connector from the camera board, so the imaging part can better fit space-constraint applications, like through a hole or a tube. Read More…
3.Camera Lenses
Camera lenses converge the light and shed it on the image sensor. Like DSLR cameras, there are various lens mounting systems for industrial, CCTV, and embedded cameras. Besides, lenses come with different optical performances to satisfy different capturing requirements. Basically, there are two kinds of lenses – one is static and needs manual adjustment for everything, the other comes with a motor to help you make simpler adjustments.
3.1 Simple Lenses
We consider a lens with only mechanical parts but no electrical circuits a simple lens. M12 (S-Mount) and C/CS-Mount lenses are used most for Arducam products and embedded vision applications.
M12/S-Mount Lens
M12 lens has a thread with a 12cm diameter and is widely used in embedded cameras. Arducam provides M12 lenses with different focal length and optical distortion, as well as M12 lens kits. Read More…
CS-Mount Lens
CS-Mount lenses are the default lens mount of the Raspberry Pi High Quality Camera Module. CS-Mount is widely used in industrial applications, astrophotography, and microscopes. It’s can also be easily adapted to M12 or C-Mount with adapters. Arducam also sells CS-Mount lens kits. Read More…
C-Mount Lens
C-Mount Lenses have the same thread size as the CS-Mount lens, but with a longer back focal length. Many of Arducam’s zoom lenses are in C-Mount. Read More…
3.2 Motorized Lenses
A motorized lens is a lens assembly (lens and lens mount) with moveable mechanical parts, usually motors, to control and alter the optical features. With the help of motors, you don’t have to manually toggle the camera module in front of it. Instead, you can use software to control it remotely, or even automate the process. Arducam provides motorized lenses that can alter the IR sensitivity, focus, and zoom. These lenses are not sold alone, but an integrated part of a camera module.
Motorized IR-filter (Mechanical/Switchable IR-filter)
A Motorized IR-filter is also known as switchable/Mechanical IR-filter. Since you can switch the IR filter on and off, the IR sensitivity of the camera could be changed on demand. For example. if you want to capture accurate day-light pictures and IR night vision on the same camera module, the motorized IR-filter lens assembly could be your choice. Read More…
Motorized Focus (Software Auto Focus)
The camera is focused by moving the lens closer or further from the image sensor. For a standard static lens, we screw the lens in or out the thread to get a clear focus. To focus on different objects, the cameras might need to be re-focused, and you need to manually screw the lens again.
This process can be made much easier with the help of a motor, usually a Voice Coil Motor (VCM). Arducam motorized focus camera modules use the camera I2C to control the VCM, and with the help of software like OpenCV, we can get autofocus out of the camera. Read More…
Motorized Zoom (Software Optical Zoom)
While to focus a camera means to change the position of the lens, to zoom a camera changes the position of the glass elements inside a lens. A manual zoom lens usually comes with a zoom ring to go from a wider angle or telephoto, but a motorized zoom lens could be controlled with software. A Motorized Zoom lens is usually accompanied by motorized focus and a pan-tilt platform to become a PTZ camera. Read More…