Remote Control Driver and GUI for the Nikon Coolpix 990, 950, 880, 775,
and 995 Digital Cameras
Download the source code for
photopc-3.05J23, an enhanced version (with USB support) of
Eugene G. Crosser's original
photopc driver for the Nikon Coolpix 990 and Coolpix 950 Digital
Cameras. This software also works with many Epson, Agfa, Olympus,
Toshiba, Sanyo, Polaroid, and other Nikon digital cameras. For example, the
Coolpix 995/775 (only with serial cable), the
Coolpix 880, Olympus C-3030 Z, and Olympus C-2100 UZ all have
been reported to work with photopc. Note: newer cameras (Coolpix
995/775 and beyond) can only be controlled via a serial
cable (however, see http://e2500.narod.ru/index_e.htm).
Precompiled Microsoft Windows 98/2000
executables and a GUI front end are now available.
Important: you should first
upgrade the camera firmware (Coolpix 950 to v1.3 or higher; Coolpix 990
to v1.1 or higher). Earlier versions of the firmware contain bugs which may
cause hardware lockup and other problems. To check which firmware version
you have, disconnect the serial (or USB) cable. Then turn the camera on
while pressing the menu button (continue holding the menu button down until
the display comes on).
On UNIX systems, the
libusb library (version
0.1.5 or later) is required to enable USB support. (FreeBSD and NetBSD users
may want to try this version that
incorporates this patch, following these
instructions; FreeBSD 4.6 users will also need to
apply this patch). To install photopc do the
tar -xf photopc-3.05J23.tar
If your camera is not recognized, you may need to add the correct
vendor and product ID in
usb_camera_table.h and make install.
Here are gzipped tar files containing precompiled Linux binaries for the
Intel i386 architecture: dynamic,
Be sure to enable real time priority mode by installing the executable with
the setuid bit enabled: execute (as root) the command
chmod u+s photopc
in the installation directory (currently, setuid is also required by the
libusb library to open the USB device).
Photopc has been developed under the
2.4.0 version of
kernel (on many Linux systems it will also work with the partial USB backport
available in kernel version 2.2.18 or
higher). On Linux systems, you may need to add the following line to the
end of /etc/fstab
none /proc/bus/usb usbfs defaults 0 0
You then need to either reboot or
Microsoft Windows 32-bit executable (with USB support):
photopc-3.05J22. This version works under both
Microsoft Windows 98 and Windows 2000. When you first plug the camera into the USB
port, the system will install the c:\windows\system32\driver\usbscan.sys
driver from the Nikonview CD. This driver is needed in order for the
camera to be recognized. If you have NikonView installed you will need to
uninstall NikonView and reboot before using photopc. Otherwise
NikonView will start up automatically and try to compete with photopc for
characters from the USB bus (even if you close the NikonView window).
Exposure settings embedded in EXIF image files can be
viewed with epinfo.exe.
The USB port is selected by executing photopc with the -u option.
Documentation is available by executing the command
and also in the man page and
Coolpix 990: Turn the camera on and wait for the display to come
on before plugging in the USB (or serial) cable. Otherwise the
snapshot command may cause the camera to hang!
If you want to be able to turn the camera power off completely
without having to disconnect and reconnect the USB cable
(to keep the CCD cool, thereby minimizing thermal noise), you may find these
Coolpix 990: Movies must be taken manually, but they can be downloaded
(as Quicktime .mov files) like any other image. If the last image taken was
a movie, it may be downloaded and viewed with the MOVIE button in
A good Linux Quicktime player is xmovie.
Coolpix 990 (Microsoft Windows users): If you have a USB scanner attached
you might have to disconnect it before running photopc.
Coolpix 990 (SuSE Linux users): USB support is reportedly broken in
SuSE Linux versions prior to 7.1, regardless of the kernel version.
Coolpix 990: The lcd-brightness command doesn't work for the Coolpix 990.
However, the following command may be used instead:
photopc -u seti 32 N cmd 6 9
where N represents an integer from 0-31. Be very careful when typing in
these "cmd 6" instructions; some of the other ones do calibrations or change
factory settings (although I've disabled most of the dangerous ones).
Coolpix 950 (Microsoft Windows users): Be sure to specify the right COM
port with the -lCOMn: option.
It doesn't matter whether the switch is in the automatic or manual record
(DOS users): DOS treats % as a command-line escape character, so
if you want to send a single % character to photopc, you need to type %%. For
example, to download images to file names image001.jpg, image002.jpg, ..., use
the command (see the man page):
photopc.exe -u -f "image%%%%001d.jpg" image all .
We prefer the use of an AC adaptor (with the batteries removed) to avoid
problems with power-off timeouts and battery drainage; however,
these timeouts can be changed with commands like (see the man page for more information):
photopc -u autoshut-host 3600
3.05J23: UNIX version should now accept new return value of usb_bulk_write() in libusb-0.1.4 and higher.
3.05J20: Added resolution names for Olympus C3030 Z and Coolpix 995;
3.05J18: Added USB support for Epson, Agfa, Olympus, Toshiba, Sanyo,
Polaroid, and other Nikon cameras;
3.05J16: Improved serial support for Coolpix 990 (thanks to D. Holmes);
3.05J15: Improved serial support for Coolpix 950;
3.05J14: Support for Microsoft Windows 2000;
3.05J12: Firmware upgrades allow bug work arounds in xphoto and photopc to
3.05J12: USB transfer rate doubled (250kB/s);
3.05J12: Digital zoom for both the CP950 and CP990 (1.0X-2.5X only).
Graphical User Interface
xphoto-3.25 for UNIX a GUI front end for photopc,
providing remote computer control of the shutter release, many imaging
options, and interval photography. One can also specify an exposure
start date and/or time. It is distributed under the GNU GPL License. Requirements: a TCL interpreter (wish),
photopc-3.05J23, and xv (or other jpeg viewer).
xphoto-3.25: Implemented workaround for problems the Coolpix 990 (in USB
mode) had in turning on the LCD again after clicking the xphoto Off
button. (In the previous version, it had been necessary to click Expose to
turn the LCD on again).
Microsoft Windows users should use xphoto-3.25 for
Microsoft Windows with the TCL
toolkit (version 8.3.4 or later recommended; most Microsoft Windows users
will want the Binary Release, not the source code!). You may need to
edit various paths in the configuration section of the xphoto.tcl
script. To have complete functionality the following additional utilities
may be helpful:
Jpeg viewer for Microsoft Windows
Jpeg comment utilities
rdjpgcom and wrjpgcom (jpeg6b32.zip)
The Off button restores the options to default values for
Interval photography is possible with the count and timer options.
A "%d" embedded in the file name will be converted to the current frame number.
Screenshot of xphoto
Coolpix 950 mounted on Olympus BX-50 trinocular microscope
Eugene Crosser, author of the original version of photopc;
Scott Fritzinger, author of gphoto,
for pointing out the need for a USB_CLEAR_HALT message after every read and
Miguel Grinberg, for invaluable information and assistance regarding the
USB support for Microsoft Windows;
Manfred Gessler, for a superb job as beta tester of the Microsoft Windows
version of photopc and xphoto;
Brian Sherrod, beta tester for Microsoft Windows 2000;
Alex Izvorski, for usb_camera_table.h;
The cygwin GNU development project
for Microsoft Windows.
News Group for Coolpix 990
For further details see Economical digital
photomicroscopy [newer than published version],
S. Wunsam and J. C. Bowman, J. Paleolimnology 25, 399-403 (2001).
Also see the Diatom
Image Archive for sample images taken with the Coolpix 950.
A C-mount optical
adaptor can be used to couple the camera to a microscope.
Alternatively, one can use a
universal LE (Lens-Eyepiece) Adapter (illustrated in the photos above)
coupled to a 28 mm to 37 mm
step-up adapter (part number NKN-ADP).
Olson & Couger's comparison of
optical artifacts in the Coolpix 950 and 995.
The Nikon software shipped with the Coolpix 995 reportedly does not
support use of the serial COM port. Nevertheless,
photopc supports the Coolpix 995 using the serial COM port.
The optional Coolpix 990 serial COM port cable can be used with the
Coolpix 995. Alternatively, D. Holmes has provided detailed instructions
and drawings that show how to construct a
dual USB and serial cable from the Nikon Coolpix 990 USB cable.
files on the Coolpix 995 can be accessed directly with the Linux
usb-storage driver, which allows you to mount the camera as a drive.
If you simply want a remote shutter release that does not require
the use of a computer (and you do not need to automatically download images),
you might consider using Nikon's MC-EU1 remote control unit,
SQL's remote control software for
Palmtops, or the alternative device from
allows for extended cable lengths).
You can even build your own old-fashioned
An alternate Coolpix 990 controller for Microsoft Windows is
Yet another Coolpix 950/990 controller for Microsoft Windows is available from
visitors have accessed this page since August 3, 2000.