To use the Comm Tool, a windows utility, we need to set up a serial link to the camera. There's two ways we suggest doing this. One is to use something like an FTDI friend or other USB/TTL serial converter. If you have an Arduino you can 'hijack' the serial chip (FTDI chip or similar) by uploading a blank sketch to the Arduino:
// empty sketch
void setup()  
void loop()
Note: 'Hijacking' the serial port only works on Arduinos with a separate USB interface, like the Uno. It won't work on a Leonardo!
If you're using a Leonardo, Micro, Yun, or other ATmega32U4-based controller, use this Leo_passthru sketch instead of the "blank" sketch.
// Allows Leonardo to pass serial data between 
// fingerprint reader and Windows.
// Red connects to +5V
// Black connects to Ground
// Green goes to Digital 0
// White goes to Digital 1

void setup() {

void loop() 
  while (Serial.available())
  while (Serial1.available())
Now, wire it up as follows:
For the weatherproof camera, the white and green wires are swapped on some cameras! So please flip the white and green wires indicated if using the metal camera. Red should still be connected to +5 and Black to Ground
Note the 10K resistor divider, the camera's serial data pins are 3.3v logic and its a good idea to divide the 5V down so that its 2.5V. Normally the ouput from the digital 0 pin is 5V high, the way we connected the resistors is so the camera input (white wire) never goes above 3.3V

Now download and install the VC0706 CommTool software (see below in the Download section)

Start up the software and select the COM port that the Arduino is on.
Then Open the port and click Get Version
Note it says VC0703 - we don't know precisely why the DSP is programmed with a different number - its one of those mysteries! Still, you should get a response

 The next button you should press is near the bottom FBUF CTRL.
This is quite a panel, but we can use this to get images directly from the camera which is good for debugging.
  • Point the camera at something you want to take a photo of
  • Click Stop FBuf to freeze the frame buffer
  • Click Sel File to select the file to save the JPG as
Next press Read (next to Sel File) to read the jpeg image off the camera
Thats it! You can now easily test reading camera images. To take another photo. Press Resume up at the top to have the video start up again. Then click Stop CFbuf when you want to snap another photo. Finally you can select the Compression Ratio which will improve or degrade the image quality but also change the image transfer time. There's no way to change the image size from this program (easily) but we can do it using the Arduino sketch so just try it out here to start.

You might notice there's a dropdown for changing the baud rate. By default the baudrate is 38400 baud.

Despite the software letting you change the baud rate this is a very flaky setting and even if it works, when you power up the camera again it will reset. Some experimenters have accidentally disabled their cameras by trying to change the baud rate. We do not suggest you mess with the baud rate settings. If you do, you may permanently disable your camera and we will not replace it!

The only other thing we suggest checking out is the Image Property button, which will let you adjust settings for the camera, we bumped up our saturation a bit to get better images. Dragging the sliders will make the video output change immediately so this is a handy place to get a TV connected up so you can check out how it works
There are many options for this software, here's what we think of the other buttons. Personally, we don't suggest going in to any of them unless you really need to.
  • Config - see above
  • Get Version - see above
  • R/W Data - this is for writing raw data to the DSP chip processor. Don't do this unless you're sure you know what you're doing since it will mess with the camera's ability. Even we don't know what it would be good for
  • Color Ctrl - this is for selecting Color or Black&White or Auto select (probably based on lighting conditions). You probably want to keep it at Auto
  • Mirror Ctrl - we think this is so you can flip the display (if its bouncing off a mirror)
  • Power Ctrl - this is for testing the power down mode, and it seems like you might be able to have it auto-power down when there's no motion.
  • Timer Ctrl - there is an RTC built into the DSP which you can set, however there's no battery backup so if power is lost the RTC will be reset so we don't think its terribly useful
  • AE Ctrl - this is for controlling the auto-contrast/brightness. By default its set to auto-select for indoor or outdoor use. Probably best to leave it as is
  • Motion Ctrl - this is for the motion detection system. You can tweak the settings and also test it. We have an Arduino sketch for interacting with the motion detection system. By default it works pretty good but you can super tweak it out if you want to.
  • OSD Config - The protocol sheet and this seem to imply you can do on-screen-display but after much time spent on it, we determined its not activated somewhere in the DSP. We've never seen a VC0706 camera that could do it. :(
  • Image property - see above
  • Gamma - this is for more precise gamma control of the CMOS sensor. It seems to be preset to be OK but you can mess with this if you'd like
  • SPI Flash - for reading/writing to the SPI storage? Not sure if its a good idea to mess with this
  • Other Ctrl - for playing with the DAC? No idea what this is for.
  • Up/Down Load - this is for reading and writing to the flash probably to upload new DSP code. We dont suggest messing with this
  • System Reset - does a reset of the module. Press this if its not responding
  • FBuff Ctrl - see above
  • Zoom Ctrl - The module has built in 'Pan Tilt Zoom' ability BUT its for video only and wont affect photos snapped. You can play with the PTZ here, its pretty basic but could be useful for someone

This guide was first published on Jul 29, 2012. It was last updated on May 24, 2024.

This page (Using CommTool) was last updated on Jun 12, 2012.

Text editor powered by tinymce.