BerryCam: use your Raspberry Pi camera board with your iPhone

We know that a lot of you have iPhones – and there are some very useful things you can do with a Pi and an iPhone already, not least using SiriProxy to get your phone interacting with objects in the real world. (Once I work out how to automate emptying the cat litter, I’ll be making sure I can ask Siri to do it for me just to add an extra layer of entertainment.) There’s lots of SiriProxy work going on in the forums – head over, sign up, and join in.

But there’s more!

James Moore has made BerryCam available for free: it’s an app that will allow you to control your Raspberry Pi camera board direct from your iPhone, over a local network, with a pretty interface. You can use the phone to shoot and preview images, easily access the various effects and filters we make available; and you can control settings like exposure and white balance direct from the phone. Images are saved to your phone’s camera roll and to the Pi.

Now, we realise that this all added simplicity means that you won’t have to learn about SSH to view what your Pi is doing on another machine; or learn about giving the camera instructions from the command line. And, to be honest, we don’t entirely approve. It feels like cheating. So while we’d encourage you to give BerryCam a whirl for very compelling reasons of convenience, we’d encourage you even more strongly to try the camera without it first. Learning is good for your soul. You’ll find all the documentation you need to get going with the camera board right here, and plenty of help on the forums. And then you can download BerryCam and use it to your heart’s content.

If SSH is new to you too, there’s a great tutorial from The Raspberry Pi Guy (not affiliated with the Foundation – Matt’s another of our ridiculously helpful community members) you should watch.

Equipped with your new knowledge, you can go and use shortcuts (especially beautiful and well-presented ones like BerryCam) with a clear conscience. Thanks Matt, and thanks James!



Jim avatar

Hey thanks Liz! Not leaving anybody out an Android version is on the way…

I’ve also found that the support pages for BerryCam have been a great place to give people the confidence to start delving into things like Python and the Shell a bit more, and people are trying things with routing so it’s a good catalyst to try new things with the Pi

liz avatar

Aw no – thank YOU. We thought it was a really slick way to do it.

meltwater avatar

Great to hear that android is coming, will be sure to test that out. :)

InverseSandwich avatar

Good to see an Android version is coming, considering that Android is the most popular mobile platform, and the best. And please for the love of god, please ensure that the target API level is 18!

Rick avatar

This would be nice for previewing the camera when setting up the RasperryPi + Camera in a headless configuration.

The Raspberry Pi Guy avatar

What an awesome app! And thank you very much for embedding my video!

The Raspberry Pi Guy

The Raspberry Pi Guy avatar

May I add is well: please excuse the quality, that was one of my earlier videos!

Anyway, thanks again Liz!


Bantammenace avatar

A young friend of mine has disability issues that result in him not being able to use a keyboard or a mouse. I would love to open up the world of RPi to him but the only way in, afaik, is through his ipad. This is the first example I have seen of how it might be done. Is there a thread in the forum relating interfacing the iPad to the RPi ?
Please do not be too sniffy about his use of the ipad as its been specially adapted and he has no alternative but to use it.

liz avatar

Go and have a look – and if there isn’t, start a thread of your own. You should find lots of help; don’t worry about sniffiness. We are very careful to make sure that the forums are a nice and welcoming place, and sniffiness gets stomped on hard.

James Moore avatar

This sounds like a prime candidate for say a combination of sontrollers like Twines, the iPad or voice activation, gesture based control and the Raspberry Pi to do certain tasks. It could literally help with any number of scenarios from checking a door is locked to putting a light on

Jim Manley avatar

I’ll see you over in the forum on whatever thread you might start if there isn’t already an appropriate one there. I want the iPad to be seamlessly integrated with the Pi as much as possible, especially for challenged users since I’m a software developer and professional STEM educator for both gifted and talented as well as students with all sorts of challenges.

elvisimprsntr avatar

Let me know if you need help with that Siri controlled cat litter box. I’m thinking a PiFace connected to the button on the electric litter box should do the trick.

liz avatar

It’s not so much a matter of a lack of skill or knowledge, as it is a lack of time! Thanks very much, though.

elvisimprsntr avatar

I have no doubt you can do it, but I created a RPi SD card image with SiriProxy pre-installed to help make it a little easier for everyone to get started.
I also have a SiriPorxy PiFace plugin, which is why I suggested it.

liz avatar

Ooh – cool. Thank you!

Tasty_Pi avatar

Nice work and I’m awaiting the Android version :)

leo avatar


I can only run up to ios5.1 and the app requires ios6. Its seems to give such an amazing functionality, I wish I could actually run it on my ipod.

James Moore avatar

Apologies… when I pushed out the build it was targetted at iOS6, but it shouldn’t be too much of a problem to lower this for subsequent builds.

Rich avatar

Nice app! works well with my ipad. What about incorporating the timelapse function?

James Moore avatar

I reckon so! Limited time at the moment but will definitely look into doing this!

Rob Pettengill avatar

I’ve started using Berrycam for my prime focus astrophotography using the Raspberry Pi and am very pleased with it’s interface and reliability. You can see pix of Jupiter and the moon via Berrycam at

James Moore avatar

You have literally MADE MY DAY is not my weekend!

So delighted to see how you’ve been using the app.

Your moon images are simply awesome!

TimBacon avatar

“Now, we realise that this all added simplicity means that you won’t have to learn about SSH to view what your Pi is doing on another machine; or learn about giving the camera instructions from the command line. And, to be honest, we don’t entirely approve. ”

BUT the previews (including the output of raspvid -d ) don’t show over ssh. You have to have a terminal session directly connected to the pi itself. It’s obvious really, but it might be an idea to amend the article to emphasize that.

Jim Moore avatar

Just a word of thanks for the bundles of enthusiasm for BerryCam and it’s been brilliant seeing how everybody is actually using the app.

Just wanted to follow up with some good news too… I am turning BerryCam into a web-app which lives and runs on the RaspberryPi itself.

This means that you’ll get the same interface and tools, as per the original iOS app – but will allow you to access it on pretty much anything including Android, Kindle, Desktops, Laptops, Windows Mobile, BlackBerry or the Pi itself!

I’ll hopefully have a version available in the next week or so, and it’ll be completely free and open source, so you can tweak/hack/mash to your own needs.


Mark avatar

Can this be used remotely like a looxcie camera?

Jim avatar

I reckon with the right network settings yes it could!

JIM avatar

Please to say that BerryCam Express is now available on GitHub…

Diego Rivas avatar

Hi Jim, I am working on a similar project than yours but I started from scratch. Basically using an Arduino board, a bluetooth module, and a camera module. I am stuck now because I can’t get the image detected by the camera module to be converted to data that can be sent to the BT module and read by an iphone app. Having seen your app, I find it a good way to learn about the process.
Do you have any recommendations on where I should go from where I am now? Do you believe it is possible with the setup I have, or should I try it with Raspberry Pi?
Also, what do you use for the interface between the iPhone and the Raspberry pi? How do you get such a high quality stream?

Thanks for the help, very cool work!

Comments are closed