Epson PhotoPC Software for Unix/Linux, Windows, and MS-DOS

This page describes "freeware" software which may be used to control and retrieve photos from Epson PhotoPC digital cameras under Unix/Linux, Microsoft Windows 95, Windows NT, and MS-DOS. (This software may also work with Agfa ePhoto, Olympus D-xxxL, and Sanyo digital cameras based on firmware from Sierra Imaging, Inc..)

The Camera

The Epson PhotoPC is one of a family of digital cameras based on Fujitsu's SPARCLite microprocessor and Sierra Imaging, Inc. firmware. It produces quality photos in JPEG format at a resolution of 640x480 at a moderate price (~$300 "street price").

The Software

The software is command-line oriented, and does not make use of a graphical user interface (GIU). By using this software with a "batch file" or Windows short-cut icon, photos can be downloaded from the camera quickly, with a minimum off effort.

The software is available for download (in source code form) for Unix/Linux platforms from the Eugene Crosser's (the author's) digital camera Web site, A list of compatible digital cameras can be found there. Software for MS-DOS, Microsoft Windows 95, and Microsoft Windows NT, in executable and source code formats, can be found at Bruce Lightner's PhotoPC Web site,


Basic features
  • Query the camera
  • Download individual photos
  • Download entire camera
  • Delete individual photos
  • Delete all photos
  • Get photo count
The basic syntax for using photopc is:
  photopc [-h] [-v[v]] [-q] [-s speed] [-l device] [command [params]] ... 
Commands are normally entered at an "MS-DOS prompt". Under Windows, camera control commands can be entered using an "MS-DOS Prompt" window (sometimes referred to as a "DOS box" or "console window"), or invoked using a Windows "short-cut" icon (or a PIF).

To get help on using the program:

  photopc -h
This will print a brief (somewhat bewildering) summary of the program's options and commands. For a complete description of the program's options and commands see the photopc manual page. This file, "", is included with the software source package in Unix `man' format.

Specifying the Camera Port

To specify the serial port to which the camera is attached:
  photopc -l device
where device is the name of the serial port which has the camera attached. Under Windows and/or MS-DOS, the allowable "device" names are "COM1:" and "COM2:". The default serial port is "COM1:".

Specifying the Serial Port Speed

To specify the speed of the serial port used to communicate with the camera:
  photopc -s speed
where speed is the requested baud rate: 9600, 19200, 38400, 57600 or 115200. The default speed is usually the highest. You may find that with older PCs a slower speed is needed for reliable operation.

Querying the Camera

To query the camera:
  photopc query 
This will dump the entire state of the camera including information like the number of photos taken, the amount of free memory, the current date/time set in the camera, the camera's model and serial number, the user-specified camera setting, etc.

Downloading a Single Photo

To download a single photo:
  photopc image num filename
where num is the number of the image to be downloaded and filename is the name of the file to recieve the JPEG image. For example "photopc image 4 photo4.jpg" will download the 4th photo into the file "photo4.jpg".

Downloading the Entire Camera

To download all the photos in the camera:
  photopc image all directory
where directory is the name of the directory to receive the JPEG files.

For example, the command "photopc image all .", will downloaded all images from the camera into the current woring directory, into files named "MMDD_CCC.jpg" where "MM" is the month the photo was taken, "DD" is the day of the month the photo was taken, and "CCC" is a sequence number.

The user can control the program's JPEG file naming algorithm using the "-f" option. Two useful options under MS-DOS are:

    -f 1    (image file names are MMDD_CCC.jpg (default))
    -f 2    (image file names are YYMMDDCC.jpg)
where "YY" is a two-digit year, "MM" is a two-digit month, "DD" is a two-digit day of the month (all based on the the time that the photo was taken), and "CC" (or "CCC") is a sequence number. The user actually has complete control over the file naming through the use of "-f" and a format string...the description of which is beyond the scope of this document.

Deleting a Single Photo

To delete a single photo:
  photopc erase num
where num is the number of the photo to be deleted.

Deleting All Photos

To erase all photos from the camera:
  photopc eraseall
This will delete all photos from the camera.

Getting a Photo Count

To get of count of photos in the camera:
  photopc count
This will report the number of photos currently stored in the camera.


Command/Switch Order

You can use commands in almost any combination. The program "switches" such as "-l" and "-s" can be placed anywhare on the command line. The commands (such as "query" and "image") are executed in the order given on the command line.

For example, to use serial port COM2 at 57600 baud to query the camera, then download all the images in the camera to the directory "/photos" on drive C: (in "YYMMDDCC.jpg" file name format):

  photopc -l com2: query -f 2 image all c:/photos -s 57600
A command such as this can be invoked as part of a Windows 95 "short-cut" icon, allowing quick, automatic downloading of a camera with a single mouse double-click.

Communication Problems

If you have trouble communicating with your camera, try lowering the serial port speed using the "-s" option. (Turning the camera on also solves many camera communication problems! :-)

If you interrupt communication with your camera by aborting the program (e.g., by enter ^C), you may have to turn the camera off and back on in order to restore proper communication.

Time Zones

Your camera has a real-time clock which can be set by the program. This internal clock is used to time-stamp photos as they are taken. By default, the program assumes that the clock in the camera is set to "universal time" (also known as GMT or Zulu time). Therefore, when the program displays times and/or automatically creates file names using photo time-stamps, "universal time" is converted into "local time" according to your computer's "time zone" setting. If you want to set your camera's internal clock to "local time", and not have the software apply a "time zone correction", then add the "no time zone" switch to the program's command line, as follows:
  photopc -z ... 
Under the MS-DOS operating system, the time zone is set using the "TZ" environment variable. The TZ environment variable can be set with the following MS-DOS command:
  set TZ=zzz[+/-]d[d][lll]
where "zzz" is a required three-character string with the name of the current time zone, "[+/-]d[d]" is a required field with an optionally signed number of one or two digits specifying the local time zone's difference from GMT in hours, and "lll"is an optional three-character field with the name of the local time zone during daylight savings time. This command should be placed in your AUTOEXEC.BAT file. For example, the following command sets the time zone to Pacific Time:
  set TZ=PST8PDT

Under MS-DOS, if the TZ environment variable is not set the program will not apply a time zone correction, giving the same program behavior as with the "-z" command line switch. Under MS-DOS, if the TZ variable is set, but does not satisfy the above described syntax, the time zone correction is undefined (i.e., probably wrong).

Under Windows, unless the "-z" command line switch is set, the program always will apply a time zone correction, as defined by the time zone setting in the Windows operating system. However, if the TZ variable is set (using to the above described syntax), then it overrides the Windows time zone setting, and the program will apply a time zone correction as defined by the TZ variable. Beware that if the TZ variable is set under Windows, but does not satisfy the above described syntax, the time zone correction is undefined (i.e., probbly wrong).

Software Revision Level

You can determine the revision level of the program by using the following command:
  photopc -V 
Please include this information when reporting program bugs.

Software License

This software is copyright ©1997, 1998 by Eugene G. Crosser. Microsoft Windows and MS-DOS support is copyright ©1997, 1998 by Bruce D. Lightner.

You may do virtually what you wish with this software, as long as the explicit reference to its original author is retained.


Trademarks referenced herein are those of their respective owners.

Bruce D. Lightner, $Id: usage.htm,v 2.3 1998/02/27 03:44:11 lightner Exp crosser $