StereoPi

by virt2real

An open source stereoscopic camera based on Raspberry Pi

View all updates Feb 13, 2019

Funded, Mechanical Drawings, Synchronizing Cameras, and More

Today marks two weeks since we launched our campaign, and we've already at 109% funded -- thank you! This means we will move forward with StereoPi production. More on that in future updates. In the meantime, the campaign still has 25 days to go, so there's time yet to get your slice of the StereoPi!

Frequently Asked Questions

Since launch, we've received and answered a lot of backer questions. Here are the most popular questions and our answers.

1. How does StereoPi synchronize its cameras?

We plan to maintain full compatibility with the stock Raspbian distribution, which is why StereoPi synchronization is implemented in the Raspbian kernel. For more information, check out this Raspberry Pi forum thread about synchronization in stereoscopic mode.

Under the hood, the system first captures an image from one camera, and then captures an image from the second camera. The delay between captures is about one millisecond, which had no noticeable effect in any of our experiments. So, for most users, this current method of synchronization is a great implementation to use.

Of course, some of you will want to squeeze the most you can get out of StereoPi's features, perhaps for some industrial tasks that need to run continuously 24/7, so let's go one level deeper. At the hardware level, both cameras are fed with the same PLL clock, but each camera module also has its own 25 MHz clock (for V1 cameras), which will slightly differ from camera to camera. Each camera captures frames according to its internal clock and puts those frames in its own buffer.

After a long period of time (several hours or days), you may notice "drift" between the cameras, and frames become unsynchronized. That said, in our own experiment recording an on-screen iPad timer with 0.01 second accuracy with two cameras for eight hours, all the images remained synchronized. However, maybe we were just lucky and maybe we would get different results if we warmed up one camera and cooled down the other to force the oscillators to work under different conditions. In any case, if you are looking for ultra-stable synchronization, we can suggest two approaches:

  • A. Just rebooting the system may be the simplest solution. If your system has some idle periods, you can use this time to reboot and reduce potential drift.
  • B. Use the same oscillator for both cameras. This will require some soldering, or designing a single PCB with two camera sensors on it. We will conduct this experiment and post the results to the "DIY Ninjas" section of our wiki.

As for our own projects, we will use the synchronization implemented in the Raspbian kernel , as it is more than enough for all our needs.

2. How can I synchronize two StereoPis?

When I was a student, our physics professor asked us a question: "How do you synchronize two timers on two distant planets?" The simplest approach was to put light source right in the middle between the planets and emit a light beam in both directions. You should start timer on each planet right after receiving this beam. The same set up will work with two StereoPis. They can be near each other, or hundreds of meters apart. Here's what you do.

If your StereoPis are near each other, you can use GPIO, Ethernet, or USB Wi-Fi to sync them. Of course, if one Pi is the "master" and another is the "slave," then the slave will receive the command from master after some delay. So, the ideal approach is to connect the pulse of some external timer (e.g., an Arduino-based) to both StereoPis. You can also use such a set up simply to add timestamps to your records for later synchronization, as opposed to literal, real-time synchronization.

Have you heard about Velodyne 3D lidars? They are popular among autonomous car manufacturers, and you can find it in most photos of autonomous vehicles. Every Velodyne lidar has an input for connecting a GNSS (GPS) system. No, the lidar doesn't want to obtain its coordinates. It uses GNSS to get a precise timestamp from satellites for good synchronization of point clouds captured by several lidars. So, if your StereoPis are far away from each other, you can use readily available and inexpensive GNSS modules to synchronize them.

3. How can I mine Bitcoins on StereoPi?

You need to wait until the announcement of the Raspberry Pi Compute Module 19+ with quantum computing support. Until then, it is a bad idea to use StereoPi for crypto mining.

4. What's wrong with your wiki?

Some of you noticed that our wiki page does not load and results in a DNS resolution error. Please accept our apologies for this inconvenience. Our wiki is hosted separately from our main site, and we changed our DNS entries about two weeks ago. If you first visited our site, and then try to access Wiki, you may witness the DNS resolution problem. This might happen if there is a stale DNS entry cached either on your own device or on your ISP's servers. Here's what can you do to fix it:

Mechanical Drawings

We noticed on Twitter that some users have already begun to design cases and camera support plates for their StereoPis. We are happy to share with you our drawings of everything we used. There are 3D STEP models of StereoPi slim and standard editions, STL files of our cases for basic and 360° experiments, and laser cutting drawings for the camera support plates. You can find all these goodies on our wiki.


$102,644 raised

of $35,000 goal

293% Funded! Order Below

Product Choices

$69

StereoPi Slim Edition

Perfect for DIY ninjas and those wanting to embed StereoPi in a tight space. This board is the same as the standard edition, but without all the bulky connectors - the Ethernet RJ45 jack, GPIO header, and dual USB Type-A connector have not been populated. To use this board, you will need your own Raspberry Pi Compute Module, cameras, and camera ribbon cables. Two short power cables already included.


$89

StereoPi Standard Edition

The world of stereoscopic video awaits! This board is the ultimate interface between two cameras and a Raspberry Pi Compute Module. It comes with all the bells and whistles, including Ethernet, dual USB ports, GPIO header, microSD slot, HDMI output, and more. To use this board, you will need your own Raspberry Pi Compute Module, cameras, and camera ribbon cables. Two short power cables already included.


$125

StereoPi Starter Kit

This kit has everything you need to get started right away. The kit includes one StereoPi Standard Edition board, two V1 cameras (w/ ~20 cm ribbon cables), one Raspberry Pi Compute Module 3 + Lite, and everything in the StereoPi Accessories Kit (two short ribbon cables, one USB power cable, two power cables, one V1/V2 dual-camera mounting plate, and one wide-angle dual-camera mounting plate). We've also included a microSD card pre-imaged with Raspbian and all the stereoscopic video and image demos you see on this project page.


$199

StereoPi Deluxe Kit

This kit includes everything in the StereoPi Starter Kit and adds two wide-angle (160°) cameras (w/ ~20 cm ribbon cables). With this kit, you'll be able to run all of the demos shown on this project page and start experimenting on your own. You will reign supreme over your stereoscopic domain.

Credits

virt2real

We are a small team of geeks who have been making remote-controlled things with livestreaming video since 2010. We've done everything from boats and planes, to robots, copters, and VR helmets. If we can't find the right tools for our projects, we build them ourselves.


Eugene Pomazov

Sergey Serov

Kirill Shiryaev


NexPCB

Recommended

Full-service Manufacturer

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: