BenderCam

I was updating the links on the ol' resume page and realized that I didn't have a page about any EE stuff, so I decided to write one up.

My final EE project in undergrad was to build an embedded computer system from scratch, and my team decided to build a digital video camera, called "BenderCam" (Bender didn't really have anything to do with anything, other than that one guy just really liked Futurama).

Here's a picture of the final system:

BenderCam circuit boards

The circuit board on the left has the main CPU circuit, which was composed of a Motorola 68HC11 microcontroller, a 32K ROM with the system software, 32K of runtime RAM, and 512K of auxiliary VRAM. It also has a Spartan II FPGA with some DACs that ran the VGA interface, as well as the RS-232 serial interface to a computer workstation. It's connected via an old IDE cable to the second circuit board on the right that has the CCD video sensor and another FPGA to drive the video capture.

Here's a picture of the back of the main board:

BenderCam wires

This was mostly hand wired by me, which almost caused me to go crazy since every wire had to be perfect or else the chips could all fry. The wires at the top are for the CPU and its two 16-bit buses, and the nasty mess at the bottom is the 24-bit buses for the VRAM double-buffer. If I had to do it all again I would almost certainly go with a PCB rather than hand-wiring the whole thing.

The system captured 640x480 video in black & white (we used a CCD sensor from a security camera) and displayed it on a VGA monitor. After some tricky optimizations in the firmware, I was able to get the framerate up to about 15 frames per second, though the bandwidth at that rate was too high for the hand-wiring to handle, and EM interference started to introduce random bit errors into the video stream. Here's a picture of it taking a video of us taking a picture of it:

BenderCam double-shot

The CCD sensor is the thing with the electrical tape all over it, to prevent light from leaking in. On top it has a lens that we cracked out of an old dead cellphone (high quality all around).

The microcontroller also hooked up to a computer via a serial connection which could be used to download new firmware as we were debugging it, as well as upload pictures back to the computer. The connection was only 56 kbps so it could transfer about one frame every 10 seconds. Here's the software after it has taken a picture of us and some random dude who jumped into the picture:

BenderCam group picture

The random white and black pixels in the image are examples of the bit errors that happened at high speeds. The "washed out" vertical lines near the ceiling lights were caused by excess capacitive charge building up on the DAC, which could be easily temporarily fixed by licking your finger and using it to short out the DAC's voltage supply line.

Posted on March 9, 2008
Comments (9) Trackbacks (0)
  1. I still like the webcam you had where people could control it over the internet.

  2. EE was one of the worst subjects I took in college–I got a B- in that class and (of all things) operating systems. It probably didn’t help that they dumped all of us BA in CS people into the lowest level intro class for non-EE majors. Oddly, it was pretty much all analog circuits and I even took the optional lab where we built an analog robot. Still, I’m often impressed by the cool things people can do with hardware.

    I was talking to somebody on our team (who shall remain nameless) once about how he applies and interviews for a non-Microsoft job each year just to keep his resume and interviewing skills up to date.

  3. With all the things you are clearly capable of doing, how on Earth did you ever settle on a career?

  4. a B?!?!!??! no way! quite frankly i am shocked i never heard about this during our college career mr. never challenged in school.

  5. hmm what? That comment about the B- was written by Jeff, not me 😛

  6. And on the career – yeah, choosing the right one is sort of the hard part. I didn’t really put as much thought into it as maybe I should have. I just sort of took one of the job offers I had out of college. Fortunately it’s something that can be changed if necessary 🙂

  7. yeah i should learn to read!

  8. Why would you ever change jobs? Don’t you love the one you have?

    Name one super cool, non-touristy place in Seattle that someone just HAS to visit if seeing Seattle for the first time…

  9. Now now, this is on the public internet where everyone can see; you can’t ask these kinds of questions :).

    As for a super-cool yet non-touristy place, hmm… I’m not sure I can think of a specific place to go, but maybe wandering around a couple different neighborhoods and seeing the sites would work. Specifically, Queen Anne Hill, Capitol Hill, Fremont, Pioneer Square, and maybe even just downtown with the Space Needle and Pike Place Market, though those are sort of touristy.

Trackbacks are disabled.

Me

Apps

CubeCheater Piratizer

Search

Archives

Site Tasks