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


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


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

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

ArduCAM CC3200 UNO Board for Energia



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.


  • 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


User Guide


Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

Arduino Panorama Photography with ArduCAM


Panoramic photograph is a technique of photography, using specialized equipment or software, that captures images with elongated fields of view. It is sometimes known as wide format photography. In order to create panorama photos, you have to take several photos from different view point and stitching them afterwards. There are basically two ways to get these photos, one is to use one camera and shooting from different position, the other is to use multiple cameras and shooting at the same time. The later has better stitching result than the former and requires less photography experience, but more complex hardware equipment.

With the hardware nature of ArduCAM shields especially the ArduCAM-mini and Multi-Adapter board for Raspberry, you can connect multiple cameras to a single Arduino or Raspberry Pi board, even shoot the cameras at the same time. In this demonstration we will use 4 ArduCAM mini 5MP with its adapter board and an Arduino UNO R3 board to create your own panoramas or virtual tours.










In order to get the maxim field of view, we need to mount fisheye lens into the ArduCAM. The lens parameters like optical format, focal length, FOV is very important for stitching software, you can get these information from your lens suppliers. Here is the lens LS-30180 fisheye specification used in this demo, maybe we can use much better fisheye lens to get better photos.








By connecting 4 ArduCAM mini 5MP with the adapter board and the Arduino board, also inserting a microSD/TF into the bottom side of the adapter board card.










Now you can download ready to use Arduino example sketch for multi-camera setups. The example ArduCAM_Mini_5MP_4Cams_TimeElapse2SD_LowPower.ino will start to initialize 4 cameras and the SD card first, and then take 4 photos at every 5 seconds automatically.

Export the captured photo into your computer, select the photo sets you would like to stitch with KRPano, Pano2VR, Kolor Panotour & Panotour Pro, Flash Panorama Player & Flashificator, PTGui, Saladoplayer & similar apps and post them to panoramas hosted on sites,,,, etc.


Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

ArduCAM now Supports ESP8266 Arduino Board with WIFI Websocket Camera Demo


It is good news to hear that the Arduino IDE support was announced on the ESP8266 community forum, the source code can be found from . It is more than another Arduino board, but can be thought as a Arduino combined with a WIFI shield. With faster CPU speed and much smaller form of factor, most important the less than $10USD price is more attractive, you are worth to try although there are also some limitations. Setup is fairly simple with downloads for Linux, OS X, and Windows. More detail setup can be found from adafruit guide.

Now ArduCAM ports our camera libraries for ESP8266, you can use the ESP8266 module with ArduCAM modules to take high quality high resolution photos and save to SD card, or even to publish the photos to webpage. In this tutorial we will use ESP8266 arduino board to take photos and publish to webpage.

Websocket Background

In order to transfer a photo to webpage, I have to briefly introduce the technology of websocket first. WebSocket is a protocol providing full-duplex communication channels over a single TCP connection. It is designed to be implemented in web browsers and web servers, so it can be used by any client and any platform like PCs, laptops, pads and smart phones. The standard HTTP protocol which is C/S based architecture, a client send a request to a server, the server send the information requested back to the client and close connection immediately. Unlike the standard HTTP protocol, the websocket protocol only use HTTP protocol for handshake stage, and keep the connection open afterward. It allows bi-directional conversation between a browser and the server. Detail websocket description can be found from wiki.

In this demo, we create a websocket server on the ESP8266 arduino borad. It connects to a user defined WIFI router by DHCP, then you can connect to this server via your web browser.

Demo Prerequisite

To complete this demo you need two items:

Hardware connection

The connection between the ESP8266 board and ArduCAM mini is shown as the following picture and table.









Arduino Sketches and library

Before running the demo sketch, you need to copy three libraries ArduCAM, UTFT4ArduCAM_SPI and ESP8266-Websocket to the Arduino libraries folder.

Open the demo sketch ArduCAM_Mini_OV2640_websocket_server.ino, change the following line according to your own wifi AP router, then upload.

const char* ssid = "your_ssid";
const char* password = "your_passpwd";

ESP8266_sketch ESP8266_upload















The assigned IP address can be determined via serial monitor message.















Provide you now have the IP address for websocket server, and open the camera_demo.html located in your Arduino\arduino-1.6.5-r5\libraries\ArduCAM\examples\ESP8266\ArduCAM_Mini_OV2640_websocket_server\html folder from your web browser. Change the websocket IP address get from the serial monitor marked in red box in the picture.

ESP8266_webpageClick the “Connect” button, you will see the websocket connection request from the serial monitor. After few seconds, the webpage will notify the successful connection established.


After that you can click the send button to send a websocket message to ESP8266. It will trigger the capture command on the ESP8266 arduino side, and it will send back the captured image and display on the webpage.


Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

ArduCAM Rev.C+ Shield Released



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 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 Rev.C+ is the latest revision of ArduCAM shields, it offers the improved performance and enhanced functions than the previous revisions. It can capture maxim 5MP JPEG images, which makes it to 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. User 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
  • Build 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
  • 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
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

Continue reading “ArduCAM Rev.C+ Shield Released” »

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

ArduCAM CC3200 WIFI Camera


ArduCAM WIFI camera board is open source WIFI camera develop board which is based on Texas Instruments CC3200 SimpleLink WIFI IoT solution and Aptina MT9D111 camera module. It offers the high quality live video streaming functions as well as keep the small size and low power consumption.

TI makes connectivity even easier with the next-generation SimpleLink Wi-Fi solutions. The product family features Internet-on-a-chip™, Wi-Fi CERTIFIED™ solutions solving industry challenges for broad embedded applications. With SimpleLink CC3200 solutions you can:

  • Program applications on the industry’s first Internet-on-a-chip solution with user dedicated MCU
  • Power Wi-Fi battery-operated designs for more than a year on two AA batteries
  • Start quickly, no Wi-Fi experience needed

Both CC3200 solutions are supported by a software development kit (SDK) including software drivers, sample applications, API guide, user documentation and a world-class support E2E™ community. On the integrated Cortex-M4, all sample applications in the SDK are supported with Code Composer Studio™ Integrated Development Environment and no RTOS. A few of the applications support IAR, GCC, Free RTOS, TI-RTOS. And ArduCAM team provides a complete solution on WIFI video transmission.










ArduCAM WIFI Camera Data Sheet can be downloaded from: ArduCAM_WIFI_Camera_Datasheet

Source Code can be found from:

More design resources:


Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

Multi Camera Adapter Module for Raspberry Pi



Raspberry Pi multi camera adapter module is designed for connecting more than one camera to a single CSI camera port on Raspberry Pi board. One adapter board can connect 4 cameras and user can stack up maxim 4 adapter boards that means up to 16 cameras on a single Raspberry Pi board. Continue reading “Multi Camera Adapter Module for Raspberry Pi” »

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

ArduCAM Mini Released


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.


  • 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

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.








  • 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






Video Demonstration

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

ArduCAM Now Support Rasbperry Beaglebone Black STM32 and More


ArduCAM team now are working on different famous open hardware platform, and successfully port the ArduCAM library to Raspberry Pi, Beaglebone Black and STM32 boards. Also we moved our library to github for better maintenance.

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

New Low Cost OV5647 Mini Camera Module for Raspberry Pi Now Available


  • Introduction

In order to meet the increasing need of Raspberry Pi compatible camera modules. The ArduCAM team now released ultra low cost add-on mini camera module for Raspberry Pi series boards which is fully compatible with official one. Continue reading “New Low Cost OV5647 Mini Camera Module for Raspberry Pi Now Available” »

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter