Leopard Imaging Camera Module and Angstrom

Good afternoon.

I’m just getting started with the Beagleboard XM (having just conquered GPIO), I’m, in the process of moving to the next peripheral I want to tackle, which is the Leopard Imaging camera port. I have a Leopard Imaging VGA camera, and I would like to do the imaging equivalent of “Hello World”, that is, snapping a picture and either putting the data in a file or making a simple QT program to show the image. That being said, I’m not sure exactly where the best spot to start is on the camera module. Is there a tutorial online or other information available on the device drivers? I was able to find on one blog that I should see a /dev/video directory, but I’m not seeing that on my Angstrom distro, which leads me to believe I need to install a driver in my kernel before I can use the camera. I have angstrom 2011.03 revision 61a4492 installed if that makes any difference.

Many thanks for the beginners help.


  1. What is the name of the Lepoard Board module, and more importantly, what is the model number of the sensor chip on the board.

  2. Lepoard board modules typically used cameras from Omnivision and Aptina. while Omnivision is cheaper typically, I can tell you that support is not as good as that provided by Aptina and I would almost go and buy an Aptina module (http://de.mouser.com/ProductDetail/Leopard-Imaging/LI-5M03/?qs=sGAEpiMZZMuNcqZxhMNT3xU%2fJCqdw3Mn).

  3. Here is a good blog that I’m following to get the camera up and running, http://blog.galemin.com/2011/04/li-5m03-camera-on-beagleboard-xm/

The model number is LI-LBCMVGA. I can’t really see a model number on the sensor. Probably on the back attached to the board.

Alright, so using that blog I was able to get the camera driver installed and I can see it. Now I’m a little stuck on exactly how to proceed. For my first attempt, what I want to do is basically grab a still picture when a GPIO button is pressed and display it (well, maybe even start by just writing it to a file.) I think I need to go through the video4linux drivers, but I’m not certain that’s the right step to take. Anyone ventured down this path before?

Using the gstreamer libraries are the most flexible. There is a nice C++ interface that I intend on using called Gstreamermm. You’ll need to install this library and it’s dependencies so that you can link your application against it.

Alternatively you could just write a bash script that just opens a gstreamer pipe and captures the image to a file / displays it on the screen.

Eitherway to trigger this event you need to either poll the GPIO or use interrupts. I would recommend polling the GPIO in a bash script as this is much more simple than working with interrupts.

So I just converted to a new image, using the LCD7 image as a baseline. Now when I try to run the gst launch command :
gst-launch v4l2src device=/dev/video0 num-buffers=1 …

I am receiving the error:

ERROR: … v4l2src0: Device ‘/dev/video0’ is not a capture device.

I really feel like this is a config problem, but I’m not certain where or what it might be.

my uEnv.txt has

included (the only line in the file)

Any thoughts / suggestions.

It’s really sad that I had this working with an old kernel, but trying to replicate what I did previously doesn’t seem to resolve the problem now.

Hi Walt,