Pigeon: An Open source Raspberry PI Zero W Cloud Camera

by geraldoramos, published

Pigeon: An Open source Raspberry PI Zero W Cloud Camera by geraldoramos Apr 6, 2017
2 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Design Tools


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

3165Views 495Downloads Found in Camera




Pigeon is a simple cloud home surveillance camera project that uses the new Raspberry Pi Zero W single board computer ($10). It uses a custom designed 3D printed enclosure that fits the board and the camera. A wall mount is also included.

The goal of this project is to provide an easy way to setup a basic (yet functional) cloud camera at a very low cost (~$20 total). The software includes features like motion detection and Dropbox integration.


  • A Rasberry Pi Zero W running Raspbian and connected to the internet. The regular (no-wifi) Raspberry PI Zero also works, but will require a usb wifi doongle that will stay out of the designed enclosure: Buy a Raspberry PI Zero W
  • A Raspberry Pi camera with cable: Buy it
  • (optional) A long micro-usb power cable: Buy it

For software installation instructions please check the Github repository

Also available on Instructables

Assembling is pretty straight forward, please use the comments if you have any questions.

Print Settings


Qidi Tech 1









More from Camera

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

Great work on this project, I love it. Wanted to also check in to see if a design for the SHCHV wide angle lense with IR, seems like it would be a perfect fit for this. Thanks!

good idea! I will try to come up with a version that will fit the SHCHV wide angle camera. It will be a great variation for the project. Just bought one...

Hello! Thanks for the camera case model! Does this model work with the official camera?

Yes, it does work with the official Raspberry Pi camera. I also tested with cheap generic versions I purchased on Aliexpress.

Great idea and great case. I've printed one out and installing it this evening. Pi Wifi Zero and cameras are dirt cheap so can see making plenty of these. Adding a cheap £1 PIR detector would be good to catch wildlife events during the night?

Thanks! I recently got some PIR detectors and I'm thinking about incorporating this to the case. Thanks a lot for the feedback. Let me know if you find any issues in the process or have any suggestions for improvement!

Hi, pillar supports seem a bit thin that hold the pi up. Ive broken mine and probably going to remix to make them more solid and open up the holes that fit the lid to take some 3mm screws. Some reason the scripts dont work , seems to be something to do with the sudo wrappers on either the main file on the on_picture_save etc. The scripts run, just that the dropbox uploader doesnt seem to like running inside them. Dropbox uploader and on_picture_save work fine from the command line though.

Apr 16, 2017 - Modified Apr 16, 2017
geraldoramos - in reply to Ajaxjones


I've just released a new alpha version with various permission fixes and the ability to setup a name for the camera, this way the dropbox folder will be structured in a way that allows multiple cameras. If you define name X for the camera, the dropbox folder where files will be stored will have the same name.

Can you please update (git pull) and try to reinstall it? If git pull doesn't work, you can do:
git fetch --all
git reset --hard origin/master

Or, if you prefer, you can remove everything and start over by cloning the project again.

If after installation of the new version you still have troubles with Dropbox, please edit the file pigeon.conf and in the line 15, change 'daemon on' to 'daemon off'. This way motion will not run in the background.

After doing so, please make sure motion is not running:
ps aux | grep motion

if you see a motion process, like this:
root 5283 18.9 6.5 99216 24816 ? Sl 02:52 2:33 motion -c pigeon.conf

kill it by doing:
sudo kill -9 5283

When you confirm motion is not running, run it:
sudo motion -c /home/pi/pigeon/pigeon.conf

Now motion will be running in the console, please do any movement in the camera and you should see a motion event starting, like below:
[1:ml1] [NTC] [ALL] motion_detected: Motion detected - starting event 1

When you see that, stop any movement for around 30s, so the event will be finalized and upload will begin. If you have issues with the uploading process to dropbox, we will know at this point. Please send the output to me so I can troubleshoot.

Thanks a lot for testing/using the project, you can also create a Github issue if you still have no luck and want to continue troubleshooting from there. I'm fine continuing troubleshooting here too, but since it's code related, it will be nice to handle in the repository.

In regards to the 3D files, if you do any remix, please show me so I can implement your idea in the design as well. I didn't have troubles with my pillar support, what type of material did you print? What resolution and infill? If you want, you can also send some rough drawing of what solution you think will be good to prevent this pillar issue and I can try to implement asap.

I'm using PLA+ with 20% infill. Second iteration I added a web between pillar and case and that kept them in place, but the pillar pegs still broke after inserting the USB power several times. I also added an extension to the lid so that it held the pi in place and gave something to push against. However next iteration I'm going to look at just fixing the pi to the lid which should make it more robust when using the USB connector. Wonder if there is a way to periodically flash the pi onboard LeD and show it's working? It's currently in place keeping an eye on the garden, a PiNoir is en-route today as I have a large IR array and want to capture garden nightlife and going to use an old zero with USB dongle wifi for that

I replied to your comments with instructions how to do a simple script to turn the LED on and off in an interval, but for some reason, it's being moderated (probably because of the code). Hopefully will not take a long time...

Apr 19, 2017 - Modified Apr 19, 2017
geraldoramos - in reply to Ajaxjones

Thanks! I will try to incorporate those improvements in the next iteration of the model. Regarding the Led, It's totally possible.

To turn the the ACT led on, the command is:
echo 0 | sudo tee /sys/class/leds/led0/brightness

To turn it off, just echo 1 instead:
echo 0 | sudo tee /sys/class/leds/led0/brightness

It's possible to make it run whenever a motion event is triggered (just need to run this on/off command during the events we expose through the modules), but if you want to just turn on and off periodically, I would do a script like this:

```#!/usr/bin/env bash

while true; do
echo 1 | sudo tee /sys/class/leds/led0/brightness &&
sleep 60 &&
echo 0 | sudo tee /sys/class/leds/led0/brightness &&
sleep 60

Save it as something like leds.sh and then run it in the background (make sure to add run permission first)
chmod +x leds.sh
sh leds.sh > /dev/null &

This will run the script in the background and turn it on, wait 60 seconds, turn off, wait 60 seconds turn on and do it over and over. You can add this to your rc.local file if you want to make it run whenever the PI restarts.

I'm not sure how visible the LED is after the PI is in the case. Let me know how it goes. Maybe if it's super dark, you will be able to notice well from a distance.

that worked :) I'll post anything else to the git. Interestingly dropbox was all working from cmd line, but when run in no daemon mode it asked for the key again, when that was entered it works and is now catching motion on movement in the garden..

Amazing! Phew :)

Thanks for the feedback, will look into that!

Great idea and nice solution. The problem in our country is, you won't get a Pi Zero under 25 $, if you get it at all (the offerings are really rare). Not to speak about the camera module and the rest of the parts, including the printed ones. A rough calculation showed me, that it would make around 50 $ :-(

Where are you from? Yeah, I understand that this might not be low cost for people outside the U.S :(

Apr 6, 2017 - Modified Apr 6, 2017
TuxMan - in reply to geraldoramos

... from Germany.
I could order it from US or UK, but in this case I had to pay a lot for the mailing and the result would be the same. It is only about the Pi Zero, the other Pis are available for approx. the same price as in US.

bummer.... I bought mine very close to the launch date and it was unavailable everywhere in the US, I ended up buying in the UK:

Apr 6, 2017 - Modified Apr 6, 2017
TuxMan - in reply to geraldoramos

Interesting, that's my supplier too but from within Germany and it was more expensive. But even if you take the UK Pi Hut, the camera adapter there costs 4 Pound (approx. the same as Euro or $, the later a little more) and the camera module 24 Pound plus the Pi Zero plus the rest of the parts you will be in the same price area as I mentioned.
But I'm not arguing against you. You are not making the prices ;-) It is still a nice project and it has benefits compared to similar solutions out of the store. You are flexible in programming the functions you need and to make it more secure as many other products.
I will keep a eye on it :-)
Thanks again!

Hello! I now have a camera cable for sale for about $4.5 shipped anywhere in the world within a week: http://www.ebay.com/itm/40mm-long-Raspberry-Pi-Zero-Zero-W-Compatible-Camera-Cable-USA-Seller-/222491606180?hash=item33cd887ca4:g:7~4AAOSwX61ZA2Zd

Thanks for the information :-)

Other option is to get things from China (not the original PI camera). If you get the raspberry PI zero W from PiHut and the rest from China (generic camera&cable + long power cable), I guess the cost will be the lowest possible. (not sure how hard is to buy from China from Germany).

Anyway, Thanks for checking this project out, really appreciate the conversation.

No problem with orders from China except the time it takes till parts arrive. I had some that took up to 8 weeks, average is 5 weeks. I enjoyed the conversation too and as I said, I will keep an eye on this :-)