Cape for picamera

Is it possible for there to be an interface board for the picamera. It is significantly cheaper than the current camera cape and has a higher megapixel resolution.

I don't know what kind of speeds you get compared to a USB camera.

I don’t know of any. It might be possible, but it would require some real documentation to make that determination.

Gerald

Thanks.

I am interested in installing the picamera on the BBB.
Would you be interested in working with me on this ?
The Raspberry Pi Camera Module is a custom designed add-on for Raspberry Pi. It attaches to Raspberry Pi by way of one of the two small sockets on the board upper surface. This interface uses the dedicated CSI interface, which was designed especially for interfacing to cameras. The CSI bus is capable of extremely high data rates, and it exclusively carries pixel data. see http://www.mipi.org/specifications/camera-interface Apparently the RBPi uses the CSI-2 bus standard. Quote: On the production board[23], the Raspberry Pi Foundation design brings out the MIPI CSI-2 (Camera Serial Interface[24]) to a 15-way flat flex connector S5, between the Ethernet and HDMI connectors. A compatible camera[25] with 5 Megapixels and 1080p video resolution was released in May 2013. The connector implements the control link ( 2 pins ) , the differential clock ( 2 pins ) , ground ( 4 pins ) , 3.3V power ( 1 pin ) , 2 channels of differential pixel data ( 4 pins ) , CAMCLK ( 1 pin ) and CAMGPIO ( 1 pin ) . Schematics can be found here ==> http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf

The BBB does not appear to have any obvious high speed I/O for supporting the CSI-2 data channels , so some research will have to be done.

Best Gus in Denver @99guspuppet

The GPIO subsystem of the AM33xx CPUs does not run fast enough to do what you want here, I honestly think the best route for this would to design a board that converted a CSI device into a USB device. Problem is that the CSI (and DSI) standards are proprietary, and one must be a member of MIPI.org to access those standards. And one who is a member is not allowed to discuss those documents, because they have all signed NDAs. Its a bummer really.

Is there a way to get parallel video from the picamera, though? Parallel video data pins d4 through d9 are muxed with the CSI-2 ones. I don’t know where to find d0-d3.

Sadly, it won’t work with the Pi camera board. Not enough of the pins are broken out. You’d also need the I2C lines (for control), vsync, and hsync lines broken out. Because the d0-d3 lines aren’t broken out, you’d loose a lot of color depth, but oh well. You also can’t use the standard GPIO system interface from Linux to get it to work. Its just not fast enough to handle the camera signals. HOWEVER - what you could do is use the PRUs and their special high speed GPIOs to talk to a CMOS camera module in parallel mode. The PRUs have access to system memory as well, so you can allocate a block of the system memory to shove images. It also appears someone has already done this with a cheap CMOS camera from eBay. http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/08/18/bbb–imaging-with-a-pru-connected-camera

Nathaniel Lewis
CTO at E1FTW Games
3rd year Undergraduate, Computer Science and Engineering
Project Manager for the Robotics Society at UC Merced
Undergraduate Lab Technician Intern at MESA Labs
(925) 309 9730
linux.robotdude@gmail.com

Although I still highly recommend that you use a USB webcam. The majority of the high end webcams (logitech at least) are compatible with the UVC driver, thus working out of the box with the Beaglebone. I have a v4l2 frame grabber in C++ I use with my robotics project.

https://github.com/Teknoman117/kybernetes/blob/master/kybernetes/src/kybernetes/sensor/uvccamera.cpp
https://github.com/Teknoman117/kybernetes/blob/master/kybernetes/include/kybernetes/sensor/uvccamera.hpp

Basically, it works fairly simply

// Open camera and grab an image
UVCCamera c("/dev/video0", 640, 480, V4L2_PIX_FMT_YUYV);

// Blocks until a frame is received, frame will be resized to store the image
std::vector frame;

c.grab(frame);

Nathaniel Lewis
CTO at E1FTW Games
3rd year Undergraduate, Computer Science and Engineering
Project Manager for the Robotics Society at UC Merced
Undergraduate Lab Technician Intern at MESA Labs
(925) 309 9730
linux.robotdude@gmail.com

bouncing an old thread but unfortunately i’ve not found a solution either, recently got a 5mp picamera OV5647 from ebay
the camera is apparently pretty performant and high quality, videos from the web
https://www.youtube.com/watch?v=OYcsRjgQ48A
https://www.youtube.com/watch?v=hpU6oAQoTSg
https://www.youtube.com/watch?v=qXEaJR4nMZU

but that’d require the use of the mipi csi-2 interface
there are also 8mp versions out there

decided to do it the brute force way, get an rpi 3 model b (important thing is to check for the csi camera connector)
rpi is apparently the ‘better platform’ for media streaming due to its use of closed sourced mipi csi & dsi interfaces
however rpi lacks the open sourced flare of beagleboards and in a way beaglebone black is more versatile for ‘arduino’ style interfacing projects due to its open source nature, its connector design & that the linux kernel is very much designed ‘around’ the beagle bone black with things like device overlays that’s pioneered on the beaglebone black

The Logitech 920C I believe it is is reported to work very well with the Beaglebone.