Game Boy Camera Fast WiFi Adapter
Saturday 26th June 2021
Plug in your Game Boy Camera, turn it on, and you can have the photos on your phone in under 2 minutes!
Why I Made It, and What I Used Before
I’ve had my Game Boy Camera since the ‘90s: it was my first digital camera, and I love it.
It can take and store 30 photos, but provides no way of taking the photos off it, other than deleting or printing with the Game Boy Printer. (That's '90s technology for you!)
Around 2013, I worked out a long-winded way to get photos off it onto my Mac using a
Mega Memory and
GB EMS USB Smart Card.
This method was very fiddly and regularly took multiple attempts to work, and wasn't really portable.
I'd seen other portable devices before, but they all relied on emulating the Game Boy Printer and printing each photo one-by-one, which took even longer than fiddling with the Mega Memory!
In 2018 I found InsideGadgets' GBxCart RW, a USB Game Boy Cartridge Reader. This made the transfer so much easier, but it still wasn't portable because it requires a computer.
Months later, I had a brainwave: A Raspberry Pi Zero is a computer! It's easily pocketable and battery powerable, and the GBxCart RW has linux support too! I got this kind of working, but it still required carrying around a jumble of cables.
The final piece of the puzzle came in December 2020 when I got my first 3D Printer. I realised I could put this all together into one device, in one box, and this is what I ended up with!
How it works
- Plug in Game Boy Camera.
- Turn it on.
- Wait a minute.
- Connect to the GameboyCamera wifi network.
- Go to http://gameboy.local
- All your photos will be visible on the webpage, and can be downloaded!
- Turn it off.
Inside the 3D Printed Case.
On The Pi
All the code is available on the Game Boy Camera Fast WiFi Adapter Github Page
Photo Downloader
- /home/pi/get_photos.sh is set to run automatically on boot, by being included in /etc/rc.local
- This script runs GBxCart_RW_GBCamera_Saver_v1.8.
- And saves the photos inside /var/www/html/photos, so the web page can see them.
Web Page
- Apache 2 web server with PHP 7.
- Files stored in /var/www/html/
- index.php displays the photos in ./photos/, grouped by subfolder.
Wifi Network
The Raspberry Pi hosts a wifi access point called GameboyCamera.
- Uses hostapd.
- Configured in /etc/hostapd/hostapd.conf
- I'm not sure if just installing and creating that file is enough to make it work, I didn't make notes as I did it annoyingly.
Future Improvements
I'm not saying I'll ever make a v2, but if I did, this is where I'd start:
Shape & Size
- It would be nice if the cartridge slot was full length to stop the camera looking so dorky sticking out of it.
- I'd like to key the cartridge slot so you can't put the cart in back-to-front by accident.
- This is the first case I've ever 3D modelled, so it can probably be made a bit more compact. I was however aiming to make this no thicker than a phone.
RTC
The Raspberry Pi doesn't keep time when it's turned off because it doesn't have a Real Time Clock.
GBCamera_Saver is saving the photos into folders labelled with the date/time. It still seems to work, but this may cause a problem if it tries to create a folder with the same name again because "time is repeating itself".
You can get RTCs from hobby shops, specifically designed for integrating into Raspberry Pi projects.
Photos
Here's how i transfer
photos from my Game Boy Camera
to my Mac.
I've basically followed Pat Hawks' guide
but I've written it down here as a reference for myself, and in case Pat's page or any other references disappear off the internet.
What I Use
- Game Boy & Game Boy Camera
-
I've got a Game Boy Pocket. It's yellow.
- Mega Memory Cartridge
-
Designed for backing up and restoring multiple save games.
I managed to find one for around £25
on Amazon.
- GB USB Smart Card 64M
-
Basically a USB Game Boy Cartridge, designed for playing with homebrew games/software on an original Game Boy (such as
LSDJ).
I got mine from Retro Towers for around £35, though I think they're made in
small batches and regularly out of stock.
- EMS Flasher
-
A command line Mac/Linux utility for reading from / writing to USB Game Boy Cartridges by Mike Ryan.
I downloaded the Mac OS X binary from his EMS Flasher page, but the source code is available too.
- GB Camera Dump
-
A windows program which exports photos from the Game Boy Camera save file to bitmaps, by Bob Baffy.
I've stuck the .exe and Bob's GBCameraDump Source Code on my Github because he's released it into the public domain.
The .exe is mirrored by Pat
and Gareth.
- Winebottler
-
GB Camera Dump is a Windows program and I've got a mac. I use WineBottler to run it.
How I Use It
- Take Photos
- "Back up" photos off the camera onto the Mega Memory cart.
- Use Mega Memory cart to "restore" photos to GB USB Smart Card 64M
- Plug GB USB Smart Card 64M into mac via USB
- Run EMS flasher to read the 'savegame' (photos) to a file
$ ems-flasher --read --save --verbose GBCamera_photos.sav
- (takes a couple of attempts to work, but copies in a few seconds when it works. My USB cable may be dodgy though.)
- Run GBCameraDump in Wine
- Open GBCamera_photos.sav, and click save all pictures. If they look corrupted, try going back to step 2.
The Future
Update, 12th December 2018: This looks promising: GBxCart-RW by Inside Gadgets,
a USB Game Boy cartridge reader with cross platform open source software.
I've ordered one, and will let you know how I get on
My Photos
Have a look at my Game Boy Camera photos on Flickr