Second Generation ArduCAM Shields and Modules

Featured

Introduction
ArduCAM series camera shield is a universal camera control board for Arduino. It hides the complex nature of the camera and provides the plug and play camera control interface as well as the ready to use software source code library and demo code. User can make it works in minutes without writing a line of code. The ArduCAM supports variety camera modules from 0.3MP to 5MP with different format like RAW, RGB, YUV, JPEG and can be well mated with standard Arduino boards.
ArduCAM Shield V2 and ArduCAM-Mini-5MP-Plus are the second generation of ArduCAM products, they offers the improved performance and enhanced functions than the previous revisions. They not only can capture decent 5MP JPEG images, but also can do 5MP full resolution RAW image capture, which makes it to be the ideal solution for IoT and scientific image processing applications. Even more they can record short movie clips as well.
The ArduCAM is straightforward enough that it can be easily used with an Arduino, however this simple interface means that the ArduCAM is equally easily integrated with other single board computers such as the Raspberry Pi and the Beaglebone black. It isn’t just a camera for the Arduino, it’s a camera that because it can be easily interfaced to an Arduino, can be easily interfaced to any single board computer, either directly, or through an Arduino if needed for a larger system without exposed SPI/I2C busses. In short, the ArduCAM brings a plug and play solution to digital cameras at the hardware level.

Application

  • IoT cameras
  • Robot cameras
  • Wildlife cameras
  • Scientific cameras
  • Machine vision
  • Other battery-powered products
  • Can be used with any MCU, ESP8266, Raspberry Pi, ARM, DSP, FPGA platforms

Features

  • Support 0.3MP~5MP camera modules, see Table 1
  • 3.2 inch TFT LCD with touch screen (Only available on Shield V2)
  • Build in SD/TF card socket (Only available on Shield V2)
  • 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 any microcontroller platform, see Table 2
  • Provide open source code library, please visit arducam github
  • All ArduCAM’s IO ports are 5V/3.3V tolerant
  • Well mated with standard Arduino boards

Table 1 ArduCAM Shield V2 Supported Camera Modules

Resolution Sensor Vendor Camera Module Manufacture
0.3MP Omnivision OV7660 / OV7670 / OV7675 / OV7725 ArduCAM
0.3MP Aptina MT9V111 ArduCAM
1.3MP Aptina MT9M112 / MT9M001 ArduCAM
2MP Omnivision OV2640 ArduCAM
2MP Aptina MT9D111 / MT9D112 ArduCAM
3MP Omnivision OV3640 ArduCAM
3MP Aptina MT9T112 ArduCAM
5MP Omnivision OV5640 / OV5642 ArduCAM

Table 2 Supported Hardware Platforms

Platform Type Manufacture
8bit MCU Arduino UNO / MEGA Arduino
Cotex-M3 Arduino DUE Arduino
Cotex-M3 STM32 Develop Board ArduCAM
ARM Raspberry Pi B+ / Pi 2 / Pi 3 Raspberry Pi
ARM BeagleBone Black BeagleBone
MIPS ArduCAM Nano ESP8266 ArduCAM

Key Specifications

Table 3 Specification

Spec ArduCAM Shield V2 ArduCAM-5MP-Plus
Resolution 0.3MP ~ 5MP 5MP
Format RAW, YUV, RGB, JPEG RAW, YUV, RGB, JPEG
3.2″ TFT LCD Support NA
TF/SD card Support NA
Frame Buffer 8MByte 8MByte
SPI Speed 8MHz 8MHz
Power 50mA@5V
without camera module
250mA@3.3V
200mA@5V
Size 99x59mm 34x24mm

Documents
ArduCAM Shield V2 Datasheet
ArduCAM Mini 5MP Plus OV5642 Datasheet
ArduCAM Shield V2 Hardware Application Note
ArduCAM Mini 5MP Plus Hardware Application Note
ArduCAM Software Application Note

New Book for ArduCAM CC3200 Uno DIY Wifi Security Spy Ghost Hunter Camera Starter Kit

Featured

The author Robert Chin wrote a book for Home Security System DIY PRO using Android and TI CC3200 SimpleLink using ArduCAM CC3200 UNO DIY WIFI Start Kit. If you want to build home security system by yourself, it is right for you to read about it. And now it is available on Amazon.

CoverAndroidCC3200

This book shows you how to build and modify your own wifi camera based commercial quality portable wireless security, surveillance, and spy system appropriate for use at home, or during travel. This system uses only an Android cell phone or tablet(operating system 2.2 and above), a TI CC3200 Launchpad or ArduCAM CC3200 UNO, and a TI Camera Booster Pack with MT9D111 digital camera or just an ArduCAM MT9D111 digital camera if you are using an ArduCAM CC3200 Uno which has a built in camera interface. This book shows you how to build and modify your own alarm system that detects the motion of an intruder, calls out to an emergency phone number and sends emergency text messages using an Android cell phone or just alerts you to the intruder using an Android tablet. This alarm system is compact enough to also provide portable security for travelers using hotels and motels or you can use this as a hidden spy camera system. You can also use the security system for high quality continuous real time surveillance of your property. The live video feed is shown on the Android device. The camera can be set to only record pictures where there is movement so you can easily view any saved images to determine what kind of intruder was detected. The image data is stored locally on the Android device and does NOT require payment of storage fees as with some home security company plans. This book will also go into the technical details of the hardware set up as well as the author created Android and TI CC3200 SimpleLink software. With these technical details you will be able to customize and expand these systems to suit your specific needs for your own personal use. This book also serves as a quick start guide for people interested in learning how to program wifi communication between an Android and a TI CC3200 Simplelink device.

Who is this book for?

This book for people that:

* Want a quick start guide to wifi communication between an Android device and a TI CC3200 Simplelink device using a camera.

* Travel often and need a low cost, no contract, portable security solution when living in motels and hotels.

* Want to secretly monitor a wife, husband, girlfriend, boyfriend, employee, co-worker and/or other people or even animals without their knowledge and have real time notifications sent to your cell phone.

Key Feature Summary:

* Shows you how to build and modify your own portable wifi camera based commercial quality wireless home or portable security, surveillance, and spy system with real time emergency notification phone call out and text message notifications to your main cell phone.

* The home security system presented in this book is easy to assemble and does not require the use of breadboards or soldering.

* Follow the detailed “Hands on Example” and install the pre-made software created by the author on your Android and TI CC3200 SimpleLink devices and get a working commercial quality video surveillance system, or an intruder alarm system up and running quickly

* This book explains the author created source code for the Android and TI CC3200 SimpleLink devices so you can customize the home security system yourself for your own specific needs for personal use.

Table of Contents:

Chapter 1: Introducing the ArduCAM CC3200 UNO

Chapter 2: TI CC3200 SimpleLink Programming Language Basics

Chapter 3: The Android Controller and Wifi Communication

Chapter 4: The CC3200 and Wifi Communication

Chapter 5: Motion Detection Using a Camera

Chapter 6: The Android Wireless Security System Design

Chapter 7: The CC3200 Simplelink Wireless Security System Design

Chapter 8: Hands on Example: Building an Android and ArduCAM CC3200 UNO Security System

Chapter 9: Deploying your GotchaCAM Wireless Intruder Alarm and Surveillance System

ArduCAM ESP8266 UNO board for Arduino Camera

Featured

Introduction

ArduCAM now released a ESP8266 based Arduino board for ArduCAM mini camera modules while keeping the same form of factors and pinout as the standard Arduino UNO R3 board. The high light this ESP8266 board is that it well mates with ArduCAM mini 2MP and 5MP camera modules, supports Lithium battery power supply and recharging and with build in SD card slot. It can be an ideal solution for home security and IoT camera applications.

Features

  • Build in ESP8266-12E Module
  • 11 digital input/output pins, IO ports are 3.3V tolerant
  • 1 analog input(3.2V max input)
  • ArduCAM Mini 2MP/5MP camera interface
  • Lithium battery recharging 3.7V/500mA max
  • Build in SD/TF card socket
  • 7-12V power jack input
  • Build in micro USB-Serial interface
  • Compatible with Arduino IDE

Pin Definition

Note that the SD/TF card CS pin is shared with UART TX signal, so the UART and the SD/TF can’t be used at the same time.

Getting Started ESP8266 with Arduino IDE

ArduCAM released a add-on package which allows installation of third-party platform packages using Boards Manager. Add the following URL to the Arduino IDE Preferences window. Then Open Boards Manager from Tools -> Board menu and install ArduCAM_ESP8266_UNO add-on package.

http://www.arducam.com/downloads/ESP8266_UNO/package_ArduCAM_index.json

There are 3 examples for both 2MP and 5MP ArduCAM mini camera modules.

  • ArduCAM_Mini_OV2640_Capture (or ArduCAM_Mini_OV5642_Capture)

This example uses HTTP protocol to capture still or video over home wifi network from ArduCAM mini 2MP/5MP and display on the web browser.

  • ArduCAM_Mini_OV2640_Capture2SD (or ArduCAM_Mini_ OV5642_Capture2SD)

This example takes time elapse still photos using ArduCAM mini 2MP/5MP and then stored on the TF/SD card. The LED indicates when the TF/SD card is writing.

  • ArduCAM_Mini_OV2640_Video2SD (or ArduCAM_Mini_OV5642_Video2SD)

This example takes motion JPEG video clips using ArduCAM mini 2MP/5MP and then stored on the TF/SD card as AVI format.

For more information, please read the user guide here.

New Book “Home Security Systems DIY” using ArduCAM Mini Camera Module

Featured

The author Robert Chin wrote a book for Home Security Systems DIY using Android and Arduino using ArduCAM Mini camera module Arduino and Android. For Arduino and its camera fans, it is right for you to read about it. And now it is available on Amazon.
Book Cover

Introduction

This book shows you how to build your own wireless home security system using an Android cell phone or tablet, an Arduino microcontroller, an infrared motion detector, a Bluetooth adapter, and an optional ArduCAM Mini digital camera. All these items are low cost off the shelf parts that are widely available for purchase. This book shows you how to build your own home intruder alarm system that allows you to detect the motion of an intruder and then call out to an emergency phone number using an Android cell phone or just alert you to the intruder with an Android tablet. In addition, an ArduCAM Mini digital camera can be added so that pictures of the intruder can be taken when the motion detector is tripped. You can also use the book’s ArduCAM Mini camera based security system for continuous surveillance of your property. The image data is stored locally on the Android device and does NOT require payment of storage fees as with some home security company plans. This book will also go into the technical details of the hardware set up as well as the author created Android and Arduino software. With these technical details you will be able to customize and expand these systems to suit your specific needs.

Who is this book for?

1. This book is designed for everyone from people with no technical experience to experienced Do It Yourselfers such as those experienced in home improvements as well as programmers and engineers who want to customize and expand on the basic home security systems presented.

Key Feature Summary:

* Shows you how to build your own wireless home security and surveillance system and stop paying monthly fees to home security companies.

* Shows you how to build your own wireless home security and surveillance system and stop worrying about being spied on by commercial security companies.

* Expands upon the trend of “Do It Yourself” or “DIY” wireless home security systems such as the best selling self installable SimpliSafe wireless home security system

* Follow the detailed “Hands on Examples” and install the pre-made software created by the author on your Android and Arduino devices and get a working video surveillance system, or an intruder alarm system up and running within 15 minutes.

* Shows you how to build your own wireless home security system that can detect intruders and make an emergency cell phone call to notify you of the intrusion.

* Explains the author created source code for the Android and Arduino so you can customize the home security systems yourself.

Table of Contents:

Chapter 1: Introducing the Arduino
Chapter 2: Arduino Programming Language Basics
Chapter 3: The Android Controller and Bluetooth Communication with Arduino
Chapter 4: Simple Wireless Intruder Alarm System with Motion Detector
Chapter 5: Hands on Example: Creating a Simple Intruder Alarm System
Chapter 6: ArduCAM Mini Wireless Intruder Alarm/Video Surveillance System
Chapter 7: Hands on Example: Building an ArduCAM Intruder Alarm / Surveillance System
Chapter 8: Deploying your Wireless Intruder Alarm and Surveillance System

ArduCAM CC3200 UNO Board for Energia

Featured

Introduction

ArduCAM team now announces to release a new CC3200 UNO board which is full featured development board almost like a combination of CC3200 Launchpad plus CC3200CAMBOOST pack from TI while keeping exactly the same size as Arduino UNO and pin out.

It is based on TI simplelink series CC3200 chip, which gives you an ARM Cortex M4 processor with a built-in WiFi stack and radio. It supports things like web servers and SSL out of the box. It can be mated with existing thousand kinds of Arduino shields without effort. It makes writing firmware for these devices easier, since a lot of the work is already done. The collection of libraries aids in getting prototypes running quickly. You can even debug Energia sketches using TI’s fully featured IDE.

In addition to standard Arduino pin out and Arduino development environment, it also has additional ArduCAM standard camera interface, user can use TI Code Composer Studio (CCS) to develop and debug camera based application.

ArduCAM CC3200 UNO has build in SWD and JTAG debug circuit, you do not need additional debugger tools to do the debugging. It supports TI CCS and Uniflash seamlessly. If you’re looking to connect things to the internet, with the goal of building some sort of “Internet of Things,” this new ArduCAM CC3200 UNO board is your right option.

Feature

  • TI CC3200 ARM Cortex M4 Processor with WIFI support
  • Arduino UNO Size and Pin Out
  • Support ArduCAM Standard Camera Interface and MT9D111 Camera Module
  • Onboard JTAG/SWD Debugger
  • Support Energia and Code Composer Studio Development Environment

Applications Microcontroller Subsystem:

  • ARM Cortex-M4 Core at 80 MHz
  • 256KB RAM, 1MB serial flash memory with file system for user
  • Hardware Crypto Engine for Advanced Fast Security, Including AES, DES, 3DES, SHA2 MD5, CRC and Checksum
  • Up to 27 individually programmable, multiplexed GPIO pins, including a fast parallel camera interface, I2S, SD/MMC, UART, SPI, I2C, and four-channel ADC.

Wi-Fi Network Processor Subsystem:

  • Dedicated ARM MCU, completely offloads Wi-Fi and Internet Protocols from the Application Microcontroller
  • 11 b/g/n Radio
  • WPA2 Personal and Enterprise Security
  • Station, Access Point, and Wi-Fi Direct Modes
  • Powerful Crypto Engine for Fast, Secure Wi-Fi and Internet Connections with 256-Bit AES Encryption for TLS and SSL connections
  • SmartConfig Technology, AP Mode and WPS2 for easy and flexible Wi-Fi provisioning
  • The power-management subsystem includes integrated DC-DC converters supporting a wide range of supply voltages. This subsystem enables low-power consumption modes, such as the hibernate with RTC mode requiring less than 7 μA of current
  • Easy to use SDK with full APIs with lots of examples for Energia, GCC,IAR System and Ti Code Composer Studio (CCS)

Pin Out Diagram

ArduCAM_CC3200_UNO_Pinout

User Guide

ArduCAM_CC3200_UNO_User_Guide

ArduCAM Mini Released

Featured


ArduCAM Mini is optimized version of ArduCAM shield Rev.C, and is a high definition SPI camera, which reduce the complexity of the camera control interface. It integrates 2MP or 5MP CMOS image sensor OV2640/OV5642, and provides miniature size, as well as the easy to use hardware interface and open source code library. The ArduCAM mini can be used in any platforms like Arduino, Raspberry Pi, Maple, Chipkit, Beaglebone black, as long as they have SPI and I2C interface and can be well mated with standard Arduino boards. ArduCAM mini not only offers the capability to add a camera interface which doesn’t have in some low cost microcontrollers, but also provides the capability to add multiple cameras to a single microcontroller.

Features

  • 2MP or 5MP image sensor OV2640 / OV5642
  • M12 mount or CS mount lens holder with changeable lens options
  • IR sensitive with proper lens combination
  • I2C interface for the sensor configuration
  • SPI interface for camera commands and data stream
  • All IO ports are 5V/3.3V tolerant
  • Support JPEG compression mode, single and multiple shoot mode, one time capture multiple read operation, burst read operation, low power mode and etc.
  • 3~10fps video output at low resolution
  • Well mated with standard Arduino boards
  • Provide open source code library for Arduino, STM32, Chipkit, Raspberry Pi, BeagleBone Black
  • Small form of factor

Key Specification

Key Specification 2MP 5MP
Image Sensor OV2640 OV5642
Active array size 1600×1200 2592×1944
Shutter rolling shutter rolling shutter
Lens 1/4 inch 1/4 inch
SPI speed 8MHz 8MHz
Frame buffer Size 384KB 512KB
Board Size 34 x 24 mm 34 x 24 mm
Weight 20g 25g
Temperature -10℃~+55℃ -10℃~+55℃
Power Consumption Normal :5V/70mALow power mode: 5V/20mA Normal :5V/390mALow power mode: 5V/20mA

Pin Definition

Table 1 ArduCAM Mini Pin Definition

Pin No. PIN NAME TYPE DESCRIPTION
1 CS Input SPI slave chip select input
2 MOSI Input SPI master output slave input
3 MISO Output SPI master input slave output
4 SCLK Input SPI serial clock
5 GND Ground Power ground
6 +5V POWER 5V Power supply
7 SDA Bi-directional Two-Wire Serial Interface Data I/O
8 SCL Input Two-Wire Serial Interface Clock

Block Diagram

Figure 2 shows the block diagram of ArduCAM mini shield which is composed by lens, image sensor and an ArduChip. The lens is changeable and can be mounted by S-mount (M12x0.5) or CS-mount lens holder. The ArduChip uses ArduCAM proprietary third generation camera controller technology which handles the complex camera, memory and user interface hardware timing and provides a user friendly SPI interface.

ArduCAM_mini-6

 

 

 

 

 

Functions

  • Single Capture Mode

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. User only needs to poll the flag bit from the register to check out if the capture is done.

  • Multiple Capture Mode

Multiple capture mode is 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 number of frames should be set properly and make sure do not exceed the maximum memory space.

  • JPEG Compression

The JPEG compression function is implemented in the image sensor. With proper register settings to the sensor, user can get different resolution with JPEG image stream output. It is recommended to use JPEG output to get higher resolution than RGB mode, due to the limitation of frame buffer.

  • Normal Read and Burst Read Operation

Normal read operation reads each image data by sending a read command in one SPI read operation cycle. While burst read operation only need 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.

  • Rewind Read Operation

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, user can read the same image data from the start point again.

  • Low Power Mode

Some battery power device need save power when in the idle status, the ArduCAM offers the low power mode to reduce power consumption, by shutdown the sensor and memory circuits.

  • Image Sensor Control

Image sensor control function is implemented in the image sensor. By setting proper set of register settings, user can control the exposure, white balance, brightness, contrast, color saturation and etc.

Use Guide and Reference Manual

ArduCAM_Mini_2MP_Camera_Shield_DS

ArduCAM_Mini_2MP_Camera_Shield_Hardware_Application_Note

ArduCAM_Mini_5MP_Camera_Shield_DS

ArduCAM_Mini_5MP_Camera_Shield_Hardware_Application_Note

ArduCAM_Camera_Shield_Software_Application_Note

Video Demonstration

RGB565 Format and Issues

The image sensors supports kinds of output formats like Raw RGB Bayer, YUV, JPEG, RGB565, RGB555, RGB444 and etc. In preview mode RGB output is preferred and it can be changed to other format when capture mode. In ArduCAM shield the LCD screen only support RGB565 data format, so when we do preview on the screen, we have to configure the sensors to RGB565 output format. Then the ArduCAM shield will display the image directly from the sensor to LCD screen without intervention of the Arduino board.

In this case the pixel data from the image sensors is ordered as RGB565 format, which means one pixel is composed by two consecutive bytes, the first byte is R[4:0]G[5:3] and the second byte is G[2:0]B[4:0]. The following picture show the RGB565 output timing and data ordering.

RGB565_timing

If the two bytes are disordered when saving to file, the color will be wrong. The same shoot but with different byte order the saved image will be different.

normal_image

 

 

 

disorder_image

 

 

 

 

 

 

 

 

 

Sometimes we don’t know the order of the consecutive bytes at the beginning of the horizon signal HREF(Line_valid). To work around this issue ArduCAM example sketches try to read the first dummy byte from the FIFO to adjust the byte order before saving to a file.

  //Write the BMP header
  for( i = 0; i < BMPIMAGEOFFSET; i++)
  {
    char ch = pgm_read_byte(&bmp_header[i]);
    buf[k++] = ch;
  }
  outFile.write(buf,k);
  //Read first dummy byte
  //myCAM.read_fifo();

  k = 0;
  //Read 320x240x2 byte from FIFO
  //Save as RGB565 bmp format
  for(i = 0; i < 240; i++)
    for(j = 0; j < 320; j++)
  {
      VH = myCAM.read_fifo();
      VL = myCAM.read_fifo();
      buf[k++] = VL;
      buf[k++] = VH;
      //Write image data to bufer if not full
      if(k >= 256)
      {
        //Write 256 bytes image data to file from buffer
        outFile.write(buf,256);
        k = 0;
      }
  }

 

How to use ArduCAM with Arduino DUE board

User frequently reported that the ArduCAM shield doesn’t work with DUE board, and it is now a known issue.

We figured out that in the Due board the default SD library speed is much faster than ArduCAM shield. The current ArduCAM shield SPI timing only supports less than 10Mbps.  So if you want to work ArduCAM and DUE board together, the SPI should be configured with the lower speed.

To work around this issue, you have to modify the SD library below.
1. Please add the last line to \libraries\SD\utility\Sd2Card.h like follows.
/** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */
uint8_t const SPI_FULL_SPEED = 0;
/** Set SCK rate to F_CPU/4. See Sd2Card::setSckRate(). */
uint8_t const SPI_HALF_SPEED = 1;
/** Set SCK rate to F_CPU/8. Sd2Card::setSckRate(). */
uint8_t const SPI_QUARTER_SPEED = 2;
uint8_t const SPI_ARDUCAM_SPEED = 3;

 

2. Please change the SDClass::begin() function in the \libraries\SD\SD.cpp file like follows:
boolean SDClass::begin(uint8_t csPin) {
/*
 
Performs the initialisation required by the sdfatlib library.
 
Return true if initialization succeeds, false otherwise.
 
*/
//return card.init( SPI_FULL_SPEED, csPin) &&
//return card.init(SPI_HALF_SPEED, csPin) &&
//return card.init(SPI_QUARTER_SPEED, csPin) &&
return card.init(SPI_ARDUCAM_SPEED, csPin) &&
volume.init(card) &&
root.openRoot(volume);
}

 

Hardware

This section describe the ArduCAM shield Rev.C hardware feature and user guide. For information about Rev.B, please refer here.

Introduction

ArduCAM shield hardware integrates all the necessary components to interface with camera modules. User only need a extra support camera modules and a TF/SD card to start image capture.

The shield provide the following features:

  • Dedicate DigtalVideoPort Camera Module Interface
  • Standard SPI slave bus interface
  • 3.2” TFT Color LCD Screen(a)
  • Build-in 3Mbit FIFO Memory
  • TF/SD Card Reader with LED indicator
  • Use Arduino SPI / I2C dedicate pin out
  • Well mated with UNO/MEGA2560/DUE/Leonardo boards

Note: (a) Model ArduCAM-F doesn’t not include a 3.2” LCD screen

ArduCAM Shield Pin Out

ArduCAM shield includes to sets of pin out see Figure 1,  they are identical in function. One is Arduino standard, it can be well mate with standard Arduino boards like UNO, MEGA2560, Leonardo and DUE etc. The other one is alternative port which can be connect to any platform like Raspberry Pi. The detail pin out for each see Table 1 and Table 2.

Figure 1 ArduCAM pin out

ArduCAM_Pinout

 

 

 

 

 

 

Continue reading “Hardware” »

Software

Where to find the source code

ArduCAM shield latest library and examples can be downloaded from download section. Please download the correct library for the the different shield version. For the Rev.B please use the V2.x.x or below, for the Rev.C please use the V3.0.0 or above.

What are the libraries

The library package contains two independent libraries: ArduCAM library and UTFT4ArduCAM_SPI. The ArduCAM library includes all the functionality to access the camera and the shield. The UTFT4ArduCAM_SPI is derived from the UTFT library from Henningkarlsen , we ported the library with SPI interface and remove the code which is not used in ArduCAM shield for the memory saving.

How to install the libraries

Use Arduino 1.5.2 IDE for example, unzip the downloaded library package to the folder X:\arduino-1.5.2\libraries, X is the disk driver that your Arduino IDE resides. When the libraries are correctly installed, open the menu File->Examples->ArduCAM you can see a lot of examples like the Figure1 shown.

Figure1

ArduCAM_examples

 

 

 

 

 

 

What can the examples do

All the examples can be run in the ArduCAM-LF or ArduCAM-F boards, no matter the LCD exist. But we highly recommend to disable or remove the LCD functions for memory saving.

  • ArduCAM_SPI_BUS_TEST

This example does the bus testing by write the test register and read it back to check it out if the SPI bus communication has errors. If you face problems with ArduCAM shield, you have to upload this example to check out if hardware has any problems.

  •  UTFT_Demo_320x240

This example does the demonstration of graphic functions from UTFT library. User can upload this example to check out if the LCD has any problems and how to use graphic functions to draw lines, circles and text.

  • ArduCAM_xxxx_LCD_CAM_SD_BMP

This example demonstrates how to use most functions from the ArduCAM library. It configures the camera module to output RGB565 QVGA format. Then display the image on the LCD screen in realtime. If user press the snapshot button, ArduCAM saves the image into SD/TF card with a 320×240 RGB565 bmp file.

  •  ArduCAM_xxxx_FIFO_SD_JPEG

This example demonstrates how to capture high resolution JPEG image from the camera module which support JPEG output. The demo configures the camera module to output JPEG format. In JPEG mode LCD doesn’t support realtime playback. And after user trigger the snapshot button, ArduCAM saves the image into SD/TF card with jpg file.

  •  ArduCAM_SPI_xxxx_FIFO_UART

This example demonstrates how to transfer the image back to host computer via Arduino board USB port or serial port. It is useful when user wants to transfer the image wirelessly by bluetooth, Zigbee, Xbee or GPRS/3G.

  • ArduCAM_xxxx_FIFO_SD_JPEG_LP

This example demonstrate how to use low power mode in the ArduCAM shield. When shield in idle mode, it shut down the LCD backlight and disable FIFO circuit. And running in full power after the snapshot button is triggered then getting back to low power mode after image captured.