Stereo Photography With Smartphones Made Better With Syncing

Stereo photography has been around for almost as long as photography itself, and it remains a popular way to capture a scene in its 3D glory. Yet despite the fact that pretty much everyone carries one or more cameras with them every day in the form of a smartphone, carrying a stereo photography-capable system with you remains tricky. As [Pascal Martiné] explains in a How-To article, although you can take two smartphones with you, syncing up both cameras to get a stereo image isn’t so straightforward, even though this is essential if you want to prevent jarring shifts between the left and right image.

Custom made twin shutter. (Credit: Pascal Martiné)
Custom made twin shutter. (Credit: Pascal Martiné)

Fortunately, having two of the exact same smartphone with the exact same camera modules is not an absolute requirement, as apps like i3DStereoid offer auto-adjustments. But activating the camera trigger on each phone is essential. The usual assortment of wireless remote triggers don’t work well here, and the twin-pairing in i3DStereoid had too much delay for dynamic scenes. This left the wired remote trigger option, but with a dearth of existing stereo trigger options [Pascal] was forced to make his own for two iPhones out of Apple Lightning cables and wired earbud volume controls.

Although the initial prototype more or less worked, [Pascal] found that each iPhone would often ‘decide’ to release the trigger at a slightly different time, requiring multiple attempts at the perfect shot. This led him down a rabbit hole of investigating different camera apps and configurations to make shutter delay as deterministic as possible. Much of this turned out to be due to auto exposure and auto focus, with enabling AE/AF lock drastically increasing the success rate, though this has to be done manually before each shot as an extra step.

With this one tweak, he found that most of the stereo photo pairs are now perfectly synced, while occasionally there is about a ~3 ms jitter, the cause of which he hasn’t tracked down yet, but which could be due to the camera app or iOS being busy with something else.

In the end, this iPhone-based stereo photography setup might not be as reliable or capable as some of the purpose-built rigs we’ve covered over the years, but it does get extra points for portability.

16 thoughts on “Stereo Photography With Smartphones Made Better With Syncing

  1. My perfectionist ass would probably start with a battery (probably CR2032) through a button to a pair of transistors, each wired to the separate mic lines and the Common lines connected together to the other end of the battery.

    Because I’m not convinced that buttons running back-to-back wouldn’t be slightly mismatched, strength-wise, and thus trigger sequentially instead of simultaneously. Especially if you’re dealing with delays of just 3ms.

    Otherwise, this is a pretty great start!

    And I’ve already learned that locking focus down ahead of time is necessary. Some of the craft projects I’ve photographed have required proper HDR photos, and OpenCamera is the (Android) camera app I’ve found that works on a large range of phone models to take three separate shots at the various exposure levels. And it’s basically *mandatory* to lock focus before hitting the shutter button, or each exposure will be auto-focused again, likely missing the subject I was trying to focus on…

  2. Personally I’d love an article on a stereoscope viewer. I really dislike having to do the whole crossing-your-eyes, holding it at arms length thing.

    My great grandparents had a stereoscope viewer and a set of old cards. It’s really a different ballgame. I’d love a solution using a Quest headset, or even just a holder for a phone.

  3. Surely a pair of phones can negotiate a time-sync (and all the camera settings) between themselves with a bluetooth connection. Why is a cable needed here? Is it just a case of “this is the hammer I know”?.

    1. Do you know a way to synchronize two iPhone cameras? Preferably without him making his own camera app from scratch and paying the $100 developer fee. I could probably do it on Android with off-the-shelf software but I’m not confident about iOS.

    2. This is surpringly difficult to do with high accuracy. Both the wireless connection and camera drivers can easily introduce tens of milliseconds of latency.

      For high quality stereo photos, you want within 1 ms accuracy for fast moving scenes. This can be non-trivial to achieve even on the same device! Source: I’ve implemented the stereo camera software and contributed to the drivers for a mass-produced Android phone.

  4. Trying to coordinate all aspects of two software based systems seems like a fools errand. Especially when myriad other programs, drivers, etc are simultaneously running. A 100% hardware trigger and single processing pipeline would be the best way to go. Get two Raspberry Pi cameras and run them through the same board. Not as many megapixels but a lot fewer hurdles. Include a 555 ;-)

  5. This is an absolutely wonderful hack! Yes there are things we could tweak from a hardware perspective, but if this is getting them the results they need, it’s perfect. Hackaday is not about perfectionism, or doing things the “right” way, it’s about making do, and getting it done with what you have, both your kit and your know-how. Sure a couple iPhones are expensive, but a new phone and a three year old phone makes sense to me, I have that kind of kit laying around.

    1. I don’t know, he’s complaining about ~3ms of jitter already, so I do wonder what levels of perfect he’s aiming for.

      On the other hand, if he’s taking pictures of a city in motion, cars can move far enough to be a problem for a stereo photograph in that amount of time.

  6. This is one of those projects I’ve had in the back of my mind for a few years (specifically, how to make a digital version of the Nimslo quad lens 3D camera) and it’s a lot harder than you think! Anything that’s not using a real-time OS is going to be difficult, because it’s hard to say with certainty when a command will be executed. This, compounded with the amount of on-module processing a lot of digital camera sensor modules do means it’s really hard to match the capabilities of four identical lenses linked to a single shutter.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.