Vintage Hack – Game Boy Camera

Screenshot

Back in 2005, a member of a French robotics team named [Laurent] wrote a wonderful how-to that we somehow missed on using the Game Boy Camera as a vision device for a robot. The images above are actual shots from his project. The Game Boy Camera features a stunning 128×123 pixel resolution in a gorgeous 4 color gray-scale palette. Possibly the most attractive feature of this hack is that it is still possible to get a hold of these cameras for under ten dollars on ebay.

He connected the camera sensor to an Atmel AT90S4433 using a combination of digital and analog signals, and then used the microcontroller to echo the data back to his PC. His write up includes schematics for wiring up the sensor/microcontroller, the datasheet for the sensor, his C code for the whole project, and an easy to read pin out of the GBC connector. Although his project simply offloaded the image to a computer, it would be entirely possible to have the microcontroller respond to the image or simply just log and store it. It would also be just as easy to replace his Atmel chip with your own favorite microcontroller, as long as it has a couple Digital I/O ports and at least one Analog port (or an external analog to digital converter).

UPDATE: Good catch r4v5, it would require an ADC, not a DAC.

Comments

  1. r4v5 says:

    Wouldn’t you need an external ADC, not a DAC, to digitize the analog signal?

  2. 69Arduino69 says:

    No Arduino? Fail. This is so beneath Hackaday.

  3. spacecoyote says:

    To do realtime analysis of the picture you would need a fairly beefy microcontroller (like an ARM9 or something).

  4. James Munns says:

    @r4v5, good call, Post corrected.

    @69Arduino69, this hack actually predates the Arduino, but you make a strong point.

  5. someotherfakename says:

    AWESOME, ha im all nostalgic now, i wanted one of those when i was a kid

  6. therian says:

    just for educational purpose this project OK but as for practical not, most web cameras cost around 10$-20$ and there is libraries for programming their output

  7. chris says:

    I actually got one of these working with a Picaxe microcontroller! They are pretty sweet (and with an ADC, can do a heck of a lot better than 4 shades of gray!).

    http://www.picaxeforum.co.uk/showthread.php?t=7802&highlight=gameboy

  8. rd says:

    The datasheet says that the sensor outputs analog data, so is the 2-bit color limitation simply imposed by the Gameboy hardware/firmware/display? The images on his project page seem to indicate that it is capable of outputting many shades of gray.
    If that is the case, this could be really useful in a robot or a barcode reader or something. I might have to go digging through my attic to find my old Gameboy camera.

  9. chris says:

    It does output analog data – If you follow the link I posted, you can see some pictures sampled at 8-bit grayscale that turned out fairly nice

  10. andrew says:

    @chris: to see them we have to have accounts on the forum. :/

  11. rd says:

    Worse yet, I went through all the trouble of registering at the forum (it told me my first email address was “banned”, probably a gmail filter for whatever convoluted reason, so I had to dig up an account I haven’t used in forever) and it gave me this crap:
    Your account has been activated but you are currently in the moderation queue to be added to the forum.

    I still can’t view the pictures. Ridiculous moderation is ridiculous.

  12. andrew says:

    I also registered, using my student account after trying my gmail account and getting rejected, and I still can’t see them because the administrator hasn’t “approved” me yet. Put the pictures on Flickr or something that we can actually access.

  13. therian says:

    @”I still can’t view the pictures. Ridiculous moderation is ridiculous.”

    dont forget to put you account on Bugmenot

  14. noob saibot says:

    im tired of arduinos. fuck em learn to code 4real

  15. andrew says:

    Oh wow bugmenot.com is really cool, never been there before. They have an account for the forum that works, sweet :)

  16. PidGin128 says:

    Bugmenot is nice, except for all the sites they decided to ban. [Is there an alternate naming scheme to circumvent this I am unaware of? com.website.www? ]

    Also, just use a disposable email address like mailinator or slopsbox.se [LOTS of domains!], Blocking gmail is ridiculous. [Does @mail.google.com or googlemail.com still work?]

    –PidGin128 [oh Yeah, still got my GBCamera, scratched my GBColor playing runrunrun...Also, my bro had the printer, and I had a gbLinkport to lpt adaptor from madcatz. good times.]

  17. superhyperduck says:

    yeah i got a some nice digital cameras at thrift stores for 3 bucks, 4 bucks, just look in the camera bin sometimes they throw in digital ones mistakenly. Some have really good resolution and some even stream video for use with skype or justin.tv or any of that jazz. Or at the least record video. Heck i’ve even found some with the SD card still in them.

  18. threepointone says:

    Why exactly is an arduino needed for a hack. . .if you’re hardcore EE, you don’t need to be limited to a single platform, especially if you wanna play with high speed things too, like cameras.

    I’d actually wonder if you could pull of working with this guy with something slower than an ARM. This is a pretty wimpy camera compared to the cell phone ones (like those on sparkfun), but the really nice thing is actually that it’s really wimpy–the low resolution and low bit depth means it might actually be interfaceable with a much smaller microcontroller.

    now that I read the datasheet, NICE! analog output for levels? normally, i’d say that’s annoying as hell, but this means you can easily decide on your bit depth depending on how powerful your uC is. Definitely great for robots and systems that typically don’t need as beefy controllers. Even better, the system clock is 500khz – very manageable for a low-end microcontroller, possibly even easily bit-bangable if you don’t have timer outputs.

  19. Hello. At this link http://ficara.altervista.org/images/robot1.jpg you can see my small rover using the gameboy camera connected to Renesas (formerly Mitsubishi) M16C microcontroller. The rover was able to send pictures via RF link to the PC. It is very old, but still working and can be driven from the Internet, if the PC runs my small server program.

  20. I apologize, the link doesn’t work that way. Click it with the right mouse button, then copy the address and paste it in the address bar of your browser.

  21. http://e-rice.net $10 for a YEAR of hosting… buy that with a domain and throw up a base wordpress or gallery install and don’t worry about crappy forums with paranoid administration.

    Cool project. :) I love video game hardware hacks.

  22. Karl says:

    take a look at
    http://www.saelig.com/product/BOVI001.htm

    They are selling rs232 and ttl interface versions of a camera for $58 the µCAM-232 & µCAM-TTL – multiple output modes, single picture & video up to VGA. Why hack when you can buy?

  23. farthead says:

    Wow what a hard way of doing it. Hack a USB camera and ignore having to convert the analog to digital.

    Hell I use Optical mice for machine vision. 32X32 pixels = enough for a ardunio based robot.

  24. devin says:

    I can’t believe how many people are saying “why would you do this, just buy it!” It’s fucking hackaday, we do hacks here.

  25. anon says:

    the amount of hurr durr here is amazing

  26. jan says:

    i want to hack a usb cam i found for 4€, to use it as vga cam? is this possible? or what exactly does the usb chip do inside?

  27. Karl says:

    When does it start being a hack? When you have the concept of doing something different with a device? When you make the device in the first place? When you make the parts to make the device? When you design a custom chip for the device? [I have] When you refine the silicon for the chip? Any person who designs a something new is a hacker, even if he uses off the shelf parts to save time and money in developing something.
    In hacking [designing] the idea is not to reinvent the wheel, but to steal the hubcap.

  28. rd says:

    @Karl: You don’t get it at all.

  29. jimmys says:

    Karl-

    Hack vs Buy argument aside, the two modules I bought (separately) were crap. The first one died after two months of careful use and the second one frequently doesn’t respond to commands.

    The specs look great but the ones I bought weren’t worth the money. Maybe they’re better now.

  30. ArtemisGoldfish says:

    I’m thinking the main problem with using the micro that the guy did for the GB cam is the sample time for the built-in ADC in the micro. The datasheet for the AT90S/LS4433 says the ADC has a 65us to 260us conversion time, so at minimum, grabbing the whole frame takes 1.023 seconds. A chip like the AD7819 (which can do max. 200kSPS) should be able to handle a bit better than 10FPS.

  31. error404 says:

    You can run the ADC in the AT90S4433 faster than that while losing accuracy. Looks like it can be run 5x faster for ~8 bit accuracy or 10x faster for ~6 bit accuracy.

  32. Zymastorik says:

    N33t. It’s a nice throwback post to old tech. Sure there’s a ton of newer/better ways to do this now but back then it was cool.

  33. Technoshaman says:

    Why is mine never listed here, I got 6-bits, video and image recording with OpenGL ;p
    http://www.instructables.com/id/PC-Interfacing-a-GameBoy-Camera/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s