# Air Quality Monitor and Case

## Overview

https://youtu.be/_eXNtAp_V9o

## Build an AQI monitor

You can build a compact air quality monitor with 3D Printing and CircuitPython.

Powered by the Adafruit Feather ESP32-S2 Reverse TFT and a PMSA003I air sensor, this build can monitor air quality in real time! You can even read CO2, humidity and temperatures with a SCD4x sensor.

The 3D printed case houses all the components to make a portable environmental monitor that you can even wear!&nbsp;

![3d_printing_hero-cook-wide.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/744/medium640/3d_printing_hero-cook-wide.jpg?1679940445)

![3d_printing_parts1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/747/medium640/3d_printing_parts1.jpg?1679940792)

## CO2 + AQI&nbsp;

The easy to read interface displays AQI levels along side three colored squares to visually show air levels.

NeoPixel LEDs mirror green, yellow and red AQI levels.

Display CO2, humidity and even temperatures in Celsius or Fahrenheit!

&nbsp;

![3d_printing_hero-values-loop-.gif](https://cdn-learn.adafruit.com/assets/assets/000/119/746/medium640thumb/3d_printing_hero-values-loop-.jpg?1679940728)

## Adafruit IO + WipperSnapper

This project is also compatible with WipperSnapper, Adafruit’s no-code solution to IoT Projects.

With WipperSnapper, you can easily set up sensors and start logging data.

Adafruit’s WipperSnapper has support for the PMSA, so you can build projects without having to write any code.

![3d_printing_cp-dashboard.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/750/medium640/3d_printing_cp-dashboard.jpg?1679941155)

![3d_printing_hero-two.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/751/medium640/3d_printing_hero-two.jpg?1679941211)

[Quick Start: WipperSnapper](https://learn.adafruit.com/adafruit-esp32-s2-tft-feather/wippersnapper-setup)
## Parts
![](https://cdn-learn.adafruit.com/assets/assets/000/119/752/medium800/3d_printing_parts.jpg?1679941491)

### Adafruit ESP32-S2 Reverse TFT Feather

[Adafruit ESP32-S2 Reverse TFT Feather](https://www.adafruit.com/product/5345)
Like Missy Elliot, we like to ["put our [Feather] down, flip it and reverse it"](https://www.youtube.com/watch?v=cjIvu7e6Wq8)&nbsp;and that's exactly what we've done with this new development board. It's basically our **<a...></a...>**

In Stock
[Buy Now](https://www.adafruit.com/product/5345)
[Related Guides to the Product](https://learn.adafruit.com/products/5345/guides)
![Video of a rectangular microcontroller with a TFT display. A pink manicured finger presses each of the tactile buttons, which are recognized on the TFT display.](https://cdn-shop.adafruit.com/product-videos/640x480/5345-00.jpg)

### Adafruit PMSA003I Air Quality Breakout

[Adafruit PMSA003I Air Quality Breakout](https://www.adafruit.com/product/4632)
Breathe easy, knowing that you can track and sense the quality of the air around you with this **&nbsp;Adafruit PMSA003I Air Quality Breakout**. This sensor is great for monitoring air quality, in a compact plug-in format.

Best of all, unlike almost all other sensors...

In Stock
[Buy Now](https://www.adafruit.com/product/4632)
[Related Guides to the Product](https://learn.adafruit.com/products/4632/guides)
![Adafruit PMSA003I PM2.5 Air Quality Breakout](https://cdn-shop.adafruit.com/640x480/4632-10.jpg)

### NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers

[NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1426)
Make your own little LED strip arrangement with this stick of NeoPixel LEDs. We crammed 8 of the tiny 5050 (5mm x 5mm) smart RGB LEDs onto a PCB with mounting holes and a chainable design. Use only one microcontroller pin to control as many as you can chain together! Each LED is addressable as...

In Stock
[Buy Now](https://www.adafruit.com/product/1426)
[Related Guides to the Product](https://learn.adafruit.com/products/1426/guides)
![NeoPixel Stick with 8 x 5050 RGB LED ](https://cdn-shop.adafruit.com/640x480/1426-05.jpg)

### Adafruit SCD-41 - True CO2 Temperature and Humidity Sensor

[Adafruit SCD-41 - True CO2 Temperature and Humidity Sensor](https://www.adafruit.com/product/5190)
Take a deep breath in...now slowly breathe out. Mmm isn't it wonderful? All that air around us, which we bring into our lungs, extracts oxygen from and then breathes out carbon dioxide. CO2 is essential for life on this planet we call Earth - we and plants&nbsp;take turns using and...

In Stock
[Buy Now](https://www.adafruit.com/product/5190)
[Related Guides to the Product](https://learn.adafruit.com/products/5190/guides)
![Angled shot of Adafruit SCD-41 - NDIR CO2 Temperature and Humidity Sensor.](https://cdn-shop.adafruit.com/640x480/5190-06.jpg)

### Pink and Purple Woven USB A to USB C Cable - 1 meter long

[Pink and Purple Woven USB A to USB C Cable - 1 meter long](https://www.adafruit.com/product/5153)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also made for USB C for our modernized breakout boards, Feathers, and more.&nbsp;&nbsp;[If you want something just like it but for Micro B, we...](https://www.adafruit.com/product/4111)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5153)
[Related Guides to the Product](https://learn.adafruit.com/products/5153/guides)
![Angled shot of coiled pink and purple USB cable with USB A and USB C connectors.](https://cdn-shop.adafruit.com/640x480/5153-02.jpg)

### USB Battery Pack for Raspberry Pi - 10000mAh - 2 x 5V outputs

[USB Battery Pack for Raspberry Pi - 10000mAh - 2 x 5V outputs](https://www.adafruit.com/product/1566)
A large-sized rechargeable battery pack for your [Raspberry Pi](http://www.adafruit.com/raspberrypi) (or [Arduino](http://www.adafruit.com/arduino), or [Propeller](http://www.adafruit.com/category/26), or anything else that uses 5V!). This pack is intended for...

In Stock
[Buy Now](https://www.adafruit.com/product/1566)
[Related Guides to the Product](https://learn.adafruit.com/products/1566/guides)
![Angled shot of white rectangular USB battery pack with 4 dotted lights indicating battery is fully charged. ](https://cdn-shop.adafruit.com/640x480/1566-11.jpg)

### STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long](https://www.adafruit.com/product/4399)
This 4-wire cable is&nbsp;50mm / 1.9" long and fitted with JST SH female 4-pin connectors on both ends. Compared with the chunkier JST PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4399)
[Related Guides to the Product](https://learn.adafruit.com/products/4399/guides)
![Angled of of JST SH 4-Pin Cable.](https://cdn-shop.adafruit.com/640x480/4399-00.jpg)

### Part: M2.5x6mm Screws
quantity: 4
M2.5x6mm Screws for Feather and PMSA

### Part: M2x8mm Screws
quantity: 2
M2x8mm Screws for Feather

### Part: M2x6mm Screws
quantity: 2
M2x6mm Screws for LED stick

### Part: M2.5x8mm Screws
quantity: 2
M2.5x8mm Screws for sensor bracket

### Part: M3x5mm Screws
quantity: 4
M3x5mm Screws for SCD4X sensor

![](https://cdn-learn.adafruit.com/assets/assets/000/119/782/medium800/3d_printing_hero-cook-close.jpg?1679964311)

# Air Quality Monitor and Case

## Circuit Diagram

The wiring diagram below provides a visual reference for connecting the components. It is not true to scale, it is just meant to be used as reference. This diagram was created using the [Fritzing software package](http://fritzing.org/download/).

Take a moment to review the components in the circuit diagram. This illustration is meant for&nbsp;referencing wired connections - the length of wire,&nbsp;position and size of components are not exact.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/119/797/medium800/3d_printing_circuit-diagram.jpg?1679967634)

 **NeoPixel**

- **5v (Red) to 3v3**
- **G (Black) to GND**
- **DIN (White) to D13**

# Air Quality Monitor and Case

## CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython running on your board.

[Download the latest version of CircuitPython for this board via circuitpython.org](https://circuitpython.org/board/adafruit_feather_esp32s2_reverse_tft/)
 **Click the link above to download the latest CircuitPython UF2 file.**

Save it wherever is convenient for you.

![install_circuitpython_on_most_boards_CircuitPython_downloaded.jpg](https://cdn-learn.adafruit.com/assets/assets/000/102/129/medium640/install_circuitpython_on_most_boards_CircuitPython_downloaded.jpg?1620922559)

![](https://cdn-learn.adafruit.com/assets/assets/000/118/332/medium800/adafruit_products_FRTFT_reset_button_status_led.jpg?1675887945)

Plug your board into your computer, using a known-good data-sync cable, directly, or via an adapter if needed.

Double-click the **reset** button (highlighted in red above), and you will see the **RGB status LED(s)** turn green (highlighted in green above). If you see red, try another port, or if you're using an adapter or hub, try without the hub, or different adapter or hub.

For this board, tap reset and wait for the LED to turn purple, and as soon as it turns purple, tap reset again. The second tap needs to happen while the LED is still purple.

If double-clicking doesn't work the first time, try again. Sometimes it can take a few tries to get the rhythm right!

A lot of people end up using charge-only USB cables and it is very frustrating! **Make sure you have a USB cable you know is good for data sync.**

You will see a new disk drive appear called **FTHRS2BOOT**.

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **FTHRS2BOOT**.

![adafruit_products_FRTFT_FTHRS2BOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/118/333/medium640/adafruit_products_FRTFT_FTHRS2BOOT.png?1675888469)

![adafruit_products_FRTFT_drag_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/118/334/medium640/adafruit_products_FRTFT_drag_UF2.png?1675888478)

The **BOOT** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it!

![install_circuitpython_on_most_boards_CIRCUITPY.jpg](https://cdn-learn.adafruit.com/assets/assets/000/102/130/medium640/install_circuitpython_on_most_boards_CIRCUITPY.jpg?1620923145)

# Air Quality Monitor and Case

## Coding the AQI Case

Once you've finished setting up your ESP32-S3 Reverse TFT Feather with CircuitPython, you can access the code and necessary libraries by downloading the Project Bundle.

To do this, click on the **Download Project Bundle** button in the window below. It will download as a zipped folder.

![3d_printing_cp-medium.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/778/medium640/3d_printing_cp-medium.jpg?1679963731)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Desktop_Air_Monitor/code.py

## Upload the Code and Libraries to the ESP32-S3 Reverse TFT Feather

After downloading the Project Bundle, plug your ESP32-S3 Reverse TFT Feather into the computer's USB port with a known good USB data+power cable. You should see a new flash drive appear in the computer's File Explorer or Finder (depending on your operating system) called **CIRCUITPY**. Unzip the folder and copy the following items to the ESP32-S3 Reverse TFT Feather's **CIRCUITPY** drive.

- **lib** folder
- **OCRA\_big.pcf**
- **OCRA\_small.pcf**
- **airBG.bmp**
- **code.py**

Your ESP32-S3 Reverse TFT Feather **CIRCUITPY** drive should look like this after copying the **lib** folder, font files, bitmap file and the **code.py** file:

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/Desktop_Air_Monitor.png )

## How the CircuitPython Code Works

The code begins by setting up the NeoPixel stick. Three colors are defined: `red`, `yellow` and `green`. These colors will be used to represent the AQI reading.

```python
pixel_pin = board.D13
num_pixels = 8

pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.1, auto_write=False)

red = (80, 0, 0)
yellow = (75, 80, 0)
green = (0, 80, 0)
```

## Sensor Setup

Next, the SCD40 and PMSA003 sensors are instantiated over I2C and begin reading data.

```auto
i2c = board.STEMMA_I2C()

reset_pin = None

pm25 = PM25_I2C(i2c, reset_pin)
aqdata = pm25.read()

scd4x = adafruit_scd4x.SCD4X(i2c)
scd4x.start_periodic_measurement()

time.sleep(5)

co2 = scd4x.CO2
temp = scd4x.temperature
humidity = scd4x.relative_humidity

pm2 = int(aqdata["pm25 standard"])
```

## Functions

Two functions are used to translate the sensor data. `rate_pm25()` passes the AQI reading and determines what color the NeoPixels should show to represent it. It also determines which square on the display should be outlined with a white rectangle.

`c_to_f()` converts the temperature reading from Celsius to Fahrenheit.

```python
def rate_pm25(pm25_data):
    if pm25_data <= 12:
        pm25_outline = 94
        pm25_color = green
    elif pm25_data <= 35:
        pm25_color = yellow
        pm25_outline = 140
    else:
        pm25_color = red
        pm25_outline = 185
    return pm25_color, pm25_outline

def c_to_f(temp_data):
    temperature_celsius = temp_data
    temperature_fahrenheit = temperature_celsius * 9 / 5 + 32
    return temperature_fahrenheit
```

## Display Setup

Then comes the display setup. The background bitmap is loaded using the `OnDiskBitmap` function. Two font files are loaded as bitmap fonts.&nbsp;

```python
#  display setup
display = board.DISPLAY

bitmap = displayio.OnDiskBitmap("/airBG.bmp")

tile_grid = displayio.TileGrid(bitmap, pixel_shader=bitmap.pixel_shader)
group = displayio.Group()
group.append(tile_grid)

small_font_file = "/OCRA_small.pcf"
small_font = bitmap_font.load_font(small_font_file)
big_font_file = "/OCRA_big.pcf"
big_font = bitmap_font.load_font(big_font_file)
```

## Sensor Text

Each sensor reading has a text object to display the data on the screen. The AQI reading utilizes the `big_font` and the rest use the `small_font`.

A `RoundRect` is used to outline one of the green, yellow or red squares on the bitmap to further illustrate the AQI reading. The `x` coordinate is changed for the `RoundRect` with the `rate_pm25()` function.

```python
pm2_text = bitmap_label.Label(big_font, text="%d" % pm2, x=37, y=40, color=0xFFFFFF)
group.append(pm2_text)

co2_text = bitmap_label.Label(small_font, text="%d" % co2, x=50, y=107, color=0xFFFFFF)
temp_text = bitmap_label.Label(small_font, text="%d" % temp, x=130, y=107, color=0xFFFFFF)
humid_text = bitmap_label.Label(small_font, text="%d" % humidity, x=205, y=107, color=0xFFFFFF)
group.append(co2_text)
group.append(temp_text)
group.append(humid_text)

pm2_outline = RoundRect(94, 19, 46, 46, 10, fill=None, outline=0xFFFFFF, stroke=3)
group.append(pm2_outline)

display.root_group = group
```

## Arrays and Ticks

There are two arrays: `sensor_texts` and `sensor_data`. These arrays will be used in the loop to update the on screen texts with the sensor readings.

`ticks_ms()` is used to keep time. Every 5 seconds, the sensors will be read in the loop and the screen will be updated.

```python
sensor_texts = [pm2_text, co2_text, temp_text, humid_text]
sensor_data = [pm2, co2, temp, humidity]

sensor_clock = ticks_ms()

sensor_check = 5000
first_run = True
```

## The Loop

In the loop, the SCD40 and PMSA003 sensors are read. The `rate_pm25()` function is used to determine which color the NeoPixels should be.

The sensor readings are packed into the `sensor_data` array. A `for` statement is used to iterate through the array and update the corresponding text objects.&nbsp;

Finally, the `sensor_clock` is reset to begin counting up to 5 seconds again.

```python
if first_run or ticks_diff(ticks_ms(), sensor_clock) > sensor_check:
        co2 = scd4x.CO2
        temp = c_to_f(scd4x.temperature)
        humidity = scd4x.relative_humidity
        aqdata = pm25.read()
        pm2 = int(aqdata["pm25 standard"])
        pm2_color, pm2_outline.x = rate_pm25(pm2)
        sensor_data = [pm2, co2, temp, humidity]
        pixels.fill(pm2_color)
        pixels.show()
        for s in range(4):
            sensor_texts[s].text = "%d" % sensor_data[s]
            print("updated %d data" % sensor_data[s])
            time.sleep(0.2)
        sensor_clock = ticks_add(sensor_clock, sensor_check)
```

# Air Quality Monitor and Case

## 3D Printing

## Parts List

STL files for 3D printing are oriented to print "as-is" on FDM style machines. Parts are designed to 3D print without any support material. Original design source may be downloaded using the links below.

![3d_printing_3d-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/757/medium640/3d_printing_3d-parts.jpg?1679942859)

[Edit Design](https://a360.co/47wt4FK)
[Download STLs](https://www.thingiverse.com/thing:5935975)
## Slice with settings for PLA material&nbsp;

The parts were sliced using CURA using the slice settings below.

- PLA filament 220c extruder
- 0.2 layer height
- 10% gyroid infill
- 60mm/s print speed
- 60c heated bed

![3d_printing_slice.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/760/medium640/3d_printing_slice.jpg?1679943783)

## Supports

- Support Overhang Angle: 50
- Support Destiny: 6%
- Enable Support Interface
- Enable Support Roof
- Support Z Distance: .21

![3d_printing_slice-supports.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/761/medium640/3d_printing_slice-supports.jpg?1679943825)

# Air Quality Monitor and Case

## Assemble

## Secure PMSA

&nbsp;

Use two M2.5x6mm screws to attach the PMSA to the frame.

![3d_printing_frame-pmsa.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/762/medium640/3d_printing_frame-pmsa.jpg?1679944188)

## NeoPixel JST

Solder a socket 3 Pin JST cable to easily connect the NeoPixel stick.

- **5v (Red) to 3v3**
- **G (Black) to GND**
- **DIN (White) to D13**

## Stemma cable

Attach a short STEMMA cable to the Feather.

## Secure Feather

Use M2.5x6mm screws on the plated screws holes. Use M2x8mm long screws on the non plated screws holes.

&nbsp;

![3d_printing_feather-jst-stemma.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/763/medium640/3d_printing_feather-jst-stemma.jpg?1679944471)

![3d_printing_frame-feather.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/764/medium640/3d_printing_frame-feather.jpg?1679944688)

## Secure NeoPixel stick

Solder a short 3 Pin JST jack to the NeoPixel stick.&nbsp;

- **5v (Red) to 3v3**
- **G (Black) to GND**
- **DIN (White) to D13**

Use M2x6mm screws to secure the Stick to the frame.

## Attach Sensor Bracket

Secure the sensor bracket to the PMSA with two M2.5x8mm screws.

&nbsp;

![3d_printing_feather-leds.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/765/medium640/3d_printing_feather-leds.jpg?1679944999)

![3d_printing_feather-sensor-bracket.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/766/medium640/3d_printing_feather-sensor-bracket.jpg?1679945201)

## Secure Sensor

Use M3x5mm screws to secure the SCD4x sensor to the bracket. Connect both sensor with an additional short STEMMA cables.

## Place in Case

Insert the assembly into the case. The back cover aligns to the SCD4x sensor and press fits to the case.

&nbsp;

![3d_printing_case-frame.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/767/medium640/3d_printing_case-frame.jpg?1679945376)

![3d_printing_case-cover.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/768/medium640/3d_printing_case-cover.jpg?1680036016)

## Attach Screen frame

Press fit the screen frame over the display cutout.

## Press fit Feet

The short feet press fits to the back of the case. The taller feet press fit to the front of the case.

## Wrist Band

The wrist band is attached by sewing a .6" wide Elastic band to the band frame.

&nbsp;

![3d_printing_case-screen.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/769/medium640/3d_printing_case-screen.jpg?1679945892)

![3d_printing_case-arm-band.jpg](https://cdn-learn.adafruit.com/assets/assets/000/119/770/medium640/3d_printing_case-arm-band.jpg?1679946028)

## Complete
![](https://cdn-learn.adafruit.com/assets/assets/000/119/780/medium800/3d_printing_hero-ally.jpg?1679964275)


## Featured Products

### Adafruit ESP32-S2 Reverse TFT Feather

[Adafruit ESP32-S2 Reverse TFT Feather](https://www.adafruit.com/product/5345)
Like Missy Elliot, we like to ["put our [Feather] down, flip it and reverse it"](https://www.youtube.com/watch?v=cjIvu7e6Wq8)&nbsp;and that's exactly what we've done with this new development board. It's basically our **<a...></a...>**

In Stock
[Buy Now](https://www.adafruit.com/product/5345)
[Related Guides to the Product](https://learn.adafruit.com/products/5345/guides)
### Adafruit PMSA003I Air Quality Breakout

[Adafruit PMSA003I Air Quality Breakout](https://www.adafruit.com/product/4632)
Breathe easy, knowing that you can track and sense the quality of the air around you with this **&nbsp;Adafruit PMSA003I Air Quality Breakout**. This sensor is great for monitoring air quality, in a compact plug-in format.

Best of all, unlike almost all other sensors...

In Stock
[Buy Now](https://www.adafruit.com/product/4632)
[Related Guides to the Product](https://learn.adafruit.com/products/4632/guides)
### NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers

[NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1426)
Make your own little LED strip arrangement with this stick of NeoPixel LEDs. We crammed 8 of the tiny 5050 (5mm x 5mm) smart RGB LEDs onto a PCB with mounting holes and a chainable design. Use only one microcontroller pin to control as many as you can chain together! Each LED is addressable as...

In Stock
[Buy Now](https://www.adafruit.com/product/1426)
[Related Guides to the Product](https://learn.adafruit.com/products/1426/guides)
### Adafruit SCD-41 - True CO2 Temperature and Humidity Sensor

[Adafruit SCD-41 - True CO2 Temperature and Humidity Sensor](https://www.adafruit.com/product/5190)
Take a deep breath in...now slowly breathe out. Mmm isn't it wonderful? All that air around us, which we bring into our lungs, extracts oxygen from and then breathes out carbon dioxide. CO2 is essential for life on this planet we call Earth - we and plants&nbsp;take turns using and...

In Stock
[Buy Now](https://www.adafruit.com/product/5190)
[Related Guides to the Product](https://learn.adafruit.com/products/5190/guides)
### Pink and Purple Woven USB A to USB C Cable - 1 meter long

[Pink and Purple Woven USB A to USB C Cable - 1 meter long](https://www.adafruit.com/product/5153)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also made for USB C for our modernized breakout boards, Feathers, and more.&nbsp;&nbsp;[If you want something just like it but for Micro B, we...](https://www.adafruit.com/product/4111)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5153)
[Related Guides to the Product](https://learn.adafruit.com/products/5153/guides)
### USB Battery Pack for Raspberry Pi - 10000mAh - 2 x 5V outputs

[USB Battery Pack for Raspberry Pi - 10000mAh - 2 x 5V outputs](https://www.adafruit.com/product/1566)
A large-sized rechargeable battery pack for your [Raspberry Pi](http://www.adafruit.com/raspberrypi) (or [Arduino](http://www.adafruit.com/arduino), or [Propeller](http://www.adafruit.com/category/26), or anything else that uses 5V!). This pack is intended for...

In Stock
[Buy Now](https://www.adafruit.com/product/1566)
[Related Guides to the Product](https://learn.adafruit.com/products/1566/guides)
### STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long](https://www.adafruit.com/product/4399)
This 4-wire cable is&nbsp;50mm / 1.9" long and fitted with JST SH female 4-pin connectors on both ends. Compared with the chunkier JST PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4399)
[Related Guides to the Product](https://learn.adafruit.com/products/4399/guides)

## Related Guides

- [Adafruit PMSA003I Air Quality Breakout](https://learn.adafruit.com/pmsa003i.md)
- [Adafruit SCD-40 and SCD-41](https://learn.adafruit.com/adafruit-scd-40-and-scd-41.md)
- [Adafruit ESP32-S2 Reverse TFT Feather](https://learn.adafruit.com/esp32-s2-reverse-tft-feather.md)
- [Star Fragment IoT Lamp](https://learn.adafruit.com/star-fragment-iot-lamp.md)
- [No-Code IoT CO2 "Canary In a Coalmine"](https://learn.adafruit.com/iot-canary.md)
- [Capacitive Touch Drum Machine](https://learn.adafruit.com/capacitive-touch-drum-machine.md)
- [Prop-Maker Feather Talking Adabot Clock](https://learn.adafruit.com/prop-maker-feather-talking-adabot-clock.md)
- [Making Adabot: Part 2](https://learn.adafruit.com/making-adabot-part-2.md)
- [Guitar Synth with CircuitPython SynthIO](https://learn.adafruit.com/guitar-synth-with-circuitpython-synthio.md)
- [Stand for Feather ESP32 with Reverse TFT](https://learn.adafruit.com/stand-for-feather-esp32-with-reverse-tft.md)
- [Naughty or Nice Machine](https://learn.adafruit.com/naughty-or-nice-machine.md)
- [Multi-tasking the Arduino - Part 3](https://learn.adafruit.com/multi-tasking-the-arduino-part-3.md)
- [Using NeoPixels with Netduino Plus 2](https://learn.adafruit.com/using-neopixels-with-netduino.md)
- [3D Printed Unicorn Horn](https://learn.adafruit.com/3d-printed-unicorn-horn.md)
- [ESP32-S2 Reverse TFT Digital Clock Display featuring Blanka-chan!](https://learn.adafruit.com/esp32-s2-tft-digital-clock-display-featuring-blanka-chan.md)
- [3D Printed Adabot Figurine](https://learn.adafruit.com/3d-printed-adabot-figurine.md)
