I am trying to use Raspberry Pi to stream and audio/video feed, and will probably be installing FFmpeg to do most of the work.

I am trying to connect a camera and a microphone to the Pi board so that it can act as input to FFmpeg.

My first thought was to make a 2nd board with a cheap ARM/DSP processor on it, and connect the camera/mic to that board. Then get that board and the Pi board communicating through UART and Pi's GPIO pins.

But now that I'm thinking about it, do I even need this 2nd board? Why couldn't I solder/wire the camera and mic up to the GPIO pins directly, and then read their values from a device driver or some other software, like Pi4J? If the only problem to this solution is that it permanently dedicates the various GPIO pins to the camera/mic, I'm OK with that.

1 Answer 1


This what you are trying or suppose to achieve is of course doable but extreamly hard. If you would like to connect some camera and microphone pins directly to GPIO pins this could not be trivial. There are some projects ongoing that tryes to add camera direct support.

Besides of some hardware issues there is need to write some driver and for using camera also work with GPU will be needed. I know that latelly Broadcom opens RPi GPU code so definatelly this will be doable.

Newertheless I would consider using some USB both mic and camera. This will be much simpler to implement. You will need to find only some ready driver and in worst case compile it for RPi.

What is more GPIO library you have mentioned is good for simple usage like blink diode or read some inputs. For more sophisticated solution (like those you are mentioning) this will be not enough. Like I have mentioned you will need rather kernel module instead of user-space library.

  • Thanks @codewarrior (+1) - I guess I'm confused by your answer here. In this question you say that I don't need to write a driver, but here you are saying that I do. Can you explain why? Thanks again!
    – zharvey
    Dec 9, 2012 at 15:50
  • For the communication between 2 microcontrollers most probably (depending on choosen communication way) you will not need to wrire any driver (if you will choose standard/known mechanism - UART, I2C or SPI). You have mentioned in previous question that you will try to communicate two microcontrollers. For low level communication with your peripherials (mic and camera) you will need some driver for sure. Dec 9, 2012 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.