# DIY WiFi Raspberry Pi Touchscreen Camera

## Overview

http://www.youtube.com/watch?v=MRrELkIHgbU

This project explores the Adafruit PiTFT touchscreen and the Raspberry Pi camera board to create a simple point-and-shoot digital camera. One can optionally use WiFi and Dropbox (a cloud file storage and synchronization service) to automatically transfer photos to another computer for editing.

![](https://cdn-learn.adafruit.com/assets/assets/000/013/602/medium800/raspberry_pi_pi-cam.jpg?1389311971)

![](https://cdn-learn.adafruit.com/assets/assets/000/014/264/medium800/raspberry_pi_hero.jpg?1392317999)

This isn’t likely to replace your digital camera (or even phone-cam) anytime soon…it’s a learning exercise and not a polished consumer item…but as the code is open source, you or others might _customize it_ into something special that your regular camera can’t do.

## Things You’ll Need:

- **Raspberry Pi computer** , _any_ model will work. This project is not&nbsp;especially demanding, so it’s a great use for an older board if you have one around.
- **PiTFT display w/resistive touch.** Various sizes and models are available — for current Raspberry Pi boards (Pi 3, Pi 2, B+ and A+) you’ll want one of the _PiTFT Plus_ variants. For older Pi boards (original Model B or A), a “non-Plus” PiTFT is needed. See featured product links to the right. It _must_ be a PiTFT (connecting to the GPIO header, **not composite&nbsp;or HDMI** ) with **320x240** resolution (no higher, i.e. 3.5" PiTFT won’t work), _must_ have **resistive touch** , _not_ capacitive.
- **Raspberry Pi Camera Board.** &nbsp;Current “v2” cameras or original v1, any will do. For general work you’ll want the **[regular version](https://www.adafruit.com/products/3099)**. For special projects like security or nighttime nature photography, you can experiment with the **[infrared version](http://www.adafruit.com/products/1567 "https://www.adafruit.com/products/3100").**
- **[MicroSD memory card](https://www.adafruit.com/products/1294),** 4GB or larger.
- **HDMI monitor** and **USB keyboard** are needed temporarily during setup. Once everything is configured and working, these are no longer required.

The following parts are **optional:**

- A **[WiFi adapter](http://www.adafruit.com/products/814 "Link: http://www.adafruit.com/products/814")** allows the camera to upload photos to Dropbox (requires account, free). _The Raspberry Pi **3** has WiFi **built in** , so this part isn’t needed with that board._
- A **[USB battery pack](http://www.adafruit.com/products/1565 "Link: http://www.adafruit.com/products/1565")** makes the whole camera portable. If using WiFi, you’ll want a robust battery pack that can provide 1 Amp (some are limited to 500 mA max).

**Some additional parts, tools and skills are also required:** &nbsp;optional buttons or headers on&nbsp;PiTFT displays sometimes require soldering; some means of holding all the pieces together — could be as simple as a few rubber bands, to a drilled-out plastic electronics enclosure, to an elaborate custom 3D-printed case. This all depends on your available resources. Read through to see what’s involved in the project and come up with ideas along the way.

 **Other Raspberry Pi – Point & Shoot Cameras!**  
James Wolf made a Raspberry Pi - Point & Shoot Camera all inside the original Pi case (except battery). He made a little board attached to a cut down ribbon cable, just for the pull up resistors and the button - instructions, pictures and a link to the simple Python file are&nbsp;[located on his site](http://contractorwolf.wordpress.com/raspberry-pi-point-shoot-camera/).

http://www.youtube.com/watch?v=Jfca32qkgY8

# DIY WiFi Raspberry Pi Touchscreen Camera

## Pi Setup

The optional tactile buttons on the PiTFT are not required for this project. You can install the buttons for other things if you like, but the camera software is entirely touchscreen-based. (Newer PiTFT variants already have all the buttons installed by default.)

# Load Operating System

To ensure that all the software interdependencies work, it’s best&nbsp;to **start with a clean installation**.  
  
Format a **4GB or larger** SD card and load it up with the Raspbian operating system. [This guide explains how to prepare a&nbsp;card for the Raspberry Pi](http://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi "Link: http://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi").&nbsp;The **Raspbian “Lite”** edition is recommended for this project.

With the Raspberry Pi powered off, install the **Pi camera** with its **ribbon connector** ,&nbsp;install the **PiTFT** display atop the GPIO header, connect an **HDMI monitor** and **USB keyboard** and go through the normal first-boot procedure.

After logging in, run&nbsp; **sudo raspi-config** for some basic configuration…

The following settings are useful and **recommended:**

- Under _Internationalization Options,_&nbsp;change the keyboard layout&nbsp;to match your region. If your keyboard is producing unexpected characters, this is usually the reason why.
- Also in _International,_ if planning to use wireless networking, change the WiFi country setting for your location. Then you can go back to the main menu and _Network Options_ to set up a WiFi connection.

The following are **optional:**

- Under _Interfacing Options,_&nbsp;enable SSH if you’d prefer to log in remotely and finish the system configuration over a network.
- Other settings can be configured to your liking.

The following should **not** be used:

- _Overclock._ This is a portable, battery-operated project and an overclocked Pi will draw more current. Overclocked systems don’t always play well with the PiTFT and are more likely to corrupt the SD card filesystem. Do not enable this option.

Select “Finish” and then **reboot** when prompted, then more configuration awaits…

Even if you don’t plan to use the Dropbox functionality of this project, it’s&nbsp; **necessary to get the Raspberry Pi on your network** &nbsp;at least temporarily to download additional software. This can be done using the wired&nbsp; **Ethernet** &nbsp;jack (no additional configuration needed), or over&nbsp; **WiFi** &nbsp;using either a USB WiFi adapter or the Pi 3’s built-in wireless networking. If raspi-config doesn’t handle the options you need,&nbsp;**[this guide may be helpful for setting that up](http://learn.adafruit.com/adafruits-raspberry-pi-lesson-3-network-setup).**

Danger: 

# Install & Test PiTFT
Our PiTFT installation guide covers the basic setup (see notes below for specific options):

[Visit the PiTFT 2.8" Resistive Display guide to learn how to setup and install the PiTFT](https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install-2)
When running the PiTFT installer script, select the #1 configuration option: “PiTFT 2.4", 2.8" or 3.2" resistive (240x320)”. This project can work with any of the **resistive** touch **320x240** PiTFT displays. It **will not work with capacitive displays or the 3.5" PiTFT**.

For rotation, select the #1 option: “90 degrees (landscape)”. This covers most situations, but if you find the screen is oriented 180° from what you need, just re-run the adafruit-pitft.sh script and select the #3 option instead (“270 degrees (landscape)”). You do _not_ need to re-run the camera installer script we’ll show later, just the PiTFT installer.

When asked about having the text console on the PiTFT, answer “y”. Then reboot when prompted.

**Make sure you've got the Raspberry Pi booting with the Text Console mode display on the PiTFT before you continue. You'll need to have that PiTFT stuff all working!**

Once you have it working, log in and then shutdown with **sudo shutdown** at the command line

![](https://cdn-learn.adafruit.com/assets/assets/000/013/587/medium800/raspberry_pi_1601console_LRG.jpg?1389246245)

# Setup Virtual Environment

If you are installing on the Bookworm version of Raspberry Pi OS or later, you will need to install your python modules in a virtual environment. You can find more information in the [Python Virtual Environment Usage on Raspberry Pi](https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi) guide. To Install and activate the virtual environment, use the following commands:

```terminal
sudo apt install python3-venv
python -m venv env --system-site-packages
```

To activate the virtual environment:

```terminal
source env/bin/activate
```

# Easy Install

Our camera software requires a complex set of software dependencies. We’ve written a script that takes care of all the ugly parts. You can download and run with&nbsp;these three lines (this is easiest if you login via _ssh_ and copy-and-paste these lines):

```terminal
cd ~
sudo apt-get update
sudo apt-get install -y git python3-pip
pip3 install --upgrade adafruit-python-shell click
curl https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/pi-touch-cam.sh &gt; pi-touch-cam.py
sudo -E env PATH=$PATH python3 pi-touch-cam.py
```

The script explains what it’s about to do and prompts for a “Y” before continuing; any other input will cancel.

It may take **10 minutes** or so to run. Afterward, you’ll be prompted to **reboot** the system again. If this all works, **skip ahead** to the “ **Testing** ” section below!

Primary: 

# Complex Install From Scratch

If you used the “ **Easy Install** ” directions above, you can **ignore this section** and **skip ahead** to “ **Testing** ” below.

These are the steps taken by the pi-cam-install.sh script, if for some reason you need to perform any or all of these steps manually…

### System Tweaks

The file **/boot/config.txt** is modified to enable the camera (if not already active via raspi-config) and also boost the speed of the PiTFT display (changing the “speed” and “fps” values). These lines are usually at the bottom of the file.

```terminal
dtoverlay=pitft28c,rotate=90,speed=80000000,fps=60
start_x=1
gpu_mem=128
```

### Install Prerequisite Software

Our code relies on a few libraries for handling the camera and screen output. One of these, it’s necessary to intentionally _downgrade,_ in order for the touchscreen to interoperate correctly. It’s complicated. These lines in the script set that up (but don’t actually perform the downgrade yet):

```
# Enable Wheezy package sources
echo "deb http://archive.raspbian.org/raspbian wheezy main
" &gt; /etc/apt/sources.list.d/wheezy.list

# Set stable as default package source (currently jessie)
echo "APT::Default-release \"stable\";
" &gt; /etc/apt/apt.conf.d/10defaultRelease

# Set priority for libsdl from wheezy higher then the jessie package
echo "Package: libsdl1.2debian
Pin: release n=jessie
Pin-Priority: -10
Package: libsdl1.2debian
Pin: release n=wheezy
Pin-Priority: 900
" &gt; /etc/apt/preferences.d/libsdl
```

Update the APT package index files&nbsp;and&nbsp;install Python libraries:

```terminal
sudo apt-get update
sudo apt-get -y --force-yes install python-picamera python-pygame python-imaging
```

_Now_ we perform the actual SDL library downgrade (it has to follow the “apt-get update” above):

```terminal
apt-get -y --force-yes install libsdl1.2debian/wheezy
```

### Download the Camera and Dropbox Scripts

Just a couple more steps to download and uncompress these…

```terminal
cd ~pi
wget https://github.com/andreafabrizi/Dropbox-Uploader/archive/master.zip
unzip master.zip
rm master.zip
mv Dropbox-Uploader-master Dropbox-Uploader

wget https://github.com/adafruit/adafruit-pi-cam/archive/master.zip
unzip master.zip
rm master.zip
```

### Modify /etc/rc.local for auto-start (but don’t enable)

These lines are added to /etc/rc.local — the second is intentionally&nbsp;commented out by default. It’s a good idea to test the camera software manually before throwing the switch. These are inserted just before the final “exit 0” line that’s normally present.

```
# Enable this line to run camera at startup:
# cd /home/pi/adafruit-pi-cam-master ; sudo python cam.py
```

# Testing

Now&nbsp;give it a try. The software must be run as root (using the _sudo_ command) in order to access the TFT display:

```terminal
cd adafruit-pi-cam-master
sudo python cam.py
```

If all goes well, after a few seconds’ initialization you should see a live viewfinder preview on the screen, as well as two onscreen buttons.  
  
If this _doesn’t_ happen, an error message should give some sort of troubleshooting guidance; missing library or driver, etc.  
  
There’s still some work to be done if we want to use Dropbox, so quit the camera program for the time being…tap the gear icon (settings), the left arrow and then the confirmation button. You’ll be back at the command line now.

![](https://cdn-learn.adafruit.com/assets/assets/000/013/594/medium800/raspberry_pi_starter-ui.jpg?1389294573)

# Standalone mode

You can&nbsp;have the Pi boot straight into the camera software at startup by editing **/etc/rc.local** (this must be done as root, so “sudo” your text editor of preference):

```terminal
sudo nano /etc/rc.local
```

If you use the Easy Install script, the following line is already present, but commented out. Delete the initial “#” character on the line, save changes and reboot.

Otherwise, if doing this the long way, add&nbsp;the following line just before the final “exit 0”:

```terminal
cd /home/pi/adafruit-pi-cam-master; python cam.py
```

Next time you reboot you should see the text console for a few seconds and then it will start the cam.py&nbsp;software.

# DIY WiFi Raspberry Pi Touchscreen Camera

## Dropbox Setup

Dropbox is a “cloud” file storage and syncing service. A basic account is free and offers two gigabytes of storage. We can leverage this as a means of getting photos off the Raspberry Pi onto other devices (desktop computer, etc.) without cables or swapping cards.  
  
This pretty much requires a WiFi connection; trying to work a camera with an Ethernet cable continually attached would get tiresome. It also requires being in range of your wireless access point, with the Raspberry Pi suitably configured for access.

We’ll use **[this guide from RasPi.TV](http://raspi.tv/2013/how-to-use-dropbox-with-raspberry-pi)**&nbsp;(with minor changes as Dropbox has evolved) to get Dropbox and the Raspberry Pi to work together.&nbsp;The steps include:

- Set up Dropbox account if you don’t already have one.
- Locate the Dropbox Uploader software on the Raspberry Pi.
- Create a Dropbox app and get access credentials.

## 1. Create a Dropbox account if you don’t already have one.

A basic account (2GB limit) is free. Sign up at [Dropbox.com](http://www.dropbox.com).

## 2. Locate the Dropbox Uploader software

There should be a folder called “Dropbox-Uploader” in the pi user’s home directory. The camera installer script downloaded and placed it there.

```
cd ~/Dropbox-Uploader
```

## 3. Create a new Dropbox App through the Dropbox developer site

Visit&nbsp;[https://www.dropbox.com/developers/apps](https://www.dropbox.com/developers/apps)&nbsp;and log in with your Dropbox account credentials.

Use the “Create app” button to begin the process…

![](https://cdn-learn.adafruit.com/assets/assets/000/037/434/medium800/raspberry_pi_dropbox1.png?1479779720)

Select “Dropbox API” and “Full Dropbox,” then assign your app a unique name (e.g. “Bob’s Raspberry Pi Camera”), then click “Create App.”

![](https://cdn-learn.adafruit.com/assets/assets/000/037/435/medium800/raspberry_pi_dropbox2.png?1479779774)

In the Settings tab for your new app, there’s a section with the heading “OAuth 2.” Look for the button “Generate access token.” This will give a long string of seemingly random letters — a unique identifier for tying your camera to your Dropbox account. (This is different from the “App key” and “App secret” — don’t use those — look for the long _access token!_)

![](https://cdn-learn.adafruit.com/assets/assets/000/037/436/medium800/raspberry_pi_dropbox3.png?1479779865)

This last step is easiest if you have SSH enabled on the Pi and are logged in through a terminal program, so you can just copy-and-paste rather than having to type in that whole string exactly…

## 4. Set up Dropbox Uploader

You should be inside the Dropbox-Uploader directory at this point (i.e. typing “pwd” should return “/home/pi/Dropbox-Uploader”).

Run the dropbox\_uploader.sh script:

```
./dropbox_uploader.sh
```

You’ll be prompted to enter your access token that was generated in Step 3. This must be _exact,_ which is why ssh and copy-and-paste is so helpful.

If you mess up this process, you can run “./dropbox\_uploader.sh unlink” to clear out Dropbox Uploader’s settings and start over.

Let’s test it!

```
echo 12345 &gt; foo.txt
./dropbox_uploader.sh upload foo.txt /
```

This will create a small text file (foo.txt) containing the string “12345” and will upload it to the root level of your Dropbox drive. If Dropbox is installed on your “main” computer the file should appear there after a moment, else use a web browser to log into your Dropbox account and you should see it there among your files.

 **If this works, then next time you run the cam.py script you can go into _Settings_ and select _Dropbox_ for storage. Photos will be saved both in the “Photos” folder and uploaded immediately to Dropbox.**

# DIY WiFi Raspberry Pi Touchscreen Camera

## Using the Camera

You briefly saw the camera interface during testing. We can explain in more detail now how it works and what options are available.  
  
Upon startup, the camera program presents a live viewfinder and a couple of buttons. The majority of the screen itself functions as the shutter “button” — tap to take a still photo.  
  
At the bottom of the screen are two buttons. The left button (with the gear icon) will take you to various settings. The right button (with the “play” symbol) lets you review previously-taken photos (if no photos have been taken yet, the camera will let you know it’s “empty”).

![](https://cdn-learn.adafruit.com/assets/assets/000/013/596/medium800/raspberry_pi_screen-basics.jpg?1389301126)

The _Settings_ menu provides access to camera settings. This is <u>not</u> an exhaustive list of every feature possible with the Raspberry Pi camera, just a few essentials to get you started.  
  
The left/right arrow buttons at the top of the screen select among the settings options:

The _Storage_ screen selects between three different options, each with some pros and cons:

- **Photos Folder:** images will be saved inside a “Photos” folder in your Raspberry Pi home directory (the folder will be created if it doesn’t exist). They can be easily accessed from other programs on the Pi, but this partition isn’t easily accessed when inserting the SD card in other computers.  
- **Boot Partition:** images will be saved in the folder “/boot/DCIM/CANON999” on the boot partition. When the SD card is inserted in another computer, it mimics a card from a digital camera and may import photos automatically, depending on system settings. The downside is that space in the boot partition is <u>very</u> limited; you might only store a dozen or so photos there.  
- **Dropbox:** as previously discussed, images are saved in the Photos folder as well as uploaded to Dropbox (if WiFi is connected and Dropbox configured).  

![raspberry_pi_scr1.png](https://cdn-learn.adafruit.com/assets/assets/000/013/597/medium640/raspberry_pi_scr1.png?1389308292)

The _Size_ screen selects from three different image sizes:

- **Large (2592x1944, 4:3 ratio):** this is the largest size (5 megapixels) supported by the Raspberry Pi camera. The actual area captured stretches well beyond what’s shown in the live viewfinder though.  
- **Medium (1920x1080, 16:9 ratio):** HD resolution, widescreen, 2 megapixels.  
- **Small (1440x1080, 4:3 ratio):** 1.5 megapixels.

The latter two modes _should_ display the actual full photo boundaries in the live viewfinder mode, but don’t yet (something in the camera library documentation doesn’t correspond to reality). This is a work in progress and will be addressed once its understood.![raspberry_pi_scr2.png](https://cdn-learn.adafruit.com/assets/assets/000/013/598/medium640/raspberry_pi_scr2.png?1389308318)

The _Effect_ screen is where all the fun happens.  
  
There are 16 different artistic effects that can be applied to photos (plus “normal,” no effect). Make your photos look like an oil painting, or a pen sketch, or turn the colors weird! These all operate on the live preview as well.

![raspberry_pi_scr3.png](https://cdn-learn.adafruit.com/assets/assets/000/013/599/medium640/raspberry_pi_scr3.png?1389308339)

The _ISO_ setting adjusts the camera’s sensitivity to light.  
  
This is a tradeoff…more sensitive settings (higher numbers) work better in low light, but the resulting image may be grainy.  
  
ISO has no effect on the live viewfinder, only captured photos.

![raspberry_pi_scr4.png](https://cdn-learn.adafruit.com/assets/assets/000/013/600/medium640/raspberry_pi_scr4.png?1389308364)

The last screen is an option to quit the camera program, returning to the command line.  
  
Tap the red button to exit, the arrow buttons for other settings, or the Done button to cancel.

![raspberry_pi_scr5.png](https://cdn-learn.adafruit.com/assets/assets/000/013/601/medium640/raspberry_pi_scr5.png?1389308384)

The “Done” button returns to viewfinder mode.  
  
All the camera settings will be saved; next time you run the script, all prior settings will be as you left them.

# DIY WiFi Raspberry Pi Touchscreen Camera

## Next Steps…

This is just a taster. Where you go next is up to you…

- The camera board could be swapped out for the infrared-sensitive [Pi NoIR](http://www.adafruit.com/products/1567) camera.
- The Icon and Button classes in the cam.py script are pretty rudimentary, but might be sufficient for your own touchscreen applications (whether photography-related or otherwise).  
- The camera code could be expanded to do new things. There are _lots_ of [camera settings we haven’t even touched](http://picamera.readthedocs.org). Other capabilities like a self-timer, intervalometer or motion detection could be added. Or capturing video.

Look at this embarrassing assemblage of _rubber bands!_ There’s so much more that could be done here for a proper enclosure…perhaps even laser-cut or 3D-printed if you have access to such.

![raspberry_pi_thumbnail.jpg](https://cdn-learn.adafruit.com/assets/assets/000/013/604/medium640/raspberry_pi_thumbnail.jpg?1389312534)

The package could be slimmed down considerably; there’s a _huge_ amount of empty space between the PiTFT and Raspberry Pi (even more with a Model A board). Advanced makers could squeeze a slim LiPo battery and a 5V boost converter in there, connecting to the expansion header at the right edge of the TFT board instead of the side-protruding USB power connector. The result would be similar in size to some consumer point-and-shoot digital cameras.

![raspberry_pi_battery-gap.jpg](https://cdn-learn.adafruit.com/assets/assets/000/013/603/medium640/raspberry_pi_battery-gap.jpg?1389312194)

# DIY WiFi Raspberry Pi Touchscreen Camera

## 3D Printing an Enclosure

Danger: 

http://www.youtube.com/watch?v=eKDlB2iRlkw

![](https://cdn-learn.adafruit.com/assets/assets/000/014/314/medium800/raspberry_pi_FM1A8040.jpg?1392326774)

## 3D Print a Camera Enclosure!
We designed a multi-part enclosure that snap fits together. Optimized for PLA to print without any rafts or supports! Follow our recommend print/slicing settings for best results. Our assembly guide walks your through the process of putting it together. [Download STLs](http://www.thingiverse.com/thing:244361)
## Snap-fit color enclosure
Print pitouch-cover.stl file in a different color for a stylish look. We used transparent green PLA for the cover and true white for the rest, but you can choose any color you like. ## Optional Parts

- **pitouch-tripod.stl** If you don't want a Tripod Mount
- **pitouch-band.stl** If you don't want Grippy edges
- **pitouch-camring.stl** If you don't want interchangeable lenses.

![](https://cdn-learn.adafruit.com/assets/assets/000/014/265/medium800/raspberry_pi_parts.jpg?1392318538)

# DIY WiFi Raspberry Pi Touchscreen Camera

## Assembling Enclosure

![](https://cdn-learn.adafruit.com/assets/assets/000/014/267/medium800/raspberry_pi_open-case-parts.jpg?1392319529)

## Mounting Pi Cam

Start by adding a piece of tape to the back of the camera's PCB, to prevent any shorts. Use a short ribbon cable and flip it over to the back of the Pi, covering the ethernet port.   
  
Position the camera with the camera hole in the pitouch-cover.stl part. Align it up so the nubs snap into the left and right mounting holes of the pi cam. Press fit the cover into the **pitouch-top** part.  
  
Position the **pitouch-top** part over the Raspberry Pi and angle it down so the SD card slot slips into the proper opening of the pitouch part.

**Note:** The camera in the photo is plugged into the incorrect port.

## Adding Lenses

Snap the **pitouch-camring** part into the camera hole of the **pitouch-top** part. Insert a 12mm split ring into the **pitouch-camring**. The photojojo lens use magnets for mount and connects to the split ring.

![raspberry_pi_FM1A7861.jpg](https://cdn-learn.adafruit.com/assets/assets/000/014/276/medium640/raspberry_pi_FM1A7861.jpg?1392320078)

![raspberry_pi_FM1A7866.jpg](https://cdn-learn.adafruit.com/assets/assets/000/014/277/medium640/raspberry_pi_FM1A7866.jpg?1392320156)

![raspberry_pi_FM1A7857.jpg](https://cdn-learn.adafruit.com/assets/assets/000/014/278/medium640/raspberry_pi_FM1A7857.jpg?1392320249)

![raspberry_pi_FM1A8146.jpg](https://cdn-learn.adafruit.com/assets/assets/000/014/279/medium640/raspberry_pi_FM1A8146.jpg?1392320636)

## Mounting the Raspberry Pi and Touch Screen
With the camera and pi mounted to the **pitouch-top** part, flip the the body and place the **pitouch-bottom** part over the touch screen. Press the **pitouch-bottom** part down snapping the parts together.![raspberry_pi_FM1A8180.jpg](https://cdn-learn.adafruit.com/assets/assets/000/014/307/medium640/raspberry_pi_FM1A8180.jpg?1392325483)

![raspberry_pi_FM1A8191.jpg](https://cdn-learn.adafruit.com/assets/assets/000/014/308/medium640/raspberry_pi_FM1A8191.jpg?1392325572)

![](https://cdn-learn.adafruit.com/assets/assets/000/014/311/medium800/raspberry_pi_FM1A8187.jpg?1392325941)

## Adding Side Bands and Tripod Mount
You can optionally add a tripod mount and grippy bumpers. The Tripod mount can be attached to the bottom of the camera body with 4 small screws. Align up the holes and add screws. Add a standard tripod nut to the bottom of the tripod for attaching to other tripod mounts. ![](https://cdn-learn.adafruit.com/assets/assets/000/014/312/medium800/raspberry_pi_touchscreen.jpg?1392326306)

## Upload, Share and Make
Plug in power to the micro-USB port and photos to your hearts content! If you do make one, please be sure to snap a picture of your creation and click the "[I Made One](http://www.thingiverse.com/thing:244361/add_instance "Link: http://www.thingiverse.com/thing:244361/add\_instance")" button to our [thingiverse](http://www.thingiverse.com/thing:244361/ "Link: http://www.thingiverse.com/thing:244361/") design so we can feature it on our blog!  
![](https://cdn-learn.adafruit.com/assets/assets/000/014/313/medium800/raspberry_pi_tripod.jpg?1392326504)


## Featured Products

### Raspberry Pi DIY Camera Pack

[Raspberry Pi DIY Camera Pack](https://www.adafruit.com/product/3275)
If the holidays promise anything, it’s almost certainly a deluge of photographs. Instead of taking out your smartphones, why not build your own camera?

With one of Adafruit’s best selling screens and an official Raspberry Pi camera, you’ll be ready to set up your very...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3275)
[Related Guides to the Product](https://learn.adafruit.com/products/3275/guides)
### PiTFT Plus Assembled 320x240 2.8" TFT + Resistive Touchscreen

[PiTFT Plus Assembled 320x240 2.8" TFT + Resistive Touchscreen](https://www.adafruit.com/product/2298)
Is this not the cutest little display for the Raspberry Pi? It features a 2.8" display with 320x240 16-bit color pixels and a resistive&nbsp;touch overlay. The plate uses the high speed SPI interface on the Pi and can use the mini display as a console, X window port, displaying images or...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2298)
[Related Guides to the Product](https://learn.adafruit.com/products/2298/guides)
### PiTFT Plus 320x240 3.2" TFT + Resistive Touchscreen

[PiTFT Plus 320x240 3.2" TFT + Resistive Touchscreen](https://www.adafruit.com/product/2616)
Is this not the cutest little display for the Raspberry Pi? It features a 3.2" display with 320x240 16-bit color pixels and a resistive&nbsp;touch overlay. The plate uses the high speed SPI interface on the Pi and can use the mini display as a console, X window port, displaying images or...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2616)
[Related Guides to the Product](https://learn.adafruit.com/products/2616/guides)
### Adafruit PiTFT 2.4" HAT Mini Kit - 320x240 TFT Touchscreen

[Adafruit PiTFT 2.4" HAT Mini Kit - 320x240 TFT Touchscreen](https://www.adafruit.com/product/2455)
Is this not the cutest little display for the Raspberry Pi? It features a 2.4" display with 320x240 16-bit color pixels and a resistive touch overlay. The HAT uses the high speed SPI interface on the Pi and can use the mini display as a console, X window port, displaying images or video...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2455)
[Related Guides to the Product](https://learn.adafruit.com/products/2455/guides)
### Adafruit PiTFT - 320x240 2.8" TFT+Touchscreen for Raspberry Pi

[Adafruit PiTFT - 320x240 2.8" TFT+Touchscreen for Raspberry Pi](https://www.adafruit.com/product/1601)
Is this not the cutest little display for the Raspberry Pi? It features a 2.8" display with 320x240 16-bit color pixels and a resistive touch overlay. The plate uses the high speed SPI interface on the Pi and can use the mini display as a console, X window port, displaying images or video...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1601)
[Related Guides to the Product](https://learn.adafruit.com/products/1601/guides)
### Raspberry Pi 3 - Model B - ARMv8 with 1G RAM

[Raspberry Pi 3 - Model B - ARMv8 with 1G RAM](https://www.adafruit.com/product/3055)
Did you really think the Raspberry Pi would stop getting better? At this point, we sound like a broken record, extolling on the new Pi’s myriad improvements like we’re surprised that the folks at the Raspberry Pi Foundation are continuously making their flagship board better.&nbsp;...

In Stock
[Buy Now](https://www.adafruit.com/product/3055)
[Related Guides to the Product](https://learn.adafruit.com/products/3055/guides)
### Raspberry Pi 2 - Model B v1.2 - ARM Cortex-A53 with 1G RAM

[Raspberry Pi 2 - Model B v1.2 - ARM Cortex-A53 with 1G RAM](https://www.adafruit.com/product/2358)
Didn't think the Raspberry Pi could get any better? You're in for a big surprise! The Raspberry Pi 2 Model B is out and it's amazing! With an upgraded ARM Cortex-A53&nbsp;quad-core processor, Dual Core VideoCore IV Multimedia coprocessor, and a full Gigabyte of RAM, this...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2358)
[Related Guides to the Product](https://learn.adafruit.com/products/2358/guides)
### Raspberry Pi Model A+ 512MB RAM

[Raspberry Pi Model A+ 512MB RAM](https://www.adafruit.com/product/2266)
 **Note:** As of August 10th, 2016 the Raspberry Pi A+ now includes 512 MB of RAM!

The Raspberry Pi Model A+ is the perfect board for the minimalist Pi fan. This low-cost Pi uses the same processor as the model B+, but does away with the Ethernet jack and three of the USB...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2266)
[Related Guides to the Product](https://learn.adafruit.com/products/2266/guides)

## Related Guides

- [RasPipe: A Raspberry Pi Pipeline Viewer, Part 1](https://learn.adafruit.com/raspipe-a-raspberry-pi-pipeline-viewer.md)
- [Pi Hole Ad Detection Display with PiTFT](https://learn.adafruit.com/pi-hole-ad-pitft-tft-detection-display.md)
- [apt.adafruit.com](https://learn.adafruit.com/apt-adafruit-com.md)
- [Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi](https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi.md)
- [Raspberry Pi Wearable Time Lapse Camera](https://learn.adafruit.com/raspberry-pi-wearable-time-lapse-camera.md)
- [Running PyPortal Code on Blinka with Displayio](https://learn.adafruit.com/running-pyportal-code-on-blinka-with-displayio.md)
- [Monitor PiCam and temperature on a PiTFT via adafruit.io](https://learn.adafruit.com/monitor-picam-and-temperature-on-a-pitft-via-adafruit-dot-io.md)
- [Processing on the Raspberry Pi & PiTFT](https://learn.adafruit.com/processing-on-the-raspberry-pi-and-pitft.md)
- [Mini Mac Pi](https://learn.adafruit.com/mini-mac-pi.md)
- [SnapPiCam Raspberry Pi Camera](https://learn.adafruit.com/snappicam-raspberry-pi-camera.md)
- [Ultimate Youtube Live Camera](https://learn.adafruit.com/ultimate-youtube-live-camera.md)
- [Running OpenGL-based Games & Emulators on Adafruit PiTFT Displays](https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays.md)
- [Touchscreen Pi Timelapse Controller](https://learn.adafruit.com/touchscreen-pi-timelapse-controller.md)
- [Raspberry Pi radio player with touchscreen](https://learn.adafruit.com/raspberry-pi-radio-player-with-touchscreen.md)
- [RasPi - Animated GIF Picture Frame](https://learn.adafruit.com/raspi-animated-gif-picture-frame.md)
