ArduCAM series camera shield is a universal camera control board for Arduino. It hides the complex nature of the camera and provides the easy to use camera control interface as well as the ready to use software source code library and demo code. The ArduCAM supports a variety of camera modules from 0.3MP to 5MP with different formats like RAW, RGB, YUV, JPEG and can be well mated with standard Arduino boards.
ArduCAM Rev.C+ is the latest revision of ArduCAM shields, it offers improved performance and enhanced functions than the previous revisions. It can capture maxim 5MP JPEG images, which makes it be the ideal solution for IoT applications.
The ArduCAM is designed for Arduino but not limited to Arduino, it can be used in any platforms like Arduino, Raspberry Pi, Maple, Chipkit, Beaglebone black, as long as they have the SPI and I2C interface. Users can port the current Arduino library to other platforms with less effort.
- Support 0.3MP~5MP camera modules, see Table 1
- 3.2 inch TFT LCD with touch screen
- Built-in SD/TF card socket
- Support JPEG compression mode, single and multiple shoot mode, one-time capture multiple read operation, burst read operation, low power mode and etc.
- Support almost all microcontroller platform,
- Provide open-source code library, please visit github.org/arducam
- All ArduCAM’s IO ports are 5V/3.3V tolerant
- Well mated with standard Arduino boards
Table 1 Supported Camera Modules
|Resolution||Sensor Vendor||Camera Module||Manufacture|
|0.3MP||Omnivision||OV7660 / OV7670 / OV7675 / OV7725||ArduCAM|
|1.3MP||Aptina||MT9M112 / MT9M001||ArduCAM|
|2MP||Aptina||MT9D111 / MT9D112||ArduCAM|
|5MP||Omnivision||OV5640 / OV5642||ArduCAM|
Figure 3 shows the block diagram of the ArduCAM shield which is composed of the camera module, LCD screen, and an ArduChip. The camera module is changeable. The ArduChip uses ArduCAM proprietary third-generation camera controller technology which handles the complex camera, memory, LCD and user interface hardware timing and provides a user-friendly SPI interface.
Single capture mode is the default capture mode of the camera. After issuing a capture command via SPI port, the ArduCAM will wait for a new frame and buffer the one entire image data to the frame buffer, and then assert the completion flag bit in the register. The user only needs to poll the flag bit from the register to check out if the capture is done.
Multiple capture mode is an advanced capture mode. By setting the number of frames in the capture register, the ArduCAM will capture consequent frames after issuing capture command. Note that the number of frames should be set properly and make sure they do not exceed the maximum memory space.
The JPEG compression function is implemented in the image sensor. With proper register settings to the sensor, the user can get different resolutions with JPEG image stream output. It is recommended to use JPEG output to get higher resolution than RGB mode, due to the limitation of the frame buffer.
A normal read operation reads each image data by sending a read command in one SPI read operation cycle. While burst read operation only needs to send a read command then read multiple image data in one SPI read operation cycle. It is recommended to use burst read operation to get better throughput performance.
Sometimes user wants to read the same frame of image data multiple times for processing, the rewind read operation is designed for this purpose. By resetting the read pointer to the beginning of the image data, the user can read the same image data from the start point again.
Some battery power devices need to save power when in idle status, the ArduCAM offers the low power mode to reduce power consumption, by shutdown the sensor and memory circuits.
The image sensor control function is implemented in the image sensor. By setting a proper set of register settings, users can control the exposure, white balance, brightness, contrast, color saturation and etc.