Pigeon: a 3D Printed Cloud Camera That Uses the New Raspberry Pi Zero W





Introduction: Pigeon: a 3D Printed Cloud Camera That Uses the New Raspberry Pi Zero W

About: Entrepreneur passionate about innovation of any kind.

Pigeon is a simple cloud home surveillance camera project that uses the new Raspberry Pi Zero W single board computer ($10). It also uses a custom designed 3D printed enclosure that fits the board and the camera along with a wall mount. The software should work with any Raspberry PI version, but the 3D design is made specifically for the PI Zero W platform.

The goal of this project is to provide an easy way to setup a basic (yet functional) hackable cloud camera at the lowest possible cost.


  • Motion detection
  • Integrated with Dropbox for motion detected clips storage (MP4 format)
  • Simple step-by-step installation wizard
  • Live streaming in the desktop/mobile browser with remote access capabilities
  • Authentication for live stream visualization
  • 3D printed enclosure
  • Automatically deletes locally recorded clips after uploading to Dropbox

Step 1: Hardware and Components

You will need:

Step 2: Software Installation

Connect to your Raspberry PI using SSH or using a monitor. Make sure you have the Raspberry PI camera already working, You can test using the following command:

raspistill -o cam.jpg 

If camera is not working, make sure it's activated in the setup (option 5):

sudo raspi-config

If you have problems, check https://www.raspberrypi.org/documentation/configu...

Now, clone our repository using git (recommended) in the root of your Raspberry PI home directory:

cd /home/pi
git clone https://github.com/geraldoramos/pigeon.git
cd pigeon

When ready, give execution permission to the setup script and run it:

chmod +x pigeon_install.sh

The installation should take about 10-15 minutes and inputs from you will be necessary towards the process (ex: Dropbox configuration). You can visit this Github Repo to report any issues and check for updates.

Step 3: After Install

After the installation is completed, you will be able to watch the camera live feed by accessing:


If you want to setup remote access, make sure to setup port forwarding in your modem admin panel (port 8099 to your Raspberry IP.)

If everything went fine, you will start seeing MP4 clips being saved on your Dropbox folder when motion events are triggered.

If you want to start at boot, edit the rc.local file as following:

sudo nano /etc/rc.local 

Add the following command below the comment, but leave the line exit 0 at the end, then save the file and exit:

motion -c /home/pi/pigeon/pigeon.conf 

To finalize, make sure you are using the right timezone, so the camera clips date will make sense to you.

sudo raspi-config 
Select: Internationalisation Options

This project is at a very early stage. You can edit the pigeon.conf file to change default configurations and make it more suitable for your needs.

Please check our Github repo for issues and updates.



  • Oil Contest

    Oil Contest
  • Casting Contest

    Casting Contest
  • Make it Move Contest

    Make it Move Contest

We have a be nice policy.
Please be positive and constructive.


3 Questions

Can I use it without dropbox? For example FTP, Samba shares or googleDrive.

"-bash: git: command not found" what I'm supposed to do?


first sudo apt-get install git


Hi Geraldo,

I really like your project, and I finally got time to play with it.

I installed everything as described, and everything went well, except the start at boot. I wrote my init.d file to solve the issue.

I also tried with https://www.modmypi.com/raspberry-pi/camera/camera-boards/raspberry-pi-night-vision-camera, it works well both in IR mode and daylight. The next is to design and 3d print the case.

Thank you so much for inspiration and sharing the wonderfull application.


That's neat :) A lot of people in town here need something like this!

2 replies

Hi Geraldo, good project! I'll give it a try by next week.

One question, I see you've implemented an authentication for live streaming visualization. Is it possible to embed this streaming in to a web page passing the credentials as parameters? I'm using node-red and I'd like to integrate it on my Dashboard ui.


Hi Geraldo, your project is really nice. I made one but I need to change the Rpi cam by a wide angle camera. I bought it at ModMyPi. The lens is bigger and the ribbon connector is in the opposite side. Is it possible to modify the 3D printed case to fit the WA cam?

Hi, your project is nice. I made one but I need to use a wide angle camera. I bought one on ModMyPi then the lens is bigger. Also, the ribbon connector of my new camera is in soldered in the opposite side.

Is it possible to modify the 3D printed box to fit the camera?

Would it be possible to turn on an led when motion is detected? That would make this the best budget cctv camera! Amazing project man!

1 reply

Will try to come out with this in the V2 of this project! Thanks for the feedback!

Amazing! Would love if the web server had some kind of gui, or a chrome addon for simple viewing?

4 replies

Thanks for the feedback! Will try to implement a GUI in the future!

Awesome! May i ask when i should expect the GUI update?

sorry, I don't have an expected timeline. I'm in talks with the guys from https://bitdog.io/. We might integrate pigeon in their mobile apps

That looks great! I'm going to try and make one. Only question: if I use a NOIR camera (like this one https://shop.pimoroni.com/products/raspberry-pi-ze... I'll need an IR LED or two. Should I power them separately or could I use the Pi?

Many thanks, Duncan

2 replies

Hi Ducan, good point. Powering it separately might be a better option I think. You can try to power it using the PI, but you might need to do a hole or change the design a bit. In terms of power consumption, I think it will depend on your power supply max amperage. I think a 2A supply should be enough for everything...

Wow thanks for the fast response! I'll try that. Looking for the lowest power solution as I need to run it off a car battery.

Login on your raspberry pi and:

  1. sudo raspi-config
  2. Select Internationalisation Options
  3. Select I2 Change Timezone
  4. Select your Geographical Area
  5. Select your nearest City
  6. Select Finish
  7. Select Yes to reboot now

Hey, Geraldo! Do you happen to know if there is any way to rotate the camera orientation? Thanks!

1 reply

Yes, just edit the file pigeon.conf and search for "rotate" (line 101). You can rotate the camera using any angle (180 is the default value to match the provided case orientation).