Monday, July 02, 2007

Unboxing a $14.99 VuPoint digicam

unbox_c2

So I was in the mood for a new toy, and I remembered the camera store down the street had these $14.99 digital cameras that fit on a keychain. You can't go wrong for $14.99. Crappy image quality is fine. Crappy image quality is great, actually. Call it Holga envy if you like. Dealing with camera film is annoying and tedious, and I'm not, not, not going to do it, period, no matter how funky and weird the results are. I'd still like funky and weird results, though. And like I said, you can't go wrong for $14.99.

So the top photo is of my new VuPoint Solutions DC-ST12G-VP, with the single AAA battery out. AAA batteries are pretty tiny, so you can tell this is a very small camera.

unbox_c1

And here's the packaging. I'm proud to report I've opened at least one modern made-in-China product package without a knife of any kind. I just improvised with my keychain bottle opener instead.

Oh, and there's beer. You can't unbox a new toy without beer. It's a McMenamins Firefly Kolsch, with a lemon wedge. Hey, it's hot outside.

It's kind of fun making a big production out of this at the same time the world's alpha nerds are unboxing their shiny new iPhones. I don't think this qualifies as satire, exactly. There's probably a word for it, which either escapes me at the moment, or I've just never heard of.

unbox_c3

The pamphlet on the left is the manual. If you want to read the whole thing, such as it is, you can find a color version here. It's delivered as a PDF inside a ZIP file for some reason. Don't ask me why.

So I'm trying to see what else I can learn about the thing. I suppose with the idea I might take it apart and tinker with it eventually, or possibly buy another one to tinker with. The Windows desktop software installs to an odd location, C:\WINDOWS\twain_32\MyDSC2 instead of under Program Files. So I suppose it's using TWAIN to talk to the camera instead of one of the usual digicam interfaces. TWAIN's mostly used for talking to scanners, although it supports cameras too. So that's kind of peculiar.

The apps and DLLs in the folder indicate the software comes from another company, Service & Quality Technology Co. Ltd., based in Taiwan. Their website lists a variety of image sensor chips and whatnot, although the lowest-end one they list, the SQ905C, says it offers VGA resolution, not just the CIF mode my camera claims. The other details look about right, though, so it's possible the camera just doesn't expose the VGA mode. In which case enabling it might be an interesting project.

Updated: Ok, the SQ905C is the controller & platform the camera's based on, and the sensor's a separate item. Actually it could be any one of a short list of separate items. The tech docs (see below) list a few supported sensors: Hynix HV7131R, PixArt PAS202(B?) and PAS302B, something just listed as "106" which (I think) is supposed indicate PixArt's PAS106B, Micron's MI-360, and PQI's SOI763A. So it's possible that while the controller can support slightly higher resolution, the sensor in the camera may not be up to the job. The PAS106B supports only CIF ( 352 x 288 ) resolution, while all the others support VGA (640 x 480). So I probably have a PAS106B inside; if not, tweaking the max resolution may still be a go, not that I have a clear idea how to accomplish that right now.

I suppose there's always adding memory, although I imagine that would increase the drain on the poor little battery.


The SQ905C page links to a pair of PDF files with loads of technical data. There's a single ASIC inside that implements nearly the whole package, right down to the interface on the little LCD status screen. (It's just status, none of that fancy preview nonsense.) If this isn't precisely what's inside my camera, it may be the next generation, and mine uses a discontinued version. Which might explain the price, I suppose.

Actually one of the apps isn't from SQ. Judging by a quick Google search, TransTWAIN.exe seems to be a common tool for transferring files over a TWAIN interface or something like that. It's freely distributed in binary form, but it's not known who wrote the thing. Jeepers!

So here's the first photo from my shiny new $14.99 camera:

unbox_v1

Pretty cool, huh? That's full size, without JPEG compression enabled. The camera can hold about 18 photos in this mode. It's SDRAM-based, so if the camera loses power, your photos go poof. That also means the camera constantly draws current if there's a battery present, since otherwise the contents of memory would go poof. So you'll want to take the battery out once you've downloaded the camera's precious cargo.

No camera unboxing would be complete without a photo of the camera you used for the start of the process, taken with the new camera. So here ya go:

unbox_v2

Yes, yes, I had a kolsch and a light summery pasta for lunch. Did I mention it's really hot outside?




So here are the functions exported by the DLLs and kernel drivers that came with the camera, for you tech dweebs out there. Obviously I don't know what they're all for, but some of the names sound interesting.


TOYCAM.DLL: (you gotta love that name.)

DSCClear
DSCEnd
DSCFreeJPGBuf
DSCGet
DSCGetImage
DSCGetJPGImage
DSCInit
DSCIsReady
DSCStart
GetToyCamInfo
InitHW
PCCEnd
PCCGet
PCCInit
PCCIsReady
PCCStart
ReadLanguage
ResetHW
ResetHW1
ResetHW2
SQImageOption
SaveToAVI
SetDSCParam
TCamIsReady
TCamSetWiaMode
TCamWorkingPath
doRGBAdjust


USBDSC.DLL:

SQAreReady
SQBulkRead
SQBulkWrite
SQFreeDS
SQInitDS
SQInitWorkingPath
SQIsDriverAlive
SQReadDSC
SQReadDownloadPAT
SQReadFirmwareVer
SQReadPAT
SQReadPCC
SQStartDSC
SQStartPCC
SQStopDSC
SQStopPCC
SQVendorCommand
SQWriteData


SQDLL.DLL:

CheckMMX
CheckSSE
ColorMatrixMul3s
SQAG_020515_UP
SQAWB_020605_UP
SQAWB_030827_8b
SQAWB_040210_8b
SQBLD_020606_UP
SQBrightness_UP
SQColorGain
SQContrast_UP
SQCutBadPix_020605_UP
SQDeBadPixel_Kernel_v031223
SQDeBadPixel_Kernel_v040212
SQEnhClr_UP
SQFastSaturation
SQGainAdj_030722
SQGbGrBalancer_030611
SQGbGrBalancer_040422
SQGetProcessedImage
SQInitialize2
SQInt_020605
SQInterpolateNrml
SQMakeInvGammaX
SQMakeInvGamma_905c
SQOffsetAdj_030924
SQRestoreDefaultParameter
SQSaveUsrParameter
SQShadow
SQSharpenMP_UP
SQSharpen_020508
SQShp_020521_UP
SQShp_020625
SQShp_020820
SQShp_031003
SQShp_040109
SQSmooth3C_UP
SQSmoothCbCr_v040218
SQSmooth_020604_UP
SQSmooth_030414
SQSmooth_030502
SQSmooth_030923
SQSmooth_Wavelet_040128
SQSmooth_Wavelet_040128_v2
SQUnInitialize


SQRS.DLL:

Fast_Bicubic_x2_MMX
SQBicubicResample_020925
SQResample_030218
fnDownSample_20021001


Compress.dll:

ADPCM_DeCode
ADPCM_EnCode
AnalyzeJPEG
BMP2JPG
JPEG_Decode
JpegRelease
Jpeginit
VLCADPCM_DeCode
VLCADPCM_EnCode
VLC_Decode
VLC_Encode

Camd905c.sys (905C, eh? I thought so...)

USBCAMD_AdapterReceivePacket
USBCAMD_ControlVendorCommand
USBCAMD_Debug_LogEntry
USBCAMD_DriverEntry
USBCAMD_GetRegistryKeyValue
USBCAMD_InitializeNewInterface
USBCAMD_SelectAlternateInterface

There's also a Capt905c.sys file that appears to not export or import any symbols. That doesn't seem right to me, althought I've been wrong before.

No comments :