Error messages for Serial jpeg camera sample code

I get the following errors when I compile the sample code that came with my camera. Was wondering if anyone could diagnose this for me? Thanks in advance.

The errors:

Snapshot:67: error: ‘Adafruit_VC0706’ does not name a type
Snapshot.pde: In function ‘void setup()’:
Snapshot:97: error: ‘cam’ was not declared in this scope
Snapshot:104: error: ‘cam’ was not declared in this scope
Snapshot:116: error: ‘VC0706_640x480’ was not declared in this scope
Snapshot:124: error: ‘VC0706_320x240’ was not declared in this scope
Snapshot:125: error: ‘VC0706_160x120’ was not declared in this scope

The code:

#include <Adafruit_VC0706.h>
#include <SD.h>

// comment out this line if using Arduino V23 or earlier
#include <SoftwareSerial.h>

// uncomment this line if using Arduino V23 or earlier
// #include <NewSoftSerial.h>

// SD card chip select line varies among boards/shields:
// Adafruit SD shields and modules: pin 10
// Arduino Ethernet shield: pin 4
// Sparkfun SD shield: pin 8
// Arduino Mega w/hardware SPI: pin 53
// Teensy 2.0: pin 0
// Teensy++ 2.0: pin 20
#define chipSelect 10

//SoftwareSerial cameraconnection = SoftwareSerial(69, 3);
NewSoftSerial cameraconnection = NewSoftSerial(2, 3);

Adafruit_VC0706 cam = Adafruit_VC0706(&cameraconnection);

// Using hardware serial on Mega: camera TX conn. to RX1,
// camera RX to TX1, no SoftwareSerial object is required:
//Adafruit_VC0706 cam = Adafruit_VC0706(&Serial1);

void setup() {

// When using hardware SPI, the SS pin MUST be set to an
// output (even if not connected or used). If left as a
// floating input w/SPI on, this can cause lockuppage.
#if !defined(SOFTWARE_SPI)
#if defined(AVR_ATmega1280) || defined(AVR_ATmega2560)
if(chipSelect != 53) pinMode(53, OUTPUT); // SS on Mega
if(chipSelect != 10) pinMode(10, OUTPUT); // SS on Uno, etc.

Serial.println(“VC0706 Camera snapshot test”);

// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println(“Card failed, or not present”);
// don’t do anything more:

// Try to locate the camera
if (cam.begin()) {
Serial.println(“Camera Found:”);
} else {
Serial.println(“No camera found?”);
// Print out the camera version information (optional)
char *reply = cam.getVersion();
if (reply == 0) {
Serial.print(“Failed to get version”);
} else {

// Set the picture size - you can choose one of 640x480, 320x240 or 160x120
// Remember that bigger pictures take longer to transmit!

cam.setImageSize(VC0706_640x480); // biggest
//cam.setImageSize(VC0706_320x240); // medium
//cam.setImageSize(VC0706_160x120); // small

// You can read the size back from the camera (optional, but maybe useful?)
uint8_t imgsize = cam.getImageSize();
Serial.print("Image size: ");
if (imgsize == VC0706_640x480) Serial.println(“640x480”);
if (imgsize == VC0706_320x240) Serial.println(“320x240”);
if (imgsize == VC0706_160x120) Serial.println(“160x120”);

Serial.println(“Snap in 3 secs…”);

if (! cam.takePicture())
Serial.println(“Failed to snap!”);
Serial.println(“Picture taken!”);

// Create an image with the name IMAGExx.JPG
char filename[13];
strcpy(filename, “IMAGE00.JPG”);
for (int i = 0; i < 100; i++) {
filename[5] = ‘0’ + i/10;
filename[6] = ‘0’ + i%10;
// create if does not exist, do not open existing, write, sync after write
if (! SD.exists(filename)) {

// Open the file for writing
File imgFile =, FILE_WRITE);

// Get the size of the image (frame) taken
uint16_t jpglen = cam.frameLength();
Serial.print(“Storing “);
Serial.print(jpglen, DEC);
Serial.print(” byte image.”);

int32_t time = millis();
pinMode(8, OUTPUT);
// Read all the data up to # bytes!
byte wCount = 0; // For counting # of writes
while (jpglen > 0) {
// read 32 bytes at a time;
uint8_t *buffer;
uint8_t bytesToRead = min(32, jpglen); // change 32 to 64 for a speedup but may not work with all setups!
buffer = cam.readPicture(bytesToRead);
imgFile.write(buffer, bytesToRead);
if(++wCount >= 64) { // Every 2K, give a little feedback so it doesn’t appear locked up
wCount = 0;
//Serial.print(“Read “); Serial.print(bytesToRead, DEC); Serial.println(” bytes”);
jpglen -= bytesToRead;

time = millis() - time;
Serial.print(time); Serial.println(" ms elapsed");

void loop() {

You should put your code between code tags (use the # icon), not in a quote.

//SoftwareSerial cameraconnection = SoftwareSerial(69, 3);

This #else does not have a preceding #ifdef which it must have.


Looks to me like you didn't download the library, install it in the right place, or restart the IDE afterwards.