A More Open Raspberry Pi Camera Stack With Libcamera

As open as the Raspberry Pi Foundation has been about their beloved products, they would be the first to admit there’s always more work to be done: Getting a Pi up and running still requires many closed proprietary components. But the foundation works to chip away at it bit by bit, and one of the latest steps is the release of a camera stack built on libcamera.

Most Linux applications interact with the camera via V4L2 or a similar API. These established interfaces were designed back when camera control was limited and consisted of a few simple hardware settings. Today we have far more sophisticated computational techniques for digital photography and video. Algorithms have outgrown dedicated hardware, transforming into software modules that take advantage of CPU and/or GPU processing. In practice, this trend meant bigger and bigger opaque monolithic pieces of proprietary code. Every one a mix of “secret sauce” algorithms commingling with common overhead code wastefully duplicated for each new blob.

We expect camera makers will continue to devise proprietary specialties as they seek a competitive advantage. Fortunately, some of them see benefit in an open-source framework to help break up those monoliths into more manageable pieces, letting them focus on just their own specialized parts. Leveraging something like libcamera for the remainder can reduce their software development workload, leading to faster time to market, lower support cost, and associated benefits to the bottom line that motivates adoption by corporations.

But like every new interface design borne of a grandiose vision, there’s a chicken-and-egg problem. Application developers won’t consume it if there’s no hardware, and hardware manufacturers won’t implement it if no applications use it. For the consumer side, libcamera has modules to interop with V4L2 and other popular interfaces. For the hardware side, it would be useful to have a company with wide reach who believes it is useful to open what they can and isolate the pieces they can’t. This is where the Raspberry Pi foundation found a fit.

The initial release doesn’t support their new High-Quality Camera Module though that is promised soon. In the short term, there is still a lot of work to be done, but we are excited about the long term possibilities. If libcamera can indeed lower the barrier to entry, it would encourage innovation and expanding the set of cameras beyond the officially supported list. We certainly have no shortage of offbeat camera sensor ideas around here, from a 1-kilopixel camera sensor to a decapped DRAM chip.

[via Hackster.io]

Hackaday Podcast 048: Truly Trustworthy Hardware, Glowing Uranium Marbles, Bitstreaming The USB, Chaos Of Congress

Hackaday editors Elliot WIlliams and Mike Szczys kick off the first podcast of the new year. Elliot just got home from Chaos Communications Congress (36c3) with a ton of great stories, and he showed off his electric cargo carrier build while he was there. We recount some of the most interesting hacks of the past few weeks, such as 3D-printed molds for making your own paper-pulp objects, a rudimentary digital camera sensor built by hand, a tattoo-removal laser turned welder, and desktop-artillery that’s delivered in greeting-card format.

Take a look at the links below if you want to follow along, and as always tell us what you think about this episode in the comments!

Direct download (69 MB)

Places to follow Hackaday podcasts:

Continue reading “Hackaday Podcast 048: Truly Trustworthy Hardware, Glowing Uranium Marbles, Bitstreaming The USB, Chaos Of Congress”

A Full IP Webcam With A Raspberry Pi

A Dropcam will run you about $150. Price out a Raspberry Pi, camera sensor, and a CCTV camera housing found on eBay, and it starts to look like there may be a cheaper replacement for a Dropcam sitting around on workbenches, if only someone can figure out the software. [Antoine] did just that, giving any Raspberry Pi the ability to stream H.264 video over a network.

[Antoine]’s software is based on the raspivid tool distributed from the foundation, but that only takes care of capturing and encoding H.264 video from the camera sensor. To add IP camera support, the Live555 RTSP library was mixed in and combined to stream video over the Raspi’s network connection.

With a camera dome enclosure from the usual outlets, [Antoine]’s project really starts to look professional. The specs are respectable, too: it can output a 1080 stream, and with a small modification to an Ethernet cord, this webcam has PoE. Future updates include the ability to record videos based on a trigger and possibly a webserver on the Pi for configuration. [Antoine] says he really isn’t up to speed with Javascript, so any help would be appreciated.

Swapping The Sensor In A DSLR


To take a color image, modern digicams have something called a Bayer pattern – small red green and blue filters, one color for each pixel – that drastically reduce the resolution if all you’re doing is taking black and white pictures. [Lasse] is an astrophotographer, and doesn’t exactly need color pictures, so he decided to swap the color sensor in his camera with a monochrome CCD.

Most DSLRs have CCD sensors on strange surface mount packages or put everything on flex PCBs. [Lasse]’s Olympus E-500, though, features an 8 Megapixel CCD on a ceramic DIP that is actually fairly easy to remove given the right tools and just a little bit of mechanical encouragement.

After putting in a new monochrome CCD, [Lasse] had a much more sensitive sensor in his camera, and processing the RAW files off the camera gives him a great improvement for his astrophotography.

This isn’t [Lasse]’s first adventure in tearing apart DSLRs for astrophotography. Earlier, he uncovered the secrets of the Four Thirds lens format with a logic analyzer, making his Olympus camera a wonderful tool for looking into the heavens.