Linux and Dolphin FASTUSB-007 Pencam (a Tale)

Just after Christmas 2001 I decided it's finally time for me to get a digital camera to spice up some of my pages. Cheap as I am I decided to go for the absolutely lowest (and smallest) I could find and got a Dolphin FASTUSB-007 digital pencam from for approx. $59. It supports two resolutions: either hi-res (352x288 pixels) or low-res (176x144 pixels) and holds either 20 hi-res or 80 low-res pictures. Not usable for CV but should be fine for Web stuff.

Other features: you can switch from 'Hr' to 'Lr' anytime without loosing pictures, which is nice; in 'Ct' (continuous) mode it records images in quick succession; it also has a built-in self-timer 'St' for those family photos.

The Linux-USB site didn't mention the camera but there were some hits on the Aiptek Pencam which looks strikingly similar to what I got. There was hope.

Just after hitting the 'Purchase' button I found out that I could have gotten the identical Aiptek Pencam at conrad electronics (a german electronics chain) for about half the price... *Sigh* - where would the US economy be without over-zealous online shoppers such as me? ;-)

Conclusion Having played with the camera for a few weeks now I can say that I wouldn't buy it again even at the fairly low price. The optics are lousy and have a fixed focus for landscape shots or something. It's definitively not what you want for close-up detail shots. The camera also requires a rather high amount of light or it simply refuses to work. Since the camera has no permanent storage it will loose all pictures if the battery is too low.

Jan 16 2006 The information on this page is obviously outdated WRT kernel config but the camera still works nicely as a V4L device using the stv680 module. I'm currently looking for a command line surveillance kit.

Linux kernel requirements

In order for USB to work you obviously need USB support. That's quite a load of options so here's what you need:

In Multimedia devices:

In USB support:

Add salt and pepper according to taste and

% make dep clean bzImage modules modules_install

Install the kernel and reboot.

Connect the pencam to the PC; if you don't have batteries inserted the display should remain blank. Now load the USB modules:

% modprobe uhci

This loads uhci and usbcore and if all goes well the camera emits a series of beeps. Congratulations for getting so far.

Make sure you have usbdevfs mounted on /proc/bus/usb, either by running devfsd or by adding something like the following to your /etc/fstab.

none /proc/bus/usb usbdevfs defaults 0 0

Mount the filesystem and verify:

% mount -a
% ls /proc/bus/usb
001  002  devices  drivers

The devices file contains some interesting information (e.g. VendorID, ProductID) on all devices found on the bus.


gphoto2 is a command-line program for accessing cameras and apparently there are also graphics front ends available for it. It compiles easily:

% ./configure
% make && make install

It requires write-access to /proc/bus/usb so you have to run is as root or via sudo. As an alternative you can set set-uid-on-exec bit but that can be a security risk.

% gphoto2 -L
There are 2 files in folder '/':                                               
#1     image001.pnm               
#2     image002.pnm
% gphoto2 --get-all-files
Downloading 'image001.pnm' from folder '/'...                                  
Saving file as image001.pnm
Downloading 'image002.pnm' from folder '/'...
Saving file as image002.pnm

If you are getting an error at this point check if stv680 is loaded. If it is then rmmod it since it conflicts with gphoto2.

Wow! 356x292 pixels, even more than promised. As you can see image quality is not suitable for close-up detail photos...

Hi-Res  Low-Res


The camera:/ URL also gets you access to the camera in a nice GUI fashion. Because of permission problems I am currently only able to use it running as root.

As with gphoto2 you need to make sure that the stv680 module is not loaded since it conflicts with the plugin.


Last modified: Jan 16 2006
Copyright ©2001 Ulrich Hertlein