Skip to content

Quick Start Guide

This Chapter only introduce how to make the camera working on Arduino platform. It is the easiest way to prove the hardware is working or not.

1. Check Your Hardware

There are different models of Arducam SPI camera modules. Different models has different timing and functions. The following is a list of our SPI cameras:

Hardware Macro
Arducam Shield Rev.C ARDUCAM_SHIELD_REVC
Arducam Shield V2 ARDUCAM_SHIELD_V2
Arducam shield mini 2MP //#define OV2640_MINI_2MP
Arducam shield mini 5MP (FIFO Version) //#define OV5642_MINI_5MP
Arducam shield mini 5MP (bit rotation bug) //#define OV5642_MINI_5MP_BIT_ROTATION_FIXED
Arducam shield mini 2MP Plus #define OV2640_MINI_2MP_PLUS
Arducam shield mini 5MP Plus (OV5642) //#define OV5642_MINI_5MP_PLUS
Arducam shield mini 5MP Plus (OV5640) //#define OV5640_MINI_5MP_PLUS

2. Configure the Library

The libraries should be configured before running any examples, or else you will get a compilation error message. Open the memorysaver.h file in the ArduCAM folder and enable the hardware platform and camera module which matches to your hardware by comment or uncomment the macro definition in the file.

For example, if you got a ArduCAM-Mini-2MP you should uncomment the line " #define OV2640_MINI_2MP " and comment all the other lines.

Or if you got a ArduCAM-Shield-V2 and a OV5642 camera module, you should not only uncomment the line " #define ARDUCAM_SHIELD_V2" , but also uncomment the line " #define OV5642_CAM" then comment all the other lines.

The following is the piece of memorysaver.h file, which enables Arducam Shield Mini 2MP Plus camera for example.

//Step 1: select the hardware platform, only one at a time
//#define OV2640_MINI_2MP
//#define OV3640_MINI_3MP
//#define OV5642_MINI_5MP
//#define OV5642_MINI_5MP_BIT_ROTATION_FIXED
#define OV2640_MINI_2MP_PLUS
//#define OV5642_MINI_5MP_PLUS
//#define OV5640_MINI_5MP_PLUS


//#define ARDUCAM_SHIELD_REVC   
//#define ARDUCAM_SHIELD_V2


//Step 2: Select one of the camera module, only one at a time
#if (defined(ARDUCAM_SHIELD_REVC) || defined(ARDUCAM_SHIELD_V2))
    //#define OV7660_CAM
    //#define OV7725_CAM
    //#define OV7670_CAM
    //#define OV7675_CAM
    //#define OV2640_CAM
    //#define OV3640_CAM
    //#define OV5642_CAM
    //#define OV5640_CAM 

    //#define MT9D111A_CAM
    //#define MT9D111B_CAM
    //#define MT9M112_CAM
    //#define MT9V111_CAM   
    //#define MT9M001_CAM   
    //#define MT9V034_CAM
    //#define MT9M034_CAM
    //#define MT9T112_CAM
    //#define MT9D112_CAM

3. Upload the Example Sketch

After that open the Arduino IDE, the ArduCAM examples can be found from the menu File->Examples->ArduCAM as the Figure 1 shown. (Arducam shield mini for example)

arducam-spi-examples-1024x558

Figure 1 Arduino IDE examples

Open one of the examples, wiring SPI and I2C interface especially CS pins to ArduCAM shield according to the examples. More information about the wiring can be found from ArduCAM hardware application note. Selecting correct COM port and Arduino boards then upload the sketches as the Figure 2 shown.

arducam-spi-examples-2

Figure 2 Example Sketch

4. Take Images

After uploading the example sketch, user can preview the live video on LCD screen if using ArduCAM Shield with LCD screen. Or else you have to download Windows host debug tool from here to capture image. For more information about the host debug tool, please check the chapter Host Debug Tools.

5. Video Demos

Video Demo for Arducam Shield V2: Arducam Shield V2

Video demo for Arducam Shield Mini 2MP: Arducam Shield Mini 2MP