# Video Nub Shank: ESP32 QT Py Composite Video Injector

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/112/051/medium800/projects_dali_nub-7144.jpg?1653495032)

_You: an 80s-style cyberpunk hacker who's got to spread your video message to the people. Jam this tiny, battery powered video nub shank into a state-of-the-art composite video input of a "television" and run!_

Use the QT Py ESP32 Pico to build a stylish vaporwave clock, NTSC SPMTE color bar test pattern generator, or other lo-fi/hi-style video applications.

Thanks to the incredible coding efforts of [rossumur](https://github.com/rossumur/esp_8_bit), [bitluni](https://github.com/bitluni/ESP32CompositeVideo) and [marciot](https://github.com/marciot/ESP32CompositeColorVideo), it's possible to generate an analog composite video signal with the original ESP32 chip's 8-bit DACs.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/166/medium800/projects_smpte_nub_tv_crt.jpg?1654101307)

Warning: 

## Parts
Featured
### Adafruit QT Py ESP32 Pico - WiFi Dev Board with STEMMA QT

[Adafruit QT Py ESP32 Pico - WiFi Dev Board with STEMMA QT](https://www.adafruit.com/product/5395)
This dev board is like when you're watching a super-hero movie and the protagonist shows up in a totally amazing costume in the third act and you're like 'OMG! That's the hero and they're here to kick some serious butt!" but in this case its a...

In Stock
[Buy Now](https://www.adafruit.com/product/5395)
[Related Guides to the Product](https://learn.adafruit.com/products/5395/guides)
![Angled shot of purple square-shaped microcontroller.](https://cdn-shop.adafruit.com/640x480/5395-00.jpg)

Featured
### Adafruit LiIon or LiPoly Charger BFF Add-On for QT Py

[Adafruit LiIon or LiPoly Charger BFF Add-On for QT Py](https://www.adafruit.com/product/5397)
[Is your QT Py all alone](https://www.adafruit.com/?q=qt+py&sort=BestMatch), lacking a friend to travel the wide world with? When you were a kid you may have learned about the "buddy" system, well this product is kinda like that! A board that will watch your QT...

In Stock
[Buy Now](https://www.adafruit.com/product/5397)
[Related Guides to the Product](https://learn.adafruit.com/products/5397/guides)
![Video of a person with white painted nails unplugging a USB cable from a small, black, square-shaped lipo battery breakout board soldered to a similarly shaped microcontroller, which is also connected to a monochrome OLED display breakout. The OLED breakout displays battery and power data.](https://cdn-shop.adafruit.com/product-videos/640x480/5397-05.jpg)

Featured
### USB Type A to Type C Cable - 6" long

[USB Type A to Type C Cable - 6" long](https://www.adafruit.com/product/4472)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4472)
[Related Guides to the Product](https://learn.adafruit.com/products/4472/guides)
![Six-inch-long USB Type A to Type C cable.](https://cdn-shop.adafruit.com/640x480/4472-00.jpg)

Featured
### RCA (Composite Video, Audio) Male Plug Terminal Block

[RCA (Composite Video, Audio) Male Plug Terminal Block](https://www.adafruit.com/product/2792)
One truth about working with A/V is you always need the cable or adapter you _don't_ have in your toolbox. That's why we love these terminal-block RCA connectors so much. **No soldering required!** Use stranded or solid core wire and a small screw driver to create...

In Stock
[Buy Now](https://www.adafruit.com/product/2792)
[Related Guides to the Product](https://learn.adafruit.com/products/2792/guides)
![RCA Male Plug Terminal Block adapter](https://cdn-shop.adafruit.com/640x480/2792-00.jpg)

or, alternatively, use a jack and cable instead of a plug:

Featured
### RCA (Composite Video, Audio) Female Jack Terminal Block

[RCA (Composite Video, Audio) Female Jack Terminal Block](https://www.adafruit.com/product/2793)
One truth about working with A/V is you always need the cable or adapter you _don't_ have in your toolbox. That's why we love these terminal-block RCA connectors so much. **No soldering required!** Use stranded or solid core wire and a small screw driver to create...

In Stock
[Buy Now](https://www.adafruit.com/product/2793)
[Related Guides to the Product](https://learn.adafruit.com/products/2793/guides)
![RCA Female Jack Terminal Block adapter](https://cdn-shop.adafruit.com/640x480/2793-01.jpg)

Featured
### Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh

[Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh](https://www.adafruit.com/product/3898)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of **400mAh** for a total of about 1.9 Wh. If you need a larger (or smaller!)...

In Stock
[Buy Now](https://www.adafruit.com/product/3898)
[Related Guides to the Product](https://learn.adafruit.com/products/3898/guides)
![Slim Lithium Ion Polymer Battery 3.7v 400mAh with JST 2-PH connector and short cable](https://cdn-shop.adafruit.com/640x480/3898-05.jpg)

Featured
### Extra-long break-away 0.1" 16-pin strip male header (5 pieces)

[Extra-long break-away 0.1" 16-pin strip male header (5 pieces)](https://www.adafruit.com/product/400)
Breakaway header is like the duct tape of electronics, and this header is one better with extra long pins on **both** sides. This makes it great for connecting things together that have two sockets - especially solderless breadboards. [We also...](https://www.adafruit.com/products/266)

Out of Stock
[Buy Now](https://www.adafruit.com/product/400)
[Related Guides to the Product](https://learn.adafruit.com/products/400/guides)
![5 pieces of Extra-long break-away 0.1 inch 16-pin strip male header](https://cdn-shop.adafruit.com/640x480/400-03.jpg)

You'll need a TV or [monitor](https://www.adafruit.com/product/1667) with a composite video input -- this is nearly always a yellow RCA jack.

Some modern displays have compositve video inputs, but this looks particularly awesome on an old CRT TV!

![projects_vidin.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/050/medium640/projects_vidin.jpg?1653494902)

![](https://cdn-learn.adafruit.com/assets/assets/000/112/049/medium800/projects_dali_nub-7160.jpg?1653492728)

# Video Nub Shank: ESP32 QT Py Composite Video Injector

## Build the Video Nub Shank

![projects_nubshankTV2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/053/medium800/projects_nubshankTV2.jpg?1653499875)

The most basic setup is to simply wire the QT Py GND to the negative (sleeve) conductor of the video plug, and the QT Py A0 pin to positive (tip), as shown below.

To get a bit fancier, you can create a small sandwich of QT Py, video plug, and BFF charger board, with a side of LiPo battery. This way, you'll be able to run from battery, or plug into USB C for power and charging.

![](https://cdn-learn.adafruit.com/assets/assets/000/111/984/medium800/projects_nubfritz2.jpg?1653454872)

You can choose to use the plug or jack version of the video terminal block breakout. These can also be swapped later.

Or, get a socket-socket adapter to allow the nub to be used in cable mode.

![projects_dali_nub-6904.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/967/medium640/projects_dali_nub-6904.jpg?1653452669)

## Assemble Headers, Wires

Solder the extra long header pins to the QT Py as shown -- Note, the addition of a second set of spacers is highly optional, it only serves to look cool.

Solder the header sockets to the underside of the BFF.

Solder a short black wire from the QT Py GND to the composite video plug's negative (-) terminal and a yellow wire from the QT Py A0 to the video plug's positive (+) terminal as shown.

Then, sandwich the plug between the boards as shown. Delicious.

![projects_dali_nub-7126.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/968/medium640/projects_dali_nub-7126.jpg?1653454053)

![projects_dali_nub-7125.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/969/medium640/projects_dali_nub-7125.jpg?1653454066)

![projects_dali_nub-7124.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/970/medium640/projects_dali_nub-7124.jpg?1653454077)

![projects_dali_nub-7123.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/971/medium640/projects_dali_nub-7123.jpg?1653454087)

![](https://cdn-learn.adafruit.com/assets/assets/000/111/976/medium800/projects_dali_nub-7121.jpg?1653454140)

![](https://cdn-learn.adafruit.com/assets/assets/000/111/978/medium800/projects_dali_nub-7114.jpg?1653454151)

## Add Battery

Plug the battery into the BFF.

Use a small loop of Kapton tape or a small piece of double-sided foam tape to secure the battery to the header.

![projects_dali_nub-7127.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/982/medium640/projects_dali_nub-7127.jpg?1653454603)

![projects_dali_nub-7130.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/983/medium640/projects_dali_nub-7130.jpg?1653454613)

# Use It
## Inject Video

You can plug right into the composite video jack of a TV or monitor, flip the BFF power switch to on, and set the input to "composite" or "video".

![projects_dali_nub-7145.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/989/medium640/projects_dali_nub-7145.jpg?1653455370)

![projects_dali_nub-7146.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/990/medium640/projects_dali_nub-7146.jpg?1653455395)

![](https://cdn-learn.adafruit.com/assets/assets/000/111/995/medium800/projects_dali_nub-7149.jpg?1653455774)

## USB Powered

If your monitor has a USB port you may be able to power (and charge) the video nub shank using a short USB C to USB A cable.

![projects_dali_nub-7151.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/991/medium640/projects_dali_nub-7151.jpg?1653455688)

![projects_dali_nub-7154.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/992/medium640/projects_dali_nub-7154.jpg?1653455709)

![](https://cdn-learn.adafruit.com/assets/assets/000/112/012/medium800/projects_dali_nub-7156.jpg?1653455814)

## Adapt

Here's how to adapt from shank mode to cable mode.

![projects_dali_nub-7132.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/985/medium640/projects_dali_nub-7132.jpg?1653455283)

![projects_dali_nub-7135.jpg](https://cdn-learn.adafruit.com/assets/assets/000/111/988/medium640/projects_dali_nub-7135.jpg?1653455310)

![](https://cdn-learn.adafruit.com/assets/assets/000/112/032/medium800/projects_dali_nub-7161.jpg?1653455864)

![](https://cdn-learn.adafruit.com/assets/assets/000/112/025/medium800/projects_dali_nub-7160.jpg?1653455850)

# Video Nub Shank: ESP32 QT Py Composite Video Injector

## Program the Video Nub Shank

![](https://cdn-learn.adafruit.com/assets/assets/000/112/037/medium800/projects_dali_nub-7156.jpg?1653490421)

One excellent demo for video on ESP32 is the [esp32-dali-clock](https://github.com/marciot/esp32-dali-clock) by [marciot](https://github.com/marciot). This is an Arduino sketch and supporting libraries, so make sure you have the Arduino IDE installed and can successfully run the **Blink** sketch before proceeding. [This guide](https://learn.adafruit.com/adafruit-qt-py-esp32-s2/arduino-ide-setup) shows how, but is for the newer ESP32-S2 -- we'll update this once the QT Py ESP32 Pico guide is ready.

## Download

To run this demo, first download the .zip file and uncompress it.

Move the **esp32-dali-clock** folder into your Arduino sketches directory.

![projects_dali1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/038/medium640/projects_dali1.jpg?1653490524)

![projects_dali2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/039/medium640/projects_dali2.jpg?1653490614)

## Settings, Compile, Upload

In order to compile and upload to the board, first select Tools \> Board \> ESP32 Arduino \> Adafruit QT Py ESP32.

Then, match the other settings shown here. **Very important** : Click **Tools \> PSRAM \> Disabled**. If you don't disable the PSRAM the video will suffer vertical sync issues and jiggle up and down!

When you're ready, click **Sketch** \> **Upload** (or use the upload button) to compile and upload the code to the board.

![projects_dali4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/040/medium640/projects_dali4.jpg?1653490994)

![projects_dali3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/041/medium640/projects_dali3.jpg?1653491160)

The board will reset after upload and begin immediately running the code. Plug the nub into a composite video input on your TV or monitor and you'll see the awesome vaporwave clock.

## Set the Clock

The ESP32's built in WiFi makes it possible to host a small web server in order to configure the clock.

On your computer or mobile device, choose the "ESP32 Dali Clock" network. You'll be taken to a setup page where you can configure the graphics style, date/time, and local network settings.

![projects_configdali.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/043/medium640/projects_configdali.jpg?1653492189)

![](https://cdn-learn.adafruit.com/assets/assets/000/112/044/medium800/projects_setdali.jpg?1653492199)

You can even set the color theme to a specific choice or allow it to change based on the time of day.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/054/medium800/projects_nubshankTV.jpg?1653499772)

# Video Nub Shank: ESP32 QT Py Composite Video Injector

## NTSC Test Pattern Generator

![](https://cdn-learn.adafruit.com/assets/assets/000/112/165/medium800/projects_smpte_nub_tv_crt.jpg?1654101269)

Another nifty use for the Video Nub Shank is to create a test pattern generator for a composite TV or display.

Ladyada tests out [little displays](https://www.adafruit.com/category/110) we're building, and wanted a way to easily check the geometry, rotation, orientation, and colors.

I created a SPMTE NTSC color bar test pattern in code using the Adafruit GFX library running the [ESP\_8\_BIT\_composite](https://github.com/Roger-random/ESP_8_BIT_composite) library by [Roger Cheng](https://github.com/Roger-random). While the colors are not totally accurate to SMPTE standards due to the RGB332 bit depth used, it's close enough to do the job.

Also, it looks really rad on an old CRT.

Warning: 

## Install Library and Code

To run the Test Pattern Generator, you'll need to download the **ESP\_8\_BIT\_composite** library, uncompress the .zip, and then move the folder to your Arduino **libraries** directory.

Rename the folder from **ESP\_8\_BIT\_composite-master** to **ESP\_8\_BIT\_composite**.

In the Arduino IDE, open the **File \> Examples \> ESP\_8\_BIT Color Composite Video Library \> SMPTE\_NTSC\_Color\_Bars.ino** file.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/387/medium800/projects_file.jpg?1655222240)

## Settings, Compile, Upload

In order to compile and upload to the board, first select Tools \> Board \> ESP32 Arduino \> Adafruit QT Py ESP32.

Then, match the other settings shown here. **Very important** : Click **Tools \> PSRAM \> Disabled**. If you don't disable the PSRAM the video will suffer vertical sync issues and jiggle up and down!

When you're ready, click **Sketch** \> **Upload** (or use the upload button) to compile and upload the code to the board.

![projects_dali4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/230/medium640/projects_dali4.jpg?1654207785)

![projects_dali3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/231/medium640/projects_dali3.jpg?1654207814)

## Code
https://github.com/adafruit/ESP_8_BIT_composite/blob/main/examples/SMPTE_NTSC_Color_Bars/SMPTE_NTSC_Color_Bars.ino

## How it Works

The **ESP\_8\_BIT\_composite** library makes it easy to use the Adafruit **GFX** library commands to display images on screen.

### videoOut Creation

First, you'll import the library and create and instance of **ESP\_8\_BIT\_GFX** called **videoOut**. The `true` argument chooses NTSC (vs. PAL), and the `8` chooses 8-bit RGB332 color.

```cpp
#include <ESP_8_BIT_GFX.h>

// Create an instance of the graphics library
ESP_8_BIT_GFX videoOut(true /* = NTSC */, 8 /* = RGB332 color */);
```

### Colors and Sizes

Next, a number of colors are defined to approximate the NTSC color bars. This was accomplished with the incredibly cool 3D color picker Roger Cheng [created here](https://roger-random.github.io/RGB332_color_wheel_three.js/), which outputs hex values for RGB332 color space.

### Colors and Sizes

Next, a number of colors are defined to approximate the NTSC color bars. This was accomplished with the incredibly cool 3D color picker Roger Cheng [created here](https://roger-random.github.io/RGB332_color_wheel_three.js/), which outputs hex values for RGB332 color space.

The pixel dimensions are defined for the different sizes of bars.

![projects_rgb332.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/229/medium640/projects_rgb332.jpg?1654207078)

```cpp
uint8_t WHITE = 0xFF ;
uint8_t DIM_WHITE = 0xB6 ;
uint8_t YELLOW =  0xF4 ;
uint8_t TEAL = 0x1C ;
uint8_t GREEN = 0x70 ;
uint8_t MAGENTA =  0x83 ;
uint8_t RED = 0x82 ;
uint8_t BLUE =  0x0B ;
uint8_t DARK_BLUE = 0x06 ;
uint8_t PURPLE = 0x23 ;
uint8_t BLACK =  0x00 ;
uint8_t GRAY =  0x24 ;
uint8_t LIGHT_GRAY = 0x29 ;

uint8_t height_tall = 149 ;
uint8_t height_squat = 19 ;
uint8_t height_med = 56 ;

uint8_t width_med = 36 ;
uint8_t width_large = 46;
uint8_t width_skinny = 12 ;

uint8_t row2_y = height_tall ;
uint8_t row3_y = height_tall + height_squat ;
```

### Begin Video

In the setup() loop, the videoOut is started.

```cpp
void setup() {
  // Initial setup of graphics library
  videoOut.begin();
}
```

### Main Loop

In the main loop, the library waits for a frame, then clears the screen, and draws the bars, based on some procedural rules.

```cpp
// Wait for the next frame to minimize chance of visible tearing
    videoOut.waitForFrame();

    // Clear screen
    videoOut.fillScreen(0);

    // Draw  rectangles
    //row 1
    videoOut.fillRect(0, 0, width_med, height_tall, DIM_WHITE);
    videoOut.fillRect(width_med, 0, width_med, height_tall, YELLOW);
    videoOut.fillRect(width_med*2, 0, width_med, height_tall, TEAL);
    videoOut.fillRect(width_med*3, 0, width_med, height_tall, GREEN);
    videoOut.fillRect(width_med*4, 0, width_med, height_tall, MAGENTA);
    videoOut.fillRect(width_med*5, 0, width_med, height_tall, RED);
    videoOut.fillRect(width_med*6, 0, width_med, height_tall, BLUE);
    //row 2
    videoOut.fillRect(0, row2_y, width_med, height_squat, BLUE);
    videoOut.fillRect(width_med, row2_y, width_med, height_squat, GRAY);
    videoOut.fillRect(width_med*2, row2_y, width_med, height_squat, MAGENTA);
    videoOut.fillRect(width_med*3, row2_y, width_med, height_squat, GRAY);
    videoOut.fillRect(width_med*4, row2_y, width_med, height_squat, TEAL);
    videoOut.fillRect(width_med*5, row2_y, width_med, height_squat, GRAY);
    videoOut.fillRect(width_med*6, row2_y , width_med, height_squat, DIM_WHITE);
    //row 3
    videoOut.fillRect(0, row3_y, width_large, height_med, DARK_BLUE);
    videoOut.fillRect(width_large, row3_y, width_large, height_med, WHITE);
    videoOut.fillRect(width_large*2, row3_y, width_large, height_med, PURPLE);
    videoOut.fillRect(width_large*3, row3_y, width_large, height_med, GRAY);
    videoOut.fillRect(width_large*4, row3_y, width_skinny, height_med, BLACK);
    videoOut.fillRect(width_large*4+width_skinny, row3_y, width_skinny, height_med, GRAY);
    videoOut.fillRect(((width_large*4)+(width_skinny*2)), row3_y , width_skinny, height_med, LIGHT_GRAY);
    videoOut.fillRect(width_med*6, row3_y , width_med, height_med, GRAY);
```

### Text

In order to make it simple to verify that a display is showing the video in the proper orientation/rotation a small bit of text is printed to the screen. You can adjust this text to suit your needs.

```cpp
// Draw text
     videoOut.setCursor(144, 180);
     videoOut.setTextColor(0xFF);
     videoOut.print("Adafruit NTSC");
     videoOut.setCursor(144, 190);
     videoOut.setTextColor(0xFF);
     videoOut.print("composite video");
```


## Guide Products

### Adafruit QT Py ESP32 Pico - WiFi Dev Board with STEMMA QT

[Adafruit QT Py ESP32 Pico - WiFi Dev Board with STEMMA QT](https://www.adafruit.com/product/5395)
This dev board is like when you're watching a super-hero movie and the protagonist shows up in a totally amazing costume in the third act and you're like 'OMG! That's the hero and they're here to kick some serious butt!" but in this case its a...

In Stock
[Buy Now](https://www.adafruit.com/product/5395)
[Related Guides to the Product](https://learn.adafruit.com/products/5395/guides)
### Adafruit LiIon or LiPoly Charger BFF Add-On for QT Py

[Adafruit LiIon or LiPoly Charger BFF Add-On for QT Py](https://www.adafruit.com/product/5397)
[Is your QT Py all alone](https://www.adafruit.com/?q=qt+py&sort=BestMatch), lacking a friend to travel the wide world with? When you were a kid you may have learned about the "buddy" system, well this product is kinda like that! A board that will watch your QT...

In Stock
[Buy Now](https://www.adafruit.com/product/5397)
[Related Guides to the Product](https://learn.adafruit.com/products/5397/guides)
### USB Type A to Type C Cable - 6" long

[USB Type A to Type C Cable - 6" long](https://www.adafruit.com/product/4472)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4472)
[Related Guides to the Product](https://learn.adafruit.com/products/4472/guides)
### RCA (Composite Video, Audio) Male Plug Terminal Block

[RCA (Composite Video, Audio) Male Plug Terminal Block](https://www.adafruit.com/product/2792)
One truth about working with A/V is you always need the cable or adapter you _don't_ have in your toolbox. That's why we love these terminal-block RCA connectors so much. **No soldering required!** Use stranded or solid core wire and a small screw driver to create...

In Stock
[Buy Now](https://www.adafruit.com/product/2792)
[Related Guides to the Product](https://learn.adafruit.com/products/2792/guides)
### RCA (Composite Video, Audio) Female Jack Terminal Block

[RCA (Composite Video, Audio) Female Jack Terminal Block](https://www.adafruit.com/product/2793)
One truth about working with A/V is you always need the cable or adapter you _don't_ have in your toolbox. That's why we love these terminal-block RCA connectors so much. **No soldering required!** Use stranded or solid core wire and a small screw driver to create...

In Stock
[Buy Now](https://www.adafruit.com/product/2793)
[Related Guides to the Product](https://learn.adafruit.com/products/2793/guides)
### RCA (Composite Video, Audio) Cable 6 feet

[RCA (Composite Video, Audio) Cable 6 feet](https://www.adafruit.com/product/863)
This cable comes with two nice gold-plated RCA connectors. Perfect for use with component/composite video and audio, such as the [YBox kit](https://www.adafruit.com/products/95), [Propeller Quick-proto for Quickstart board](https://www.adafruit.com/products/799), and of...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/863)
[Related Guides to the Product](https://learn.adafruit.com/products/863/guides)
### Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh

[Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh](https://www.adafruit.com/product/3898)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of **400mAh** for a total of about 1.9 Wh. If you need a larger (or smaller!)...

In Stock
[Buy Now](https://www.adafruit.com/product/3898)
[Related Guides to the Product](https://learn.adafruit.com/products/3898/guides)
### Extra-long break-away 0.1" 16-pin strip male header (5 pieces)

[Extra-long break-away 0.1" 16-pin strip male header (5 pieces)](https://www.adafruit.com/product/400)
Breakaway header is like the duct tape of electronics, and this header is one better with extra long pins on **both** sides. This makes it great for connecting things together that have two sockets - especially solderless breadboards. [We also...](https://www.adafruit.com/products/266)

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

## Related Guides

- [Adafruit LiIon or LiPoly Charger BFF Add-On for QT Py](https://learn.adafruit.com/adafruit-qt-py-charger-bff.md)
- [Adafruit QT Py ESP32 Pico](https://learn.adafruit.com/adafruit-qt-py-esp32-pico.md)
- [Trash-Built Robotic Fish](https://learn.adafruit.com/trash-robo-fish.md)
- [Tappy Robotic Hand](https://learn.adafruit.com/robotic-tapping-hand-with-cpx.md)
- [Talking D20 with RP2040 PropMaker Feather](https://learn.adafruit.com/talking-d20-rp2040.md)
- [DC, Servo, Stepper Motors and Solenoids with the Pico](https://learn.adafruit.com/use-dc-stepper-servo-motor-solenoid-rp2040-pico.md)
- [Sailor Moon Star Locket](https://learn.adafruit.com/sailor-moon-star-locket.md)
- [Apple IIe Fruit Jam Enclosure](https://learn.adafruit.com/apple-iie-fruit-jam-enclosure.md)
- [No-Code Battery Monitoring with WipperSnapper](https://learn.adafruit.com/no-code-battery-monitoring-with-wippersnapper.md)
- [Blinka Jump PyBadge Game](https://learn.adafruit.com/blinka-jump-pybadge-game.md)
- [Tiny Museum Tour Device](https://learn.adafruit.com/tiny-museum-tour-device.md)
- [The Great Seal Mask](https://learn.adafruit.com/the-great-seal-mask.md)
- [MLX90640 Thermal Camera with Image Recording](https://learn.adafruit.com/mlx90640-thermal-image-recording.md)
- [Integrating Home Assistant with Adafruit IO](https://learn.adafruit.com/integrating-adafruit-io-with-home-assistant.md)
- [BLE Beacon NeoPixels](https://learn.adafruit.com/ble-beacon-neopixels.md)
- [Last-Minute Halloween Accoutrements with HalloWing](https://learn.adafruit.com/last-minute-halloween-accoutrements-with-hallowing.md)
- [CircuitPython Elgato WiFi Light Controller](https://learn.adafruit.com/circuitpython-elgato-wifi-light-controller.md)
