StereoPi
The best solution for experiments with 3D video
with Raspberry Pi inside!

Paradise for coders
Did you know that stereo natively supported in Raspbian from 2014?
Capture still image...

...or capture a video




Use OpenCV for computer vision
 




Process it with Python or C++
  • raspistill utility in Raspbian natively supports stereo mode. To capture this image we used:
    raspistill -3d sbs -w 1280 -h 480 -o 1.jpg
     
  • raspivid, used for video capture in Raspbian, also support stereo out of the box.
    raspivid -3d sbs -w 1280 -h 480 -o 1.h264
     
  • Like Python? Picamera supports stereo, for capturing stereo you may just use:
    camera = PiCamera(stereo_mode='side-by-side', resolution=(1280,720))
     camera.capture('foo.jpg')

     
  • C/C++? Picamera library also did this work for you
     
  • OpenCV for camera undistortion, stereo image calibration and depth map
     
  • You can find stereo mode implementation history on Raspberry Pi forum thread
ROS support out of the box

We used ROS Kinetic from Ubiquiti Robotics to obtain depth map. This Ubuntu-based image has the same kernel as Raspbian, so stereoscopic mode is natively supported. You can find current implementation discussion here on GitHub
You can also read full ROS experiments story in our Blog on Medium.
Livestream video to YouTube

We did 3D printed case, inserted LTE modem and wrote a simple script for RTMP livestream. You can look at original not edited livestream record of this test here on YouTube. We plan to make one more test with sound (adding USB microphone).
3rd person view with Oculus Go

Just a fun experiment with StereoPi and Oculus Go: "3rd person view in a real life". 3D printed case, camera back-support, Android application for Oculus Go and simple code on StereoPi took several days.
You can find out more details about this project here in our blog on Medium
3D FPV for RC geeks

If you like DIY-style FPV like WiFi-broadcast you need just run it on StereoPi and add -3d sbs parameters to your script.
Also we used -dec option to compress both images width to save original FOV of our 160 degree cameras.

If you like ready-to-go FPV video links able to capture video from HDMI sources you can use it with StereoPi. For example you can connect HDMI out from StereoPi to input of Insight SE 5G or any other video link.

You can also use two independent livestreams from both cameras, like "front view" and "rear view".
360 panoramic photo and video

Post from RICOH THETA. - Spherical Image - RICOH THETA

You may mention most of modern 360 degree cameras use two wide-angle cameras. You can make such experiments with StereoPi!
We added two 200-degree cameras to StereoPi, installed device on tripod and captured couple of photos. Then we googled "spherical panorama", have found "Ricoh Theta software", downloaded trial and in a 10 minutes have our first 360 spherical panorama!
Here is a steb-by-step guide in our blog to repeat this experiment.
Raspberry Pi inside!
StereoPi carrier board supports all Raspberry Pi Compute modules
 


Raspberry Pi Compute Module 3 Lite


Raspberry Pi Compute Module 3


Raspberry Pi Compute Module 1
(power mode switchable)
Raspbian out of the box

Just download the latest Raspbian image, write it on MicroSD card – and here you go!
If you already worked with Raspberry Pi and have MicroSD with your project – just put it in StereoPi and continue with stereo!
Need stereo for old projects? Just enable second camera by putting dtblob.bin in boot partition.
Classic Raspberry Pi GPIO header


Use your Pi with external hardware?
We kept all classic Pi GPIOS for you to be able continue your projects!
Thermometers, servos, relays and other goodies for your fun!
Technical details



Dimensions: 90x40 mm
Supported Pi: CM3, CM3 Lite, CM1
Camera: 2 x CSI 15 lanes cable
GPIO: 40 classic raspberry PI GPIO
USB: 2 x USB type A, 1 USB on a pins
Ethernet: RJ45
Storage: Micro SD (for CM3 Lite)
Monitor: HDMI out
Power: 5V DC
Supported Raspberry Pi:
Raspberry Pi Compute Module 3
Raspberry Pi Compute Module 3 Lite
Raspberry Pi Compute Module 1
Supported cameras:
Raspberry Pi camera OV5647
Raspberry Pi camera Sony IMX 219
HDMI In (single mode)
Firmware update:
MicroUSB connector
Power switch:
No more connect-disconnect MicroUSB cable for power reboot!
We feel your pain, geek!
We’ve done a lot of projects ourselves, so we know that a minor inconvenience in your hardware can lead to a lot of lost time and a bad mood. That’s why in StereoPi we took into account a lot of small, but very important things.

Power switch

This tiny thing allows you to power it on or off without plugging in & unplugging a powering cable like in Raspberry Pi’s design.
65 mm distance between cameras’ connectors

Most stereoscopic setups use a stereobase 65mm wide, which is the average distance between human eyes. We left the same distance between our CSI-2 camera connectors to prevent additional camera ribbons from bending at an unnatural angle.
Grouping of connectors on one side

All connectors (Ethernet, USB, HDMI, and the power switch) are grouped together on one side of the board. This saves space and simplifies the creation of cases and integration of StereoPi into your device.
Vertical orientation of camera connectors

We oriented connectors vertically for more flexibility in creating device cases. For example, you can make a 3D printed case with all of the connectors on the top, back, or bottom, keeping your camera on the front, and avoid unnatural bending of camera ribbons.
Slim edition of the board

It's often necessary to fit your board into a tiny case or inside a small robot. In this case, big connectors, such as Ethernet, USB A, or a GPIO head can get in the way. With the classic Raspberry Pi, we sometimes even desolder and cut them off to make them fit. Thus, we created a special slim version for advanced users with no big connectors installed.
USB power

In the classic Raspberry Pi, the powering of connected USB devices is regulated by the CPU. If you have a USB dongle with a high power requirement, you’re faced with a problem: you’re forced to disable this control, or even to solder additional power wires from a power source to the USB powering pins. In StereoPi, incoming power goes directly to the USB pins - you do not have to solder anything, and only need to make sure that your power source provides enough power to feed all of your equipment.
3rd USB on pins

Sometimes you need to put a USB dongle inside your device (such as WiFi, Bluetooth, USB Microphone etc.) Using external USB A connectors for this purpose leads to more wires and an inflation in size . That’s why we added a 3rd USB connector to the pins.
MicroUSB for burning firmware

If you use a Compute Module with EMMC internal memory, you need to have some way to upload firmware to the module. You can do this with the Raspberry Pi Development Board, but it’s much simpler when you can do it right on your board and eliminate the need for additional equipment. That’s why we added this feature to all versions of the StereoPi board.
Power connector

During any experiment, it’s very inconvenient when your power connector accidentally "drops out", so we eliminated the option of using tube-like connectors. We also eliminated MicroUSB connectors because they can be easily broken or even ripped off the board by careless movement of cables. We instead decided on the small and reliable connector JST EHR-2, which won't let you down in your experiments. Plus, the power pins are spaced at intervals of 2.54mm, and advanced users can use Dupont cables.
Support of the legacy Raspberry Pi Compute Module 1

In some cases, you may wish to use CM1 instead of CM3. The computing power of CM1 is strong enough to encode a video, yet it consumes several times less power and has lower working temperatures. That’s why we added the ability to switch to CM1. To use CM1, you need to be familiar with soldering (unsolder one 0 Ohm resistor and replace it with a different one) to be able to change the power mode.
 Preorder your StereoPi
Now we have pre-production fully tested StereoPi carrier boards. Estimated price starts from $59 (without delivery). If you would like to take part in our upcoming crowdfunding campaign, you can subscribe to updates on our pre-launch page.


Latest news