My Requests

Drivers Manual

DSLR Camera - WIA Compatible - 32


This driver with user-interface can be used to:

  1. Control one or more digital single-lens reflex (DSLR) cameras.
  2. Capture images automatically.
  3. Update on-the-fly the captured images with exact GPS co-ordinates and time.

These captured and geo-tagged images (jpg format) can be viewed using a Navigation Display or inside the Processing Manager.

A digital camera is mounted on a vehicle (e.g. a car) and is interfaced to Qinsy, together with GPS, a heading sensor and perhaps a motion sensor. The Controller may generate e.g. a fix every 100 meters, triggering the camera to capture an image. 
All images are automatically stored in a user-defined folder on the Qinsy computer, updated with the exact location at time of capturing. The image filename may also contain user-defined name specifiers, like project name, line-name, position co-ordinates, sequence number, etc., in order to make further processing and archiving easy.


  • Camera type independent (Nikon, Sony, Pentax, etc.)
  • Support for multiple connected digital cameras
  • Each connected camera is controlled individually
  • All images updated with exact GPS co-ordinates and UTC time
  • Automatic creation of Camera Trajectory Log file (qct)

Driver Information


DSLR Camera - WIA Compatible

Interface Type USB

Driver class type


UTC Driver (question)


Input / Output Input and Output



Related Systems
Related Pages

Interfacing Notes

This driver controls one or more digital cameras, connected to your computer via USB, using the so-called Windows Image Acquisition interface.

This means that the driver is camera type independent, as long as your camera supports Windows WIA and has capture command capabilities.
In general, if you can see your camera in the Windows Explorer when connected using USB, it almost certainly means that it is WIA compliant. Whether your camera also supports capture commands depends on the camera type. Most (expensive) DSLR cameras will have this capability.

Multiple cameras are supported simultaneously, so you only have to define one driver in your template setup. If you connect two or even three digital cameras to your computer, they all will be recognized automatically, and can be controlled individually.

CANON cameras

We regret to inform you that the CANON SLR cameras are not seen as WIA devices but as PTP (Picture Transfer Protocol) or MTP (Media Transfer Protocol) devices and therefore do not support remote control commands over WIA.  We apologize for not supporting CANON cameras.

Supported cameras

A list of tested cameras can be found in our FAQ on the QPS web site.

Database Setup

Add an AIS System and select driver "DSLR Camera - WIA Compatible" from the list. No other interfacing settings are required.

Although this driver is handled internally as an AIS system, no extra data is stored in the database during recording. All on-line acquired images are stored as *.jpg files in a separate folder.


Add only one instance of this driver, even when multiple cameras are connected. All cameras will be controlled by the one driver.

Qinsy Online

The driver has user-interface and therefore will always be present in the Windows task-bar.

When going on-line for the first time, locate the driver, and check that your connected camera is recognized.

The driver has an upper, middle and a lower pane. These panes are re-sizable.

The upper pane shows a list with all connected cameras and their status.

The middle pane shows all kinds of Controller information (like recording status, steered node updates, current mainline, etc.)

The bottom pane shows a tab page for each connected camera, and a tab page with possible info, debug and error messages.

Connect or disconnect your camera anytime to or from the PC, you don't have to be specifically on- or offline. The driver will automatically detect the connection status of the camera. Please monitor the status information in the Message tab page of the bottom pane, while connecting your camera.

Notice that it may take several seconds before the driver detects a newly connected camera.
Especially the very first time it may take longer than normal before the driver reports a connected camera.

As soon as the camera is recognized, it will be displayed in the upper pane. Further, it will also appear in the bottom pane as a tab page when it has capture capabilities.

Upper Pane

The columns in the upper pane show some of the camera control settings, the last column is its status:
 The camera is connected, it has capture capabilities and is ready to use
 The camera is connected, but no capture capabilities are detected. It is therefore of no use for this driver
 The camera has been connected before, but is currently not connected or switched off

Middle Pane

Controller status information. Most information can be used to format the image filename when the correct format specifier is used. See also setting Image Filename under Camera Control Settings below.

Bottom Pane

The Messages tab page is always visible, showing additional information about all the events happening. Notice that this pane will get the focus automatically when an error occurs.

Each camera with capture capabilities has its own tab page. Here you will find information about the last captured image.
You may also use the Settings button to view and modify the Camera Control Settings.

Camera Control Settings

Each camera with capture capabilities can be controlled individually and therefore has its own specific settings.
To access these camera control settings, activate in the bottom pane the camera tab page and select the Settings button.
Alternatively you may also right-mouse-click in the upper pane on the specific camera, and then select Camera Control Setting from the popup menu.

All settings are saved and restored every time you start the Controller, except for one: the When setting. This one will always be set to Hold when you come online.

Capture Mode:

Notice that you can always use the Action Capture button, regardless of the current Capture Mode

  • Manual
    Image can only be captured when using the Action Capture button
  • On Time
    Images will be captured automatically every Time Interval
  • On Fix
    Images will be captured automatically every Fix Interval


This setting is not restored when you come online. It will always be On Hold, to prevent capturing images immediately

  • Hold
    No images will be acquired automatically. You can only capture manually, by using the Action Capture button.
  • Always
    Images will be acquired automatically when Capture Mode is set to On Time or On Fix.
  • Recording
    Images will be acquired automatically when Capture Mode is set to On Time or On Fix, and when the Controller is recording.

Image Transfer:

  • Move (Recommended)
    Images are only stored in the selected destination folder and not on the camera storage card
  • Copy
    Images will be stored on the camera storage card and copied to the selected destination folder
  • No transfer
    Images are only stored on the camera storage card.

    Images on the camera storage card will not have extra EXIF metadata information (like GPS co-ordinates), only images in the destination folder.

Image Destination:

  • [Project Specific Folder]
  • [User Defined folder]

Image Folder:

This setting is only visible when Image Destination is set to [User Defined folder].
Just click on it to invoke a folder browse dialog, where you can select your folder.

Image Filename:

Enter your own free text, plus one or more of the following format specifiers:

#C = Unique incremented counter (nnn)
#F = Fixnumber (nnn)
#N = Camera Name
#P = Project Name
#L = Mainline
#J = Julian Day (001..366)
#T = Time (HHMMSS)
#D = Date (YYYY-MM-DD
#KP = KP (0.000)
#GRID = Grid co-ordinates ( E nnnnnnn.nn N)
#GEO = Geo co-ordinates (DD;MM;SS.sssH DDD;MM;SS.ssssH)

A suffix will be added automatically when the image already exist, so an image will never be overwritten.

Create KML:

Enable to create a kml file with every captured image, in the same folder, with the same filename.
KML files can be opened with Google Earth.

Time Interval:

Enter the time interval in seconds, when Capture Mode is set to On Time.
For example if you want to capture every half a minute an image, set this value to 30.

Fix Interval:

Enter the fix interval, when Capture Mode is set to On Fix.
Fix events are generated by the Controller. If you want to capture every fix an image, leave this value to 1


Only used when format specifier #C is used inside the filename. It is an unique counter and incremented automatically on every capture command.
Change it here to 're-set' the current value.


You can enter your own free text.
This information will be stored as EXIF Metadata (Tag 'Copyright').

Camera Orientation:

Enter the camera orientation in degrees, relative to the vehicle's heading.
For example, you should leave the value to 0 when the camera is looking forward, enter 180 when it is looking backward, or
90 for starboard and 270 when looking to port.

The orientation is added to the current node heading and will be stored as EXIF metadata (Tag 'GPSImgDirection').

Camera Latency:

Enter the latency in milliseconds.
The latency is the delay between the capture command send and the actual time of capture
The final capture time will then be stored as EXIF metadata (Tag 'GPSTimeStamp')


Select here the node location of the camera

The position for the selected node will be stored as EXIF metadata (Tag 'GPSLatitude', 'GPSLongitude' and 'GPSAltitude')

  • [Manual]
  • [Steered Node]
  • List with all available nodes


When Node selection is set to [Manual], enter here the latitude in decimal degrees (+/-dd.dddddd) on WGS84
The manual position will be stored as EXIF metadata (Tag 'GPSLatitude')


When Node selection is set to [Manual], enter here the longitude in decimal degrees (+/-dd.dddddd) on WGS84
The manual position will be stored as EXIF metadata (Tag 'GPSLongitude')


When Node selection is set to [Manual], enter here the height above vertical datum
The manual position will be stored as EXIF metadata (Tag 'GPSAltitude')

Additional Information

Error Message

Description and possible solution

[E] Could not instantiate WIA Manager

Your Windows operating system does not support Windows Image Acquisition Automation. This will most likely happen when using Windows XP. In that case you should download the necessary library from the Microsoft Download Center: Notice that Windows Vista and Windows 7 do support WIA automatically, there is no need to download extra files.

[E] Another instance of this driver is already running

This driver will recognize all cameras connected to your computer. There is no need to start more than one driver.

[E] Camera D90 not ready yet to receive new Capture command

This may happen when the capture command is send too soon to the camera, while it is still busy processing the previous received command.
Increase the Time or Fix Interval. Decrease the image file size. Check the Camera to PC connection. Use a fast hard disk (SSD) for the image destination folder.
If this error message keeps on popping up, use the Reconnect command from the File pull-down menu to reset everything.

[E] Could not remove image IMG_001.JPG from D90

Your camera control setting Image Transfer is set to Move or Copy, but the camera storage card did not allow to remove the image after sending a capture command successfully.
Check your camera storage card, or the Camera to PC connection

[E] Could not transfer image from camera to computer

A successful capture command has been sent, but the image could not be moved or copied from the camera storage card to the computer.
Check the settings on the camera, make sure that the JPG storage format is selected, and not e.g. a RAW one.

[E] Could not store image to disk

The acquired image could not be move or copied to the selected destination folder.
Check that the image destination folder is accessible, not write-protected and has enough free space left.

[E] Could not open QCT Trajectory file

For each connected camera every day a trajectory file will be created in the project's LogFiles folder.
Check that this folder is accessible, not write-protected and has enough free space left.

Tips and Tricks


Connect the camera with Power DC in, instead of running on batteries. This will normally also prevent the camera from going into sleep mode.


Use a solid state drive (SSD) as location for the image destination folder.

Performance For Image Transfer use Move instead of Copy.


Always check that the camera, when connected via USB to your computer, is recognized by the Windows Operating system.
If Windows does not recognize the camera, then Qinsy won't either.
See Interfacing Notes for more details about this.


When the camera is disconnected or switched off while on-line, you must go off-line and on-line again in order to re-establish a connection.

Troubleshooting / Performance

Capturing interval is too short in order for Qinsy to store the images to disk and trigger the next photo which results in missing photos.

  • This is probably caused by the fact that also the RAW image file is stored, or that the jpg image resolution is too high.
    Select action Get device settings information and increase the Compression Level and / or decrease the Image Size.
  • Also make sure that RAW storage is disabled.
  • Finally, try to capture without auto focus being enabled.

Calibrate Latency

Notice that, due to the characteristics of digital cameras, there will always be a latency. This is the time difference between the moment of the capture command, and the timestamp of the captured image. The latency is often variable and depends on camera settings. E.g. if the camera is auto focusing, the latency can be up to 800 milliseconds! Under normal conditions the latency is small, around 100ms.

If exact and accurate timing is important for your application, you may use the following calibration procedure in order to try determining the camera latency:

  • Step 1)
    Use a Generic Display and add a General Item 'Time', with format 'HH:MM:SS.sss'. Important is to set the refresh rate of the display to 10Hz:

  • Step 2)
    Focus on your computer screen and take a picture of this display, using the Manual Capture command:

  • Step 3)
    View the image with your default image viewer, and compare the time in the Generic Display, with the time of the image, as displayed in the Information row in the driver's Camera menu.

    The difference in milliseconds can then be entered in the Node Setup menu.
    The GPS location and time, stored as EXIF Metadata in the image, will be corrected for every new captured image.
Camera Settings
  • Auto focus must be disabled. Sometimes the auto focusing fails, then camera keeps on trying, and when it already receives the next trigger, it may stop.
  • Please use a fixed focus lens e.g. f=20mm
  • Focus it to infinity, set the camera focus to "manual" and fix the focus ring on the lens by using a piece of tape (is very common in the photogrammetry).


Instead of opening the Camera Control Settings dialog every time, you may use a pop-up menu in order to change the Capturing, When and/or Transfer setting.

  • Right-mouse click on the Capturing column for quickly change this setting to Manual, On Time or On Fix.
  • Right-mouse click on the Transfer column for quickly change it to Move, Copy or Nothing.
  • Right-mouse click on the When column for quickly change it to On Hold, Recording or Always.

    When option Synchronize Connected Camera's is enabled, changing this setting will affect all cameras at once.

    Notice the asterix character '*' in the header column when the synchronize option is enabled.


A daily camera trajectory file (qct) is always created for each connected and active camera.
Location will be the project's LogFiles folder and file name convention is <camera name> <dd-mm-yyyy>.<n>.qct.

The following eight fields, comma separated, are stored at each capture event:
"UTC Time, Image Name, Easting, Northing, Height, Orientation, Roll, Pitch<CR><LF>"