Today’s Webcams Are Boring, so I Brought Back a Classic
That time I put a Raspberry Pi inside an Apple iSight because nobody stopped me
It’s a pandemic outside, many of us are working from home, and I found myself buying a webcam for the first time since the last century. I was not the only one.
The webcams out there today, they do the job. You just plug them in and get a pretty nice video feed. But they’re not exactly design icons. I thought that, maybe, we can do a little better.
Allow me to take you back to the year 2003. The iPod is still a thing. It’s playing “Hey Ya!” by OutKast. You can get an iBook in white plastic. Life is good. Apple is also selling a webcam. They call it the iSight, and it’s a beautiful piece of design and engineering. It even comes with a travel case and multiple different stands. You can find pictures of it in all its glory on Andrew Kim’s blog.
Apple hasn’t sold another iSight since 2006 and the downside of 17-year-old consumer electronics is that they are 17 years old. 640x480 is not a camera resolution anymore, it’s an app icon. Remember Firewire? I don’t.
In the year 2020, video is 4K — or at least HD. And if you’re not using some form of USB, what are you even doing? The iSight’s industrial design is beautiful, but its electronics are from another decade. This needed to be rectified.
As you may know, I have a history of stuffing electronics into beautiful household objects. I just can’t help it.
To get started, I ordered an original and unopened iSight camera off eBay. The box it came in was — of course — a perfect cube. Taking it apart was fairly straightforward. You can watch other people do it, if you like.
Why don’t we just put a whole computer running Linux in there?
With the original guts removed, it was time to figure out what to put inside. I tried a few modern webcams, but none of them would fit. Besides, I thought, why don’t we just put a whole computer running Linux in there? The Raspberry Pi Zero fits the iSight’s dimensions almost perfectly and, incredibly, it costs only $5.
Raspberry Pi recently released the High Quality Camera and I really wanted to use it for this project, but unfortunately, it’s too big for the profile of the iSight. So instead, I used the older, but smaller and cheaper, Camera Module V2. For under $30, you still get 1080p video at 30 frames per second. It just won’t have the nice depth of field of the HQ camera and its larger lenses.
I decided to keep only the externally visible parts of the original iSight assembly: the perforated aluminum tube, the lens cover, and the plastic inserts at the back and bottom. I tossed out the camera module, all the other electronics, and the frame holding everything together — but not before I measured all the sizes and positions exactly, so I could later reproduce them in my custom frame.
To create a 3D model of the frame, I opened the 3D design tool Fusion 360, imported models of the Raspberry Pi and camera, and sculpted an iSight-sized tube around them with all the necessary screw threads and other nooks. I sent out the result to be 3D-printed and ordered a few smaller parts like screws and cables.
I splurged on a nice 3D print with the VeroClear PolyJet material, which has an impressive resolution of 16µm. That’s perfect for details like tiny screw threads, but you could probably get away with something cheaper. Then again, details matter, even for things unseen.
Now, all that’s left is for our Raspberry Pi to pretend to be a webcam. Luckily, that’s already a thing. Being a USB webcam essentially means implementing the UVC standard and redirecting the camera’s video feed. David Hunt’s blog post explains nicely how to do just that.
So there you have it. An Apple iSight, resurrected from obsolescence by stuffing a Raspberry Pi inside. I call it the “PiSight” and there’s absolutely nothing you can do about that.
The PiSight actually works like you’d expect it to. Just plug in the USB cable and the camera will show up in your video conferencing app of choice. The image quality is quite good, possibly better than the built-in camera of today’s MacBooks.
Just in case you’re not completely taken aback by the absurdity of this project and are now considering building your very own PiSight, rest assured that I’m making everything available as open source.
The GitHub repo has a list of parts and where to get them, the 3D-print-ready model of the frame, and the source code. I’m thinking it should be possible to get the total cost down to under $150. I had to spend a bit more than that because I needed to experiment and opted for higher-end materials.
I had to leave quite a few ideas on the table to finish the project, which does open up the possibility of a V2 someday.
I would really like to make the Raspberry Pi HQ camera fit, possibly using a custom circuit board. It’s also one thing to make the camera look exactly like the original product from the outside, but it would be nice to make it my own and add some accents to the design. Then there’s this interesting iris mechanism in the iSight. You rotate the lens to open it up, which then automatically launches the (since discontinued) iChat app. I did keep the sensor that triggers this feature, so I just need to hook it up and do something interesting with it.
But all that is for another day.