Close
0%
0%

StereoPi - DIY stereoscopic camera with Raspberry

For computer vision learners, drone and robot builders, AR/VR and 360 panorama experimenters. Open source hardware.

Similar projects worth following
Key features:
- Supports Raspberry Pi Compute Module 1 and 3 / 3 Lite
- Raspbian support out of the box
- Support two cameras
- Small size
- Open source

StereoPi is designed to be friendly tool for experiments and quick prototyping with all kind of video-related projects. It will definitely helps you to enjoy with:

- Making 3D photos or record stereoscopic video
- Experiment with 3D video livestream to 3D helmets like Oculus Go or Internet
- Build computer vision systems and work with OpenCV
- Make a robots with ROS onboard
- Prototyping 360 degree photo and video solutions
- Creating AR/VR project
- Livestream from your drone or robot in stereo mode or from two independent cameras

Some our experiments:

Front view:

Top view:
LegendInfo
ABoot mode jumper
B1st Camera CSI connector
CMicroUSB (for firmware upload)
DPower connector (5V DC)
EPower switch
FMicroSD
GEthernet RJ45
H2 x USB connectors
IHDMI out
J3rd USB connector pins
K2nd Camera CSI connector
LGPIO head
MSO-DIMM connector for Pi Compute

Specifications:

ParameterInfo
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

  • Factory prorotyes passed all tests

    Eugene12/25/2018 at 10:13 0 comments

    As we mentioned in our previous update, 3 weeks ago we started first step for preparing production at chosen factory. Now we are glad to inform you that first step is successfully complete!

    During these 3 weeks these things happened:

    • During first week factory started PCB manufacturing and begun components bought.
    • During second week components was mounted on equipment, which will be used for batch production. At this step all components were mounted except some connectors. We received some photos at this stage:
    Read more »

  • You from 3rd person view: StereoPi + Oculus Go

    Eugene12/25/2018 at 10:08 0 comments

    A friend of mine hosts a VR club and asked me if it’s possible to make a 3rd person view in a real life. Thus, we decided to conduct another experiment using our StereoPi (a stereoscopic camera with Raspberry Pi inside).

    Read more »

  • ROS: a simple depth map using StereoPi

    Eugene12/25/2018 at 09:55 0 comments

    If you use ROS when creating robots, then you probably know that it supports utilization of stereo cameras. For example, you can create a depth map of the visible field of view, or make a point cloud. I began to wonder how easy it would be to use our StereoPi, a stereo camera with Raspberry Pi inside, in ROS. Earlier, I’d tested and confirmed that a depth map is easily built using OpenCV; but I had never tried ROS - and so, I decided to conduct this new experiment, and document my process of looking for the solution.

    Read more »

  • Stitching 360 panorama with StereoPi

    Eugene12/25/2018 at 09:33 1 comment

    In this article we will continue our experiments with the StereoPi stereoscopic camera based on the Raspberry Pi Compute Module. This time, we will create a 360 degree panoramic photo!

    Click on image for online panorama view

    Intro

    In our last experiments, we installed cameras side-by-side with parallel axes and worked with stereoscopic effect. Today, we will use an inverted approach: cameras pointed in opposite directions, but equipped with wide-angle fisheye optics, each with a 200 degree field of view.

    Let’s start at the end: here’s our resulting creation — basically, a panorama.

    Read more »

View all 4 project logs

Enjoy this project?

Share

Discussions

Travis Collins wrote 2 days ago point

Love this project!

Can you describe the picture resolutions and frame rates you're using in the "3rd person view of yourself" demo? The Sony IMX 219 is an ~8M pixel camera - but I assume this raspberry Pi platform has a resolution capture limit much lower than 2x that. 

Can you share the Occulus Go real-time streaming source code?

  Are you sure? yes | no

michaelturner681 wrote 01/08/2019 at 11:39 point

Can you give us a clue as to when these boards would be available to buy? im currently doing a computer vision project for my final year at University in the UK and this board is exactly the kind of thing i could use as i wish to use stereo vision. My biggest issue is getting capable cameras to connect via usb as i haven't found any adaptor boards to go from the ribbon cable to usb ports of my single board computer.

  Are you sure? yes | no

Eugene wrote 01/11/2019 at 14:28 point

At this moment we do final preparations for crowdfunding campaign start. In better case it will start next week, in worst case a bit later. I can estimate StereoPi availability time as February-March. Right now we have some prototypes from the first test batch (20 pcs), but they are several times more expensive because of a small batch quantity.

  Are you sure? yes | no

MatYay wrote 01/07/2019 at 19:23 point

Hi, Can you tell did you use a Gigabit ethernet chip or just 100Mbit one ?

  Are you sure? yes | no

Eugene wrote 01/11/2019 at 14:24 point

We use 100 Mbit. 

USB/LAN chip on our board is connected to CM3's USB (of Broadcom SoC), which is USB 2.0 and have theoretical bandwidth limit 480 Mbit/s. This bandwidth is shared between LAN and all connected USB devices. So installing Gigabit looks strange, as we are able to use only 50% of his speed (and in the real world it is ~25%, not 50%). Installing USB 3.0 and Gigabit chip here is a good marketing, bud bad engineering. And we are engineers, not marketers, and prefer balanced  solutions :-)

  Are you sure? yes | no

benoitperron wrote 01/07/2019 at 12:36 point

Is it possible to use the StereoPi as a hub to access the two cameras individually(ie: streaming each camera on a deparate port?) and bypass all the stereo stuff you have worked so had to create? :-)

  Are you sure? yes | no

Eugene wrote 01/07/2019 at 13:00 point

Yes, you can. We use this mode for streaming front view and rear view videos from a drone. Two individual cameras, two independent livestreams. Just take into account that it is the single h264 encoder onboard, so you will not be able to encode 2 FullHD h264 streams (but able to do 2 x HD 1280x720 h264 streams with this encoder). Also you have independent MJPEG encoder and other goodies :-)

UPD> Let me answer on a question from DIYdrones here: you can use one Pi camera and one HDMI->CSI adapter to connect, for example, GoPro camera. So you have two independent streams from two optical devices.

  Are you sure? yes | no

David Sykes wrote 01/04/2019 at 20:15 point

How are the cameras synchronised ?

What is average mis-synch in msec ?

Thanks.

  Are you sure? yes | no

Eugene wrote 01/07/2019 at 12:55 point

StereoPi use sync implemented in Raspbian kernel. It is software sync, not genlock. While our experiments we were unable to capture any unsync issues in 3D video perception or depth map building. 

Here are some answers on synchronisation questions from user 6by9 (it was he who imlemented stereoscopic mode in Raspbian kernel): https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=85012#p612743

  Are you sure? yes | no

David Sykes wrote 01/07/2019 at 18:40 point

Thanks.

So,in effect does the software 'press' the start on one camera and then on the second camera ?

Unlike most cameras, you would think simple board cameras have virtually no further preparatory work to do and start capturing frames immediately

Do you have a link to that part of the code ?

The only way to really measure sync is by using a crt :-

https://www.3dtv.at/Knowhow/Synctest_en.aspx


With Canon point-and-shoot/bridge cameras (including EOS M3 and M10) I have been able to achieve a sync error of a fraction of a msec.

If a crt test is not possible, it would be useful to see short video clips of fountains,waterfalls or flowing water with lots of water droplets flying around.

It would be very useful if the VSYNC signal was accessible on a test point so that they could be compared on a 'scope.

Is a diagram of the 15-way CSI connector avai;able ?

I have previously powered-up two board cameras at the same time and added a small capacitor across the power-up capacitor of the 'faster' camera to initially bring the VSYNC signals into sync.

The 65mm camera separation is sensible but strictly only applies when  the effective focal length is about 40 to 50mm.

I would be very interested in a configuration where the cameras are as close as possible for macro photography.

Is that possible ?

  Are you sure? yes | no

Bruno Verachten wrote 01/01/2019 at 18:01 point

Any idea of the price tag? Do you think this would work with the HDMI2CSI converter?
https://auvidea.com/b102-hdmi-to-csi-2-bridge-22-pin-fpc/

  Are you sure? yes | no

Eugene wrote 01/01/2019 at 22:01 point

Crowdfunding price is about $70 for board itself and about $120 for set with Compute Module and two v1 cameras.

Yes, board supports Auvidea hdmi2csi converter, but not in dual mode. That is you can not use two such converters. It is not StereoPi fault, but absence of support in Pi kernel. I've asked user 6by9 at Pi forum, here's his answer:https://www.raspberrypi.org/forums/viewtopic.php?f=38&t=120702&p=1108531#p1108448

  Are you sure? yes | no

Bruno Verachten wrote 01/02/2019 at 07:07 point

Thanks a lot. I am not interested in having two hdmi2csi, but only one and a V2 camera on the other csi port. It looks like it would work.

http://www.arducam.com/raspberry-pi-camera-rev-c-improves-optical-performance/

  Are you sure? yes | no

Guido wrote 01/04/2019 at 08:57 point

when is the crowdfunding going to launch ?

Awesome project!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates