# Face Mask Efficacy Testing with SCIENCE!

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/095/441/medium800/sensors_banner.jpg?1602091905)

The wearing of face masks to help fight the spread of the [coronavirus disease 2019](https://en.wikipedia.org/wiki/Coronavirus_disease_2019) (COVID-19) is a topic of much discussion. No one likes wearing these stupid masks. But hopefully everyone wants to help prevent spreading the covid virus. So do masks actually help with this?

![](https://cdn-learn.adafruit.com/assets/assets/000/095/434/medium800/sensors_adabot.jpg?1602086023)

Warning: 

A recent paper was published that outlines a simple method for testing mask efficacy, titled "[Low-cost measurement of face mask efficacy for filtering expelled droplets during speech](https://advances.sciencemag.org/content/6/36/eabd3083.full)". In this guide we will show how you could recreate the test setup from that paper and run the experiment for yourself, along with results from our own recreation.

We think this would make for a great experiment to run in an educational setting. It has all the elements of the [scientific method](https://en.wikipedia.org/wiki/Scientific_method) and can be carried out with reasonably cheap and accessible hardware and software.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/803/medium800/sensors_bitmap.jpg?1602690819)

![](https://cdn-learn.adafruit.com/assets/assets/000/095/804/medium800thumb/sensors_test.jpg?1602690836)

# Face Mask Efficacy Testing with SCIENCE!

## How A Mask Can Help

Experiments are done to gather information to help provide answers to questions. So before starting any experiment, we first need to figure out what the question is. The obvious question that might be asked is:

> Does wearing a mask help prevent the spread of covid?

That's obviously what is important. However, that question is too broad to be easily answered directly. Let's back up a bit and consider how covid can be spread. The [World Health Organization](https://www.who.int/) has a good scientific brief available [here](https://www.who.int/news-room/commentaries/detail/transmission-of-sars-cov-2-implications-for-infection-prevention-precautions). From that article, they identify several " **Modes of transmission**", including:

- **Contact and droplet transmission** - droplets \>5-10 micrometers (um) in diameter via coughing, sneezing, or even talking.
- **Airborne transmission** - droplets \<5um in diameter.
- **Fomite transmission** (contaminated surfaces) - when the above sources land on a surface.
- Other

The [Center for Disease Control](https://www.cdc.gov) also has a [summary page](https://www.cdc.gov/coronavirus/2019-ncov/prevent-getting-sick/how-covid-spreads.html). From there they include among the most common methods of spreading:

- When people with COVID-19 cough, sneeze, sing, talk, or breathe they produce **respiratory droplets**.

So let's focus on those "droplets" - these \>5-10um diameter airborne "blobs" that come flying out of our mouths. Can a mask stop those? Well, that's something we can more easily test directly. So let's state that as our question:

> **Does a mask reduce the amount of droplets?**

The general idea will be to create a laser light sheet into which we can speak and spew forth our blobs. The laser sheet will illuminate them and we will capture the results via video, which we can then process. Let's look at the hardware specifics in more detail.

# Face Mask Efficacy Testing with SCIENCE!

## Hardware Setup

Here we outline the specific hardware items used. Some can be sourced from Adafruit. Other items are from external vendors.

## Camera

A Raspberry Pi Zero W with a V2 camera module was used for all video capture. You could use any other model Pi as well. But since we only used the Pi for video capture, and all Pi's have a good GPU, the Pi Zero W is plenty good.

You can get these items separately:

### Raspberry Pi Zero W

[Raspberry Pi Zero W](https://www.adafruit.com/product/3400)
If you didn't think that the Raspberry Pi Zero could possibly get any better, then boy do we have a pleasant surprise for you!&nbsp;The new **Raspberry Pi Zero W** offers all the benefits of the Pi Zero v1.3, but with one big difference – **built-in...**

In Stock
[Buy Now](https://www.adafruit.com/product/3400)
[Related Guides to the Product](https://learn.adafruit.com/products/3400/guides)
![Angled shot of Raspberry Pi Zero W computer.](https://cdn-shop.adafruit.com/640x480/3400-06.jpg)

### Raspberry Pi Camera Board v2 - 8 Megapixels

[Raspberry Pi Camera Board v2 - 8 Megapixels](https://www.adafruit.com/product/3099)
Snap, snap! The Camera v2 is the new official camera board released by the Raspberry Pi Foundation!

The **Raspberry Pi Camera Board v2** is a high quality 8 megapixel Sony IMX219 image sensor custom designed add-on board for Raspberry Pi, featuring a fixed focus lens....

In Stock
[Buy Now](https://www.adafruit.com/product/3099)
[Related Guides to the Product](https://learn.adafruit.com/products/3099/guides)
![Angled shot of Raspberry Pi Camera Board v2 - 8 Megapixels connected to a flex cable and a Raspberry Pi.](https://cdn-shop.adafruit.com/640x480/3099-02.jpg)

### Raspberry Pi Zero v1.3 Camera Cable

[Raspberry Pi Zero v1.3 Camera Cable](https://www.adafruit.com/product/3157)
This camera cable is specifically designed to work with the [Raspberry Pi Zero - Version 1.3](https://www.adafruit.com/product/2885)! Just plug it into your Pi Zero's camera port and then the other end into one of the official [Pi...](https://www.adafruit.com/categories/802)

In Stock
[Buy Now](https://www.adafruit.com/product/3157)
[Related Guides to the Product](https://learn.adafruit.com/products/3157/guides)
![Angled shot of a Raspberry Pi Zero v1.3 Camera Cable. ](https://cdn-shop.adafruit.com/640x480/3157-02.jpg)

Or you can get them as a kit:

### Raspberry Pi Zero W Camera Pack - Includes Pi Zero W

[Raspberry Pi Zero W Camera Pack - Includes Pi Zero W](https://www.adafruit.com/product/3414)
We've got to hand it to the Pi Foundation - adding a camera port _ **and** _&nbsp;built-in WiFi to the already awesome Pi Zero was a brilliant move. Now you can add one of the awesome&nbsp;[Raspberry Pi cameras](https://www.adafruit.com/categories/802) to your...

In Stock
[Buy Now](https://www.adafruit.com/product/3414)
[Related Guides to the Product](https://learn.adafruit.com/products/3414/guides)
![Angled shot of a Raspberry Pi Zero W Camera Pack - Includes Pi Zero W](https://cdn-shop.adafruit.com/640x480/3414-05.jpg)

You'll also want one of these to help focus the camera lens:

 **NOTE:** One drawback to using a Pi Zero W is the smaller and more delicate camera connector on the Pi. The "regular" sized Pi boards all have a larger and generally more durable camera connector that may prove more robust in an educational setting. We mainly wanted to show that this experiment is possible on the cheapest Pi available. **Any model Pi will work.**

[Raspberry Pi Zero Headless Quick Start](https://learn.adafruit.com/raspberry-pi-zero-creation)
## Laser and Optics

Here are the links to the laser, batteries, and line generating optics used:

- [THOR H Series Laser Pointer](https://www.laserpointerstore.com/products/thor-h-series-laser-pointer/), in 520nm (green)
- [CR123A Batteries (2x) and Charger](https://www.bhphotovideo.com/c/product/908622-REG/watson_adc_3vcr123a_charger_for_cr123a_3v.html)
- [CR123A (2x) Spare Batteries](https://www.bhphotovideo.com/c/product/831300-REG/Watson_cr123a_3v_CR123A_Rechargeable_Lithium_Ion_Battery.html)
- [20deg Divergence Lens (CL007)](https://lasertoolsco.com/product/laser-line-generator-optics/), for generating laser sheet

Yep, the optics were more expensive than the laser itself. But we got a very nice laser sheet as a result.

## The Box

We used a left over cardboard shipping box lined with black poster board. Any other suitable box with similar dimensions should be fine.

Inside of the box showing the cutouts for:

- Pi Camera
- Laser Sheet
- Mask (where tester speaks through)

![sensors_box.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/313/medium640/sensors_box.jpg?1601920577)

This is the side where the Pi Zero W and Pi Camera are attached. A small hole is cut for the camera module.

![sensors_box1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/314/medium640/sensors_box1.jpg?1601920706)

The Pi Zero W and Pi Camera module are put in place. Make sure the camera module is pointing through the hole.

![sensors_box2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/315/medium640/sensors_box2.jpg?1601920758)

Attach the various cables. At a minimum, you need power. Here we show additional connections for audio and a button.

![sensors_box3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/316/medium640/sensors_box3.jpg?1601920807)

Tack everything down with blue tape.

![sensors_box4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/317/medium640/sensors_box4.jpg?1601920858)

And here's the final setup, with the addition of the audio cue and the Go button. The mask tester sits in front of the box and places their mouth into the mask test hole. When ready, they can then press the Go button. An audio cue plays to let them know to start speaking. After the video is done, another audio cue plays to let them know it's over.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/318/medium800/sensors_bitmap.jpg?1601921319)

Here's an example with the laser on and spraying in some water from above through the open box top. Even with the room lights on, the particles are clearly visible in the light sheet.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/329/medium800/sensors_bitmap.jpg?1601931454)

Note that the box used here does **not** have an exit slot for the laser, which the box in the original paper did. This did produce a noticeable amount of back scattered light into the closed box, as observed through the mask hole. However, it was minimal enough that it did not seem to affect the simple threshold based analysis done here (details later).

## Example

Here's a short clip showing the resulting video.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/424/medium800thumb/sensors_test.jpg?1602026571)

# Face Mask Efficacy Testing with SCIENCE!

## Acquiring Data

The actual video acquisition can be done with a few simple command line statements. Alternatively, a fancier Python script can be used to help trigger and automate the video acquisition.

The video format used for the experiment was **1920x1080 at 30fps**. This matches the settings used in the source paper.

Info: 

## Simple Acquisition

Video can be acquired very simply via the command line with use of the [raspivid](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md) command. Simply SSH into the Pi and run the following. Replace the **###** in the filename with a suitable run number to keep track of your video files.

```none
raspivid -t 10000 -w 1920 -h 1080 -fps 30 -o run_###.h264
```

Info: 

This will leave you with a "raw" H264 video stream. To allow for playback in media player software, an additional step is required to add the suitable "wrapper" data. We did that using the [recommended process](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md):

```none
MP4Box -add run_###.h264 run_###.mp4
```

The MP4Box command can be installed with:

```none
sudo apt install -y gpac
```

With this approach, the action happens as soon as you press the \<Enter\> key. You may find coordinating this with the test subject's readiness tricky. If so, see the next section for a way to help automate and coordinate things better.

## Python Acquisition

This is a fancier approach that requires more setup. However, it can really help with synchronizing the video capture with the test subject's speaking.

To provide an audio cue, the following USB sound card was used:

### USB Audio Adapter - Works with Raspberry Pi

[USB Audio Adapter - Works with Raspberry Pi](https://www.adafruit.com/product/1475)
The Raspberry Pi has an on-board audio jack, which is super handy for all kinds of sound effects and speech, just plug and go! However, for when you want better audio for music playback, a USB audio card can greatly improve the sound quality and volume. That's because the on-board audio is...

In Stock
[Buy Now](https://www.adafruit.com/product/1475)
[Related Guides to the Product](https://learn.adafruit.com/products/1475/guides)
![White audio adapter with USB-A cable.](https://cdn-shop.adafruit.com/640x480/1475-03.jpg)

### USB OTG Host Cable - MicroB OTG male to A female

[USB OTG Host Cable - MicroB OTG male to A female](https://www.adafruit.com/product/1099)
This cable looks like a USB micro cable but it isn't! Instead of a USB A Plug, it has a USB A Socket on the end. This cable is designed for use with OTG (On the Go) host devices (like the Arduino Due or many tablets) so you can connect a mouse, keyboard, or any other USB device. You'll...

In Stock
[Buy Now](https://www.adafruit.com/product/1099)
[Related Guides to the Product](https://learn.adafruit.com/products/1099/guides)
![USB OTG Host Cable with Micro B OTG male to A female in black](https://cdn-shop.adafruit.com/640x480/1099-00.jpg)

Alternatively, you could use one of these (for headphone output):

Or one of these (for amplified output):

### Adafruit I2S 3W Stereo Speaker Bonnet for Raspberry Pi

[Adafruit I2S 3W Stereo Speaker Bonnet for Raspberry Pi](https://www.adafruit.com/product/3346)
Hey Mr. DJ! Turn up that Raspberry Pi mix to the&nbsp;_max_&nbsp;with this cute **3W Stereo Amplifier Bonnet for Raspberry Pi**. (It's not big enough to be an official HAT, so we called it a bonnet, you see?) It's the exact same size as a Raspberry Pi Zero but works...

In Stock
[Buy Now](https://www.adafruit.com/product/3346)
[Related Guides to the Product](https://learn.adafruit.com/products/3346/guides)
![Angled shot of long, rectangular speaker breakout board with pre-soldered green terminal blocks.](https://cdn-shop.adafruit.com/640x480/3346-09.jpg)

To trigger video capture, a basic normally-open button was wired to the Pi's GPIO header. We used one from a junk drawer, but really, any normally open button will do:

[Adafruit Buttons](https://www.adafruit.com/category/235)
Our setup connected the button between GPIO4 and GND, but any available GPIO pin will work.

Here is the source code for a Python script you can use to automate testing.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Mask_Efficacy/take_video.py

# Face Mask Efficacy Testing with SCIENCE!

## Conducting Test

Danger: 

OK, you've got everything setup and can take video with the press of a button. But don't just start taking a bunch of video. Take some time to get organized and think about the test conditions (different masks, etc.) you want to try. **Make a test plan and keep a run log!**

A "run" is simply the acquisition of video data for a certain set of conditions. The run can be identified with an integer number that gets incremented for each new run. The test conditions include things like the mask being tested, what speech was used, the video settings, etc. It is important to keep track of the specifics for each of these **for each run**. That is where a " **run log**" is super useful.

## Run Log

A run log is used to keep track of all the important test conditions for each run. You will use this run log constantly when processing the data post-test. For example, let's say you wanted to compare Mask A to Mask D for test conditions X. You would use the run log to find the specific runs where that occurred. Then you would know you need to compare Run 23 to Run 42 (for example). And since you named your video files with run numbers, it's super easy to find the source data.

## Configuration Flags

To help keep the information in the run log concise, you can use configuration flags. These are simply codes you define somewhere and then use the codes in the run log. Letter+Number combinations work well for this. For example, "masks" can be given the letter **M**. And then each mask is given a number.

- **M0** = no mask
- **M1** = blue surgical mask
- **M2** = fitted N95 mask
- **M3** = cotton bandana
- etc.

You can then do something similar for the "speech" ( **S** ) that is used for a particular run. Something like:

- **S0** = silent
- **S1** = "stay healthy, people" (repeated)
- **S2** = "pppffffffttttttttt" (blow a raspberry)

And similarly for "video" ( **V** ) settings:

- **V0** = 1920x1080 @ 30fps
- **V1** = ?

and duration ( **D** ):

- **D0** = still image
- **D1** = 10 seconds

etc.

But be careful!

Info: 

It's best to keep these with the run log somewhere.

## Example

Here's an example run log sheet. Keeping things to about 10 runs per sheet tends to work good. This leaves plenty of room for notes and other documentation.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/355/medium800/sensors_run_log_example.jpg?1601949784)

The RUN column would just be the run number, like 1, 2, 3, etc. The other columns would contain the configuration flags used for that particular run. If you need to track more parameters, add more columns. Any other notes, just free text comments about anything important, can go in the NOTES column. Other notes can go in blank area at bottom.

# Face Mask Efficacy Testing with SCIENCE!

## Processing Data

The Pi is only used to acquire the video. For processing, we download the video file to a PC and use full Python. This provides plenty of processing power and opens up the entire Python library ecosystem for use.

## General Approach

The original research paper processed the video in a reasonably sophisticated way. For each frame, blobs were identified along with their general size using a feature detection algorithm. This provided information about both blob count and size, which allowed for comparing histograms.

For our processing, we are taking a much simpler approach. Consider a case of zero blobs. That should result in a video with all blank frames - nothing ever entered the laser light sheet. Total darkness. At the other extreme, tons of blobs would be frames full of light, tons of green laser light. So we can think in terms of " **the more lit pixels in frame, the more blobs there are**". We can compute a value for this for each frame as follows.

A single video frame showing blobs lit green in the laser sheet.

![sensors_example_frame1.png](https://cdn-learn.adafruit.com/assets/assets/000/095/371/medium640/sensors_example_frame1.png?1601999516)

The same frame converted to gray scale.

![sensors_example_frame2.png](https://cdn-learn.adafruit.com/assets/assets/000/095/372/medium640/sensors_example_frame2.png?1601999575)

The frame after applying a threshold. Only pixels with a value above the threshold remain.

![sensors_example_frame3.png](https://cdn-learn.adafruit.com/assets/assets/000/095/373/medium640/sensors_example_frame3.png?1601999616)

Now the remaining pixels are counted and a percentage of "lit" pixels is determined. For example:

```python
frame_count = np.count_nonzero(frame == True)
frame_percent = 100 * frame_count / (1920*1080)
```

These values are computed and saved for each frame. A final overall average can then be computed as well.

## Required Python Libraries

We used these Python libraries to process the video data. They are all hosted on PyPi and can be installed using pip.

- [imageio](https://pypi.org/project/imageio/) - to load MP4 video files and extract frames
- [scikit-image](https://pypi.org/project/scikit-image/) - for image frame conversion and thresholding
- [numpy](https://pypi.org/project/numpy/) - for counting pixels
- [matplotlib](https://pypi.org/project/matplotlib/) - for producing plots

## Processing Video

The following Python script was used to process MP4 videos taken for this experiment.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Mask_Efficacy/process_run.py

# Face Mask Efficacy Testing with SCIENCE!

## Results

## Masks Tested

Testing was done without a mask on, referred to as " **no mask**". Then, the following masks were put on and tested.

 **Blue Surgical** - often provided for free at many businesses.

![sensors_blue_surgical.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/416/medium640/sensors_blue_surgical.jpg?1602024772)

 **Fitted N95** - this one has a fancy NIOSH rating.

![sensors_fitted_n95.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/417/medium640/sensors_fitted_n95.jpg?1602024831)

 **Cotton Bandana** - everyone probably has some of these kicking around.

![sensors_bandana.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/418/medium640/sensors_bandana.jpg?1602024904)

 **Fashion Mask** - capitalism's answer to a pandemic.

![sensors_fashion_mask.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/419/medium640/sensors_fashion_mask.jpg?1602024946)

## Run Log

We put together a simple test plan and went through the runs. Here is the run log from our test for reference.

Run log for runs 1 through 10.

![sensors_mask02_runlog_01-10.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/413/medium640/sensors_mask02_runlog_01-10.jpg?1602023998)

Run log for run 11 through 15.

![sensors_mask02_runlog_11-20.jpg](https://cdn-learn.adafruit.com/assets/assets/000/095/414/medium640/sensors_mask02_runlog_11-20.jpg?1602024037)

The plots below show the **COUNT** of pixels that showed up in each **FRAME** of the video. The higher the count, the more "blobs" are present. The video was taken at 1920x1080 resolution, so there are a total of 2,073,600 pixels in each frame. We took 10 seconds of video at 30 frames per second, so there ends up being about 300 frames total.

## Silence

Sort of boring, but this test was run to create a general baseline. Nothing really stands out here, which isn't surprising. We are essentially looking at noise.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/410/medium800/sensors_mask02_s0.jpg?1602023593)

## Speech

This is probably the more typical scenario, just basic talking. Here we used the phrase from the source paper, "Stay healthy, people". This was repeated for the duration of the video capture.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/409/medium800/sensors_mask02_s1.jpg?1602023555)

The differences are not drastic. The no mask data has some obvious spikes, but is otherwise generally on par with the masks. The cotton bandana does seem to have some obvious spikes. The data of interest here may be within the noise floor for the current experimental setup.

## Sneezing / Coughing

To simulate a sneeze or cough scenario, we went PFFFTTTTT, the basic [blowing a raspberry](https://en.wikipedia.org/wiki/Blowing_a_raspberry). This of course produces a LOT of blobs. The results here are much more drastic. So much so that the "no mask" data swamps the other masks data. All of the masks curves get squished down when plotted on the same plot.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/411/medium800/sensors_mask02_s2.jpg?1602023642)

Here is the same plot with the "no mask" curve removed, so we can zoom in and compare mask-to-mask.

![](https://cdn-learn.adafruit.com/assets/assets/000/095/412/medium800/sensors_mask02_s2b.jpg?1602023662)

Wearing a mask here made a **HUGE** difference. The mask on values are back down to the silence and speech levels. Amazing! The cotton bandana seemed to be a poor performer, but otherwise, simply wearing any mask helps **A LOT**!

# Face Mask Efficacy Testing with SCIENCE!

## Discussion

This is a collection of additional information that may prove useful for anyone trying to recreate this experiment.

## The Laser / Camera Hardware

The combination used here seemed more than adequate. The laser proved amazingly bright and readily illuminated particles within the laser sheet. The basic V2 camera module also seemed to perform well. The 1920x1080 resolution is also well within the camera's native sensor resolution.

## The Box

The cardboard box used was super cheap and easy to cut up. But it proved a little challenging to keep "clean". The cardboard seemed to produce a lot of small particles whenever moved, the top was opened, etc. We dealt with this by letting the particles settles between runs. But something other than cardboard may be a better choice.

## Venting

The setup in the original paper included a filtration system that allowed for clean air to be brought in to the test box. That could probably help with the issue described above. Maybe a shop vacuum with some air conditioner filters could be used?

## Laser Exit Slot

Our box also did not have an exit slot for the laser sheet. This was due to the size needed compared to the box (structural issue). It was mitigated by lining the inside with black poster board. However, there was still a noticeable amount of laser reflection inside the box. This was well below the threshold used in the processing. But in order to try and refine the processing, to better examine the "speech" data for example, something to help reduce this internal laser reflection might help.

## Data Processing

Just a plug here for [Python](https://www.python.org/), which has everything needed for data processing. Additionally, the use of [Jupyter Notebook](https://jupyter.org/) proved useful. We didn't include any of our work on that here, but it was super useful for quick prototyping and testing of the Python based processing that was done.


## Featured Products

### Raspberry Pi Zero W

[Raspberry Pi Zero W](https://www.adafruit.com/product/3400)
If you didn't think that the Raspberry Pi Zero could possibly get any better, then boy do we have a pleasant surprise for you!&nbsp;The new **Raspberry Pi Zero W** offers all the benefits of the Pi Zero v1.3, but with one big difference – **built-in...**

In Stock
[Buy Now](https://www.adafruit.com/product/3400)
[Related Guides to the Product](https://learn.adafruit.com/products/3400/guides)
### Raspberry Pi Camera Board v2 - 8 Megapixels

[Raspberry Pi Camera Board v2 - 8 Megapixels](https://www.adafruit.com/product/3099)
Snap, snap! The Camera v2 is the new official camera board released by the Raspberry Pi Foundation!

The **Raspberry Pi Camera Board v2** is a high quality 8 megapixel Sony IMX219 image sensor custom designed add-on board for Raspberry Pi, featuring a fixed focus lens....

In Stock
[Buy Now](https://www.adafruit.com/product/3099)
[Related Guides to the Product](https://learn.adafruit.com/products/3099/guides)
### Raspberry Pi Zero v1.3 Camera Cable

[Raspberry Pi Zero v1.3 Camera Cable](https://www.adafruit.com/product/3157)
This camera cable is specifically designed to work with the [Raspberry Pi Zero - Version 1.3](https://www.adafruit.com/product/2885)! Just plug it into your Pi Zero's camera port and then the other end into one of the official [Pi...](https://www.adafruit.com/categories/802)

In Stock
[Buy Now](https://www.adafruit.com/product/3157)
[Related Guides to the Product](https://learn.adafruit.com/products/3157/guides)
### Raspberry Pi Zero W Camera Pack - Includes Pi Zero W

[Raspberry Pi Zero W Camera Pack - Includes Pi Zero W](https://www.adafruit.com/product/3414)
We've got to hand it to the Pi Foundation - adding a camera port _ **and** _&nbsp;built-in WiFi to the already awesome Pi Zero was a brilliant move. Now you can add one of the awesome&nbsp;[Raspberry Pi cameras](https://www.adafruit.com/categories/802) to your...

In Stock
[Buy Now](https://www.adafruit.com/product/3414)
[Related Guides to the Product](https://learn.adafruit.com/products/3414/guides)
### Lens Adjustment Tool for Raspberry Pi Camera

[Lens Adjustment Tool for Raspberry Pi Camera](https://www.adafruit.com/product/3518)
This nifty little plastic tool provides you a super simple, super cheap means for adjusting the lens of your [Raspberry Pi camera](https://www.adafruit.com/category/802)!

Simply place the little hole opening snugly over the camera&nbsp;lens – it should set nicely with no...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/3518)
[Related Guides to the Product](https://learn.adafruit.com/products/3518/guides)
### USB Audio Adapter - Works with Raspberry Pi

[USB Audio Adapter - Works with Raspberry Pi](https://www.adafruit.com/product/1475)
The Raspberry Pi has an on-board audio jack, which is super handy for all kinds of sound effects and speech, just plug and go! However, for when you want better audio for music playback, a USB audio card can greatly improve the sound quality and volume. That's because the on-board audio is...

In Stock
[Buy Now](https://www.adafruit.com/product/1475)
[Related Guides to the Product](https://learn.adafruit.com/products/1475/guides)
### USB OTG Host Cable - MicroB OTG male to A female

[USB OTG Host Cable - MicroB OTG male to A female](https://www.adafruit.com/product/1099)
This cable looks like a USB micro cable but it isn't! Instead of a USB A Plug, it has a USB A Socket on the end. This cable is designed for use with OTG (On the Go) host devices (like the Arduino Due or many tablets) so you can connect a mouse, keyboard, or any other USB device. You'll...

In Stock
[Buy Now](https://www.adafruit.com/product/1099)
[Related Guides to the Product](https://learn.adafruit.com/products/1099/guides)
### Adafruit I2S Audio Bonnet for Raspberry Pi

[Adafruit I2S Audio Bonnet for Raspberry Pi](https://www.adafruit.com/product/4037)
 **Discontinued** -[you can grab this Adafruit I2S 3W Stereo Speaker Bonnet for Raspberry Pi - Mini Kit&nbsp;instead!](https://www.adafruit.com/product/3346)

Add some easy-listenin' tunes to your Raspberry Pi using this basic audio bonnet. It'll give you stereo line...

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

## Related Guides

- [Adafruit Speaker Bonnet for Raspberry Pi](https://learn.adafruit.com/adafruit-speaker-bonnet-for-raspberry-pi.md)
- [Local Models for Translation, Speech, & Wardrobe on Pi 5](https://learn.adafruit.com/local-models-for-translation-speech-wardrobe-on-pi-5.md)
- [Boomy Pi Airplay Boombox](https://learn.adafruit.com/boomy-pi-airplay.md)
- [Raspberry Pi Halloween Costume Detector](https://learn.adafruit.com/raspberry-pi-halloween-costume-detector.md)
- [What is the Command Line?](https://learn.adafruit.com/what-is-the-command-line.md)
- [Adafruit TDK InvenSense ICM-20948 9-DoF IMU](https://learn.adafruit.com/adafruit-tdk-invensense-icm-20948-9-dof-imu.md)
- [Instagram Photo Frame](https://learn.adafruit.com/instagram-photo-frame.md)
- [A Sillier Mousetrap: Logging Mouse Data to Adafruit IO with the Raspberry Pi](https://learn.adafruit.com/a-sillier-mousetrap-logging-mouse-data-to-adafruit-io-with-the-raspberry-pi.md)
- [CircuitPython Libraries on Linux and ODROID C2](https://learn.adafruit.com/circuitpython-libaries-linux-odroid-c2.md)
- [Using the Bluefruit Dashboard with Web Bluetooth in Chrome](https://learn.adafruit.com/bluefruit-dashboard-web-bluetooth-chrome.md)
- [CNC Joy Bonnet Case](https://learn.adafruit.com/joy-bonnet-case.md)
- [Raspberry Pi 5 3D Printed Case](https://learn.adafruit.com/pi-5-case.md)
- [HalloWing Interactive Cat Toy](https://learn.adafruit.com/hallowing-cat-toy.md)
- [AdaBox 018](https://learn.adafruit.com/adabox018.md)
- [Using the Slamtec RPLIDAR on a Raspberry Pi](https://learn.adafruit.com/slamtec-rplidar-on-pi.md)
