Pure Digital's
PV2 Disposable Digital Camera

[camera pic]



What is it?
The PV2 (pictured above) is Pure Digital's second attempt at the low-cost "disposable" digital camera market. For only USD$18.99, you get 1.1 megapixels and a 1.5" LCD.  The catch is that the camera is designed to take only 25 pictures, after which it must be returned to the place of purchase for costly developing.  This camera uses the same components as some comparable cameras costing many times more, but, of course, it doesn't include a memory slot.

What can you do with it?
You can always do what the manufacturer intended for you to do with it, but if you can solder a few wires, you can convert it for use it as a regular digital camera.  You can also use the LCD screen as a small external display for home projects -- stick it on the case of your computer so you can check for email without turning on your monitor. It's also possible to modify the different screen images displayed (like the start-up splash screen) so you can "skin" it.

If you learn the camera's assembly language, you can modify the way the camera takes pictures (to implement, for example, a "kite" mode that waits 5 minutes, and then takes pictures every 30 seconds). You could even program up your own color games on it!

What kind of quality can you expect?
The native resolution is 1280 x 860 (1.1 megapixel). Although this is a little smaller than the original camera's 1280x960 resolution, the pictures are much better. I think this is due to a better lens that doesn't have noticeable distortion near the corners of the image. I found the flash to be relatively weak for nighttime use, but it should be fine for indoor situations. A lot of the features of similar cameras have been stripped from this camera, so don't expect zoom, selectable image sizes, or even reviewing previously taken pictures (except the last one).

Pictures have been extracted in two different methods:
Because the compression routine hasn't been reverse-engineered yet, it hasn't been possible to get pictures that have been saved in the camera's flash memory. Currently, the only way to get these images is to get the picture from the camera's temporary SDRAM memory; this means that the camera cannot be powered off between the time the camera is taken and the image is copied onto a computer.
You can find some more pictures (and post links to your own) here.

What does it take to convert this to a normal digital camera?
This requires four steps:
  1. Verify that the camera you have is usable. Currently, only cameras with the "6410" version of firmware are usable. These are the oldest cameras out there, but they are still available to buy. In mid December of 2004, I searched the back of the shelves at my local store and found a couple dusty cameras - sure enough, they were version 6410.  To find which version of firmware you have, turn on the camera while holding down the shutter and the "display" buttons. Keep holding the shutter and display, and after a few seconds an information screen will list your firmware version. Beware that, in the future, Pure Digital may make the authentication code for each camera unique, which will make it significantly more difficult to use. Versions 6420 and 6520 seem to share the same authentication code, but will require different firmware modifications (which should be easy to figure out, but hasn't been done yet). The CVS cameras are not yet supported.
  2. Build a USB cable. The connector and pinout is the same as the older camera, and the web has a couple of good description on how to do it. You can make a proper two-ended cable that detaches from the camera, or you can cheat and solder a short pigtail cable directly to the camera's connector (like I did).  My cable-building instructions aren't the best, so I'd recommend Dennis Lou's wiring how-to's: a palm cradle and standard Centronics printer connector. Like all cameras with flashes, the capacitor in this camera (the big tube-looking thing) can retain hundreds of volts even after the battery is removed. It's enough to make you never want to touch it again, but probably not enough juice to do any permanent harm. It would be a good idea to remove the batteries and let the camera sit for a couple of hours before opening it up.
  3. Modify the camera's firmware. I've written a tool named pv2mod to do this. Currently, it only runs on a Macintosh computer, but hopefully there will be a windows version soon. Note that you only have to do this once; once a camera is modified, you won't have to run this program again.
  4. Install the standard Che-ez Foxz2 drivers. From the download page, select the Foxz2 driver (windows only) and install. This driver is a standard TWAIN driver, so you can import images from the camera from your favorite graphics program. I've used the Kodak imaging program that comes with windows (program > accessories > imaging) and the free program IrfanView.

What if your camera is the CVS version, isn't the "6410" version, or you don't have access to a Mac?
First, you can try Drmn4ea's windows port of pv2mod. I haven't tried it yet, but Drmn4ea reports success.

People have done searches with my mod files to find the correct address for modifications in other cameras -- if your setup isn't already listed on this page, and you can unlock your camera with Forkboy's PV2Tool, I can help out determining the modifications for the new camera.  Tom Vickers has excellent instructions on how he modified his CVS camera. Or, you can follow binaryweaver's instructions on how to modify the Foxz2 driver to work with your camera -- it's more work, but it'll get you there.

If you can't unlock it, there is a chance that you can reset it to a default challenge/response -- the correct response for this default value is known, so it'll then be unlockable. You can tell if the camera has been reset this way because the serial number (in the three-finger information screen described in step 1 above) will read "LaMSSMaL0000".  Lots of people have accidently done this to their camera, but no one seems to know how they did it.

Where can you get the camera?
Pure Digital is an OEM and doesn't sell the camera directly. You can find this camera at Ritz Camera (available online), Wolf Camera and Kits Camera.  CVS also carries a similar version, but not as much experimentation has been done on it.  This camera will probably be sold in other chain stores under private label brands.

How did this all happen?
Although I've done a lot of work on this camera, it's been a group effort.  I've concentrated on analyzing the firmware of my camera, while other people have tackled windows software, compression, and using off-the-shelf drivers.

There are lots of things that were tried and didn't work -- I've probably missed some of those things in my time line below, but they are important.  Also, I hope I got the names right -- if not, please send me corrections or additions.

Gibby


Identified USB chipset & verified cable pinout was same as previous camera
me
link
June
2004
Dissection gallery (thanks for shipping me your camera, Dave!)
rangita, j94501,
boodle, dakotamod*, & others


Identified many similar cameras which may use similar drivers
me
link
Aug 21
Removed Flash Memory from camera and read out files (software, utility files, screen images, and saved pictures).
Comfirmed firmware wasn't encrypted and pictures were probably compressed by not encrypted. (they are actually losslessly compressed).
daBass
link

Identified elements of compressed file header.
bartoni & me
link
Sep 11
Identified processor type (ARClite, a.k.a. VAutomation V8)
me
link

Wrote disassembler, figured out banked memory scheme, and disassembled code. Also started on memory map.
T.R. Gipson

Nov 21
Wrote a "USB Poker" for low-level testing under windows.
daBass


Analyzed USB communications for a similar camera,
daBass


Got the first data from the camera over USB.
me
link

Identified USB packet format.
daBass(?)


Retrieved recently-taken compressed picture using a buffer overflow.
daBass
link

Made an all-white picture, which will help with decompression & helped verify no encryption is in place.
T.R. Gipson


Made an all-black picture by cutting the clock line to the imager.



Retrieved recently-taken uncompressed raw picture.
me, daBass,
dakotamod,
others


Took sample pictures.
icedragon, boodle, hoppsan


Converted uncompressed Raw Picture to a usable format. This also confirmed the sensor's resolution.
me
link
Dec 5-12
Identified unlock sequence for cameras. Mike had noticed that the $80 command returned different information (challenge) from all other commands, but I  didn't see his post. I figured out what it did and what the proper response was. (note - this can vary from camera to camera).
T.R. Gipson & me
link

Identified backup unlock sequence.
me
link

Identified major USB commands (chdir, mkdir, file open, delete, take-picture)
T.R. Gipson


Identified a second buffer overflow method to read firmware.
me


Read entire Flash memory from USB.
brite_eye

Dec 17
Used purchased (FlatFoto) windows drivers to read pictures from the camera.
synlor

Dec 18
Used the freely downloadable Foxz2 windows drivers to read pictures from the camera.
Hoppsan, mike, bentfork, forkboy


also contrinuted to windows driver research
me
link

Identified commands to display an image on the screen (command $5D, subcommand $1E)
forkboy
link

Wrote a tool to convert images to TFT format & display them on the PV2 screen.
Also wrote a GUI that allowed sending the $80 command automatically (PV2Tool)
me
link
Dec 31
Modified firmware to make compatible with another camera.


Jan
Other people recreated my success (wow!)

link

Drmn4ea ports my pv2mod tool to windows (I haven't tried it yet)


future
Figure out compressed file format - this will enable linux drivers.
*dakotamod and brite_eye are two sides of the same person. They teased each other, sometimes rather roughly, and it amused some people and offended others. Good work from both guys, though!


Resources

My site directory has all sorts of technical info on the PV2.

The I-Appliance BBS (of iOpener fame) also has an active Dakota PV2 discussion board - this has the most current chatter. Check the camera topic index to find the latest and most active threads.

cexx.org (the guy who also did a lot of work with the original, including a windows port of the reader) has a PV2-specific web page.

Forkboy has a couple of PV2 tools including a nice GUI to unlock the camera, read firmware, or display a TFT. He also has a program that converts graphic files to the TFT format.

Binaryweaver's page has a walk through of how to use the fox z2 driver with a CVS camera, and sample pictures.

Blue Donkey PV2 page has some good analysis, especially of the USB interface. Has a handy tool for experimentation.

daBass has an excellent analysis of the .RAW file headers, plus a disassembler and simulator for the V8-uRISC processor.

Slashdot article on the introduction of this camera, with a link to some cexx.org goodness.

USA Today article linked to by slashdot article, describing how the camera will sell nationwide for $20. (This article is about 10x longer than their typical print article)

contact me: my email address is my first name (john) at my last name (maushammer) dot com.

John's main PV2 page

Info on the original non-LCD version of this camera
other systems I've played with
visit my homepage



This website is not written or endorsed by Pure Digital, Ritz Camera, CVS, or any other corporation.