James Brentwood Icon +

Jam Cam in the 2020's | lo-fi CCD Photography

A found image on one of the Jam Cams

Recently my wife came across a box full of Jam Cams (3.0). I had no idea what to expect, but was excited to find out. 

About the KB Gear Jam Cam 3.0

This camera was a lower-cost toy camera aimed at teens looking to post pictures online. In the mid 90s, I remember desperately wanting to get an image online, but had no idea how. I wasn't the only one. These cameras reportedly cornered nearly 35% of the cheap camera market before falling off a cliff to companies like Kodak and Polaroid who could better keep up with the technology. (source)  

With no screen, the camera was way ahead of it's time. I actually mean that. Now that we've all been thoroughly inundated with screens/ smart technology, many people are looking for balance. More and more companies are attempting to provide that life-tech balance, and eBay prices on old tech have gone up significantly.

The camera holds eight images in HQ mode (600x436px), that's without a 7pin MMC memory card. Images are typically washed out, with very little dynamic range. Shadows can have banding, and most images have pixel glitches. I've read the glitching is due to the Linux drivers, but I can't confirm. There is some vignetting, and lens distortion.

At the end of the day, this camera is a digital Holga. Poor image quality, unexpected glitches, limited space, no screen, and a whole lot of experimentation. There's something real about it, something analog. I will even go as far as saying that transferring images has the same feeling of anticipation as developing film. The Jam Cam offers more than I thought it would.

The Jam Cam Problem

Raw image, outfitted with a home made lens filter

The problem: getting pictures off the camera. The memory card slot is an 7pin MMC. Not something I have laying around. So transferring through usb was my only option.

Drivers were made for Windows 98. I tried the W98 virtual machine route, don't go there.

The most informative thing I could find was a youtube video, but that didn't provide a lot of information besides alerting me to gphoto2. The user wasn't able to get it to work under one distribution, but was another. 

I tried multiple distributions without luck, so I knew it was time to roll up my sleeves and build libgphoto2 from source.

What follows is the procedure to successfully transfer images from my KB Gear Jam Cam 3.0.

The Jam Cam Solution (linux + libgphoto2)

All of this was done under xubuntu 18 in VirtualBox, but should be the similar for any distribution on anything. If installed in VirtualBox, enable guest additions for ease of use.

Open a terminal, then update and upgrade apt.

sudo apt update && sudo apt upgrade

Install all of the prerequisites for building libgphoto2

sudo apt install automake autoconf pkg-config autopoint gettext libtool libcurl4-gnutls-dev libgd-dev libexif-dev libjpeg-dev libusb-1.0-0-dev libxml2-dev autoconf-archive git make

Clone libgphoto2 from github and cd into the directory and start building.

git clone https://github.com/gphoto/libgphoto2
cd libgphoto2
autoreconf --install --symlink

Configure libgphoto2 so that it builds with outdated camera support

./configure --with-camlibs=standard,outdated
make
sudo make install

Now, you can go on and build gphoto2 as well, but if you just want your pictures now, you can do this the dirty way, like me. 

Installing gphoto2

sudo apt install gphoto2

Now connect your camera, make sure gphoto knows it's there, and download your images!

gphoto2 --auto-detect
gphoto2 --get-all-images

Take it a step further (automate it!)

The Jam Cam lives again! But let's make this even better by automatically grabbing the images off the camera when it's plugged in, putting them in a unique folder, and converting them to a more usable png format.

Create the shell script

Call it autoJam.sh, place it wherever you want. For me it's in my main pictures directory.  

#!/bin/bash

cd ~/Pictures
DIR_NAME="Jam_$(date +%Y%m%d_%H%M)"
mkdir -p "$DIR_NAME"
cd "$DIR_NAME"

date
gphoto2 --get-all-files
wait
for f in *.ppm; do ffmpeg -i "$f" "${f%.ppm}.png"; done
wait 
rm -r *.ppm
wait

echo "DONE :-)"

Make it executable chmod +x autoJam.sh

Create a UDEV rule that looks for Jam Cam connection then runs the above script. Call it jamcam.rules and place it in /etc/udev/rules.d/

Be sure to edit with your own user name and file location.

sudo nano /etc/udev/ruled.d/jamcam.rules

ACTION=="add", ATTR{idVendor}=="084e", ATTR{idProduct}=="0001", RUN+="/usr/bin/sudo -u james /home/james/Pictures/autoJam.sh"

Now reload UDEV rules and restart. 

sudo udevadm control --reload-rules
sudo shutdown -r now

Lastly, install ffmpeg for the image conversion done in the bash script above.

sudo apt install ffmpeg

Get hyped on your new Jam Cam