Jam Cam in the 2020's | lo-fi CCD Photography
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
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