# Arcade Machine/Console Emulator for ESP32 Handheld

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/146/788/medium800/gaming_gboytv-4783.jpg?1791157421)

https://youtu.be/NtrwA44Ch8E

![](https://cdn-learn.adafruit.com/assets/assets/000/146/839/medium800/gaming_gboytv-4790.jpg?1791161453)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/564/medium800/gaming_BTESP.jpg?1790089604)

https://youtu.be/-RSqWdI-oBc

![](https://cdn-learn.adafruit.com/assets/assets/000/146/568/medium800/gaming_esparc-4495.jpg?1790090560)

We've ported the [Fruit Jam Arcade Machine/Console Emulator](https://learn.adafruit.com/space-invaders-for-fruit-jam) to ESP32!

_Pew_&nbsp;_pew!&nbsp;_👾 Do you wanna play a game of pixel-accurate&nbsp; **Space Invaders** &nbsp;🛸, even when you can't remember where you put your original 1978 Taito or Midway arcade cabinet. Or maybe&nbsp; **Mr.** &nbsp;or&nbsp; **Ms. Pac-Man** &nbsp;🍒 is more your speed? Heck yesh!&nbsp; **Donkey Kong** &nbsp;🦍? Check.&nbsp; **Galaga** &nbsp;✨? YES! How about some 🍔&nbsp; **Burger Time** &nbsp;🍟? Totally!!&nbsp; **Lunar Rescue** &nbsp;🌕 perhaps? LET'S DO THIS!!!

What about a dedicated Game Boy or Nintendo Entertainment System (NES) with microSD card cartridges?

Rather than running them on the Intel 8080 or Zilog Z80 or MOS 6502-based arcade PCBs, these are native Arduino ports for the&nbsp; **Feather ESP32 v2 + 2.4" TFT FeatherWing** , which loads your original game ROMs from a microSD card at boot. The video is output to the TFT LCD color display with I2S audio sent to a speaker via the **MAX98357A 3W Class D Amp** breakout.

This single arcade machine port architecture is a contrast to the&nbsp; **MAME** &nbsp;(Multiple Arcade Machine Emulator) concept in a couple of key ways. One, it runs on a microcontroller instead of a computer + operating system, so your game boots up instantly and requires no fiddling around and associated overhead. And two, you get one game, and one game only at a time to play on your machine, so you can stop rage-quitting and launching something else!

&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/146/555/medium800/gaming_esparc-4468.jpg?1790088728)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/569/medium800/gaming_esparc-4511.jpg?1790091306)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/789/medium800/gaming_gboytv-4770.jpg?1791157470)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/748/medium800/gaming_gbdmg.jpg?1790898144)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/840/medium800/gaming_gboytv-4799.jpg?1791161482)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/841/medium800/gaming_gboytv-4800.jpg?1791161489)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/842/medium800/gaming_gboytv-4802.jpg?1791161506)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/747/medium800/gaming_Nintendo-Entertainment-System-NES-Control-Deck-1986.jpg?1790898129)

## Parts
Featured
### Adafruit ESP32 Feather V2 -  8MB Flash + 2 MB PSRAM

[Adafruit ESP32 Feather V2 -  8MB Flash + 2 MB PSRAM](https://www.adafruit.com/product/5400)
One of our star Feathers is the [Adafruit HUZZAH32 ESP32 Feather](https://www.adafruit.com/product/3405) - with the fabulous ESP32 WROOM module on there, it makes quick work of WiFi and Bluetooth® projects that take advantage of Espressifs most popular chipset. Recently we had...

In Stock
[Buy Now](https://www.adafruit.com/product/5400)
[Related Guides to the Product](https://learn.adafruit.com/products/5400/guides)
![Top view of black rectangle-shaped microcontroller.](https://cdn-shop.adafruit.com/640x480/5400-13.jpg)

Featured
### TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers

[TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers](https://www.adafruit.com/product/3315)
A Feather board without ambition is a Feather board without FeatherWings! Spice up your Feather project with a beautiful 2.4" touchscreen display shield with built in microSD card socket. This TFT display is 2.4" diagonal with a bright 4 white-LED backlight. You get&nbsp; 240x320...

In Stock
[Buy Now](https://www.adafruit.com/product/3315)
[Related Guides to the Product](https://learn.adafruit.com/products/3315/guides)
![View of a TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers. A polished finger drawing a heart on the touch screen. ](https://cdn-shop.adafruit.com/product-videos/640x480/3315-09.jpg)

Featured
### Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A

[Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A](https://www.adafruit.com/product/3006)
Listen to this good news - we now have an all in one digital audio amp breakout board that works incredibly well with the&nbsp;[Raspberry Pi](https://www.adafruit.com/category/105)! If you're looking for an easy and low cost way to get your digital sound files...

In Stock
[Buy Now](https://www.adafruit.com/product/3006)
[Related Guides to the Product](https://learn.adafruit.com/products/3006/guides)
![Angled shot of blue, square-shaped, amplifier breakout with a pre-soldered terminal block.](https://cdn-shop.adafruit.com/640x480/3006-04.jpg)

Featured
### Mini Oval Speaker - 8 Ohm 1 Watt

[Mini Oval Speaker - 8 Ohm 1 Watt](https://www.adafruit.com/product/3923)
Hear the good news! This wee speaker&nbsp;is&nbsp;a&nbsp;great addition to any audio project where you need 8 ohm impedance and 1W or less of power. We particularly like this&nbsp;speaker&nbsp;as it is&nbsp;small and comes with nice skinny wires with a connector on the end. It has a handy...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3923)
[Related Guides to the Product](https://learn.adafruit.com/products/3923/guides)
![Small, black, oval speaker with Pico Blade connector.](https://cdn-shop.adafruit.com/640x480/3923-06.jpg)

Featured
### Lithium Ion Battery - 3.7V 2000mAh

[Lithium Ion Battery - 3.7V 2000mAh](https://www.adafruit.com/product/2011)
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 2000mAh. If you need a larger (or smaller!) battery,&nbsp;<a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/2011)
[Related Guides to the Product](https://learn.adafruit.com/products/2011/guides)
![Lithium Ion Polymer Battery 3.7v 2000mAh with JST 2-PH connector](https://cdn-shop.adafruit.com/640x480/2011-05.jpg)

Featured
### Short Feather Male Headers - 12-pin and 16-pin Male Header Set

quantity: 2
[Short Feather Male Headers - 12-pin and 16-pin Male Header Set](https://www.adafruit.com/product/3002)
These two&nbsp; **Short** &nbsp; **Male&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

<p...></p...>In Stock
[Buy Now](https://www.adafruit.com/product/3002)
[Related Guides to the Product](https://learn.adafruit.com/products/3002/guides)
![Angled shot of a Short Feather Male Headers - 12-pin and 16-pin Male Header Set. ](https://cdn-shop.adafruit.com/640x480/3002-00.jpg)

Featured
### Short Headers Kit for Feather - 12-pin + 16-pin Female Headers

[Short Headers Kit for Feather - 12-pin + 16-pin Female Headers](https://www.adafruit.com/product/2940)
These two&nbsp; **Short** &nbsp; **Female&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

These headers are particularly cute and...

In Stock
[Buy Now](https://www.adafruit.com/product/2940)
[Related Guides to the Product](https://learn.adafruit.com/products/2940/guides)
![Angled shot of two stacking headers.](https://cdn-shop.adafruit.com/640x480/2940-01.jpg)

### Parts for External Controller-Based Build
Featured
### Adafruit Wii Nunchuck Breakout Adapter

[Adafruit Wii Nunchuck Breakout Adapter](https://www.adafruit.com/product/4836)
Dig out that old Wii controller and use it as a sleek controller for your next robot if you like. The Adafruit Adafruit Wii Nunchuck Breakout Adapter fits snugly into the Wii connector and performs the level shifting and power regulation needed to use the controller with any microcontroller or...

In Stock
[Buy Now](https://www.adafruit.com/product/4836)
[Related Guides to the Product](https://learn.adafruit.com/products/4836/guides)
![Hand holding a Wiichuck controller pressing buttons. The controller is connected to the breakout wired to a Feather with OLED showing the streaming controller data](https://cdn-shop.adafruit.com/product-videos/640x480/4836-06.jpg)

Featured
### STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long

[STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long](https://www.adafruit.com/product/4210)
This 4-wire cable is a little over 100mm / 4" 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/4210)
[Related Guides to the Product](https://learn.adafruit.com/products/4210/guides)
![Angled shot of STEMMA QT / Qwiic JST SH 4-pin Cable.](https://cdn-shop.adafruit.com/640x480/4210-00.jpg)

### Wii or SNES/NES Classic Controller

These official Nintendo controllers made for the Wii/WiiU and NES Classic/SNES Classic consoles are excellent and they communicate over I2C. This allows you to use real controllers without the need for a USB Host.

Get real OEM controllers on auction sites or local game stores, the clones are hit-and-miss.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/744/medium640/gaming_Wii_Classic_Controller.jpg?1790897259)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/745/medium640/gaming_SNESCL.jpg?1790897764)

### Additional Parts for Handheld Build
### Adafruit Perma-Proto Full-sized Breadboard PCB - Single

[Adafruit Perma-Proto Full-sized Breadboard PCB - Single](https://www.adafruit.com/product/1606)
Customers have asked us to carry basic perf-board, but we never liked the look of most basic perf: it's always crummy quality, with pads that flake off and no labeling. Then we thought about how people **actually** prototype - usually starting with a solderless breadboard and...

In Stock
[Buy Now](https://www.adafruit.com/product/1606)
[Related Guides to the Product](https://learn.adafruit.com/products/1606/guides)
![A white hand with a red manicure holds up an Adafruit Perma-Proto Full-sized Breadboard PCB.](https://cdn-shop.adafruit.com/640x480/1606-04.jpg)

### Soft Silicone Top 6mm Push-buttons (20-pack)

[Soft Silicone Top 6mm Push-buttons (20-pack)](https://www.adafruit.com/product/4183)
This product is really annoying to have to write a description for because it's really something you have to touch to understand! Instead of a hard plastic actuator-button, these have a soft molded silicone button top. The underlying switch is still a clicky dome-switch but you have this...

In Stock
[Buy Now](https://www.adafruit.com/product/4183)
[Related Guides to the Product](https://learn.adafruit.com/products/4183/guides)
![Angled shot of 20 6mm soft silicone top pushbuttons.](https://cdn-shop.adafruit.com/640x480/4183-04.jpg)

### Through-Hole Resistors - 10K ohm 5% 1/4W - Pack of 25

[Through-Hole Resistors - 10K ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/2784)
ΩMG! You're not going to be able to resist these handy resistor packs!&nbsp;Well, axially, they&nbsp;do all of the resisting for you!

This is a **25 Pack of 10K Ω Resistors.** More specifically, they are **carbon film** , through-hole...

In Stock
[Buy Now](https://www.adafruit.com/product/2784)
[Related Guides to the Product](https://learn.adafruit.com/products/2784/guides)
![Angled shot of 25 Through-Hole Resistors - 10K ohm 5% 1/4W.](https://cdn-shop.adafruit.com/640x480/2784-00.jpg)

### Hook-up Wire Spool Set - 22AWG Solid Core - 10 x 25ft

[Hook-up Wire Spool Set - 22AWG Solid Core - 10 x 25ft](https://www.adafruit.com/product/3174)
Perfect for bread-boarding, free wiring, etc. This box contains **6** spools of **solid-core** wire. These&nbsp;spools of solid-core wires are&nbsp;easily soldered to,&nbsp;keeps its shape pretty well when bent&nbsp;and is rated 80C and 300V (UL AWM style...

In Stock
[Buy Now](https://www.adafruit.com/product/3174)
[Related Guides to the Product](https://learn.adafruit.com/products/3174/guides)
![Hook-up Wire Spool Set - 22AWG Solid Core in box with 10 colorful wires coming out.](https://cdn-shop.adafruit.com/640x480/3174-02.jpg)

### Thick Double-Sided Rectangle Foam Tape - 2 pieces

[Thick Double-Sided Rectangle Foam Tape - 2 pieces](https://www.adafruit.com/product/5019)
These **1mm thick&nbsp;double-sided foam tapes** &nbsp;are perfect for a variety of small projects. These adhesive rectangles&nbsp;provide a strong&nbsp;bond to most surfaces and are cleaner and easier to remove&nbsp;without the wait, mess, or hassle of epoxy or hot glue. We use...

In Stock
[Buy Now](https://www.adafruit.com/product/5019)
[Related Guides to the Product](https://learn.adafruit.com/products/5019/guides)
![Angled shot of single blue rectangular foam tape.](https://cdn-shop.adafruit.com/640x480/5019-03.jpg)

# Arcade Machine/Console Emulator for ESP32 Handheld

## Code

The Adafruit Arcade Machines library for Arduino contains example games for Feather ESP32 V2 (and Fruit Jam, but that's in a different guide).

These ports were created using Claude Code. See the bottom of this page for development notes from the porting sessions.

The project source code lives&nbsp;[here](https://github.com/adafruit/Adafruit_Arcade_Machines) on GitHub. There are instructions at the bottom of this page for compiling and flashing your board inside the Arduino IDE. But rather than compile it, you can download the latest .bin [releases here](https://github.com/adafruit/Adafruit_Arcade_Machines/releases) for:

- **Space Invaders**
- **Lunar Rescue**
- **Galaga**
- **Pac-Man**
- **Ms. Pac-Man**
- **Donkey Kong**
- **Burger Time**

and consoles:

- **Nintendo Game Boy**
- **Nintendo Entertainment System**

Head to the latest release and scroll down to the **Assets** section. Click on the&nbsp; **.bin** file you want to download.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/751/medium640/gaming_releases.jpg?1790915565)

## Install the Game .bin

You can use the [Web Serial ESPTool](https://adafruit.github.io/Adafruit_WebSerial_ESPTool/) to program the .bin file onto the Feather by following the [instructions shown here](https://learn.adafruit.com/circuitpython-with-esp32-quick-start/web-serial-esptool).

Alternatively, you can install command line esptool on your computer as [shown here](https://learn.adafruit.com/circuitpython-with-esp32-quick-start/command-line-esptool) and then run this command from a shell:

`esptool.py --chip esp32 --port /dev/cu.SLAB_USBtoUART write_flash 0x0 btime_featheresp32.bin`

## SD Card setup

Format your microSD card as FAT32/MBR. Create two top level directories on the card:

- **/rom/**
- **/samples/**

**File naming in&nbsp;/rom/:** &nbsp;files are loaded in reverse alphabetical order starting at ROM address 0x0000. The standard MAME chip naming (`.h`&nbsp;→&nbsp;`.g`&nbsp;→&nbsp;`.f`&nbsp;→&nbsp;`.e`) naturally maps to the correct addresses. Other compatible ROMs will work as long as their chip files sort in the right order, or as a single flat 8 KB binary.

The&nbsp; **rom/** &nbsp;directory represents the four memory chips on the original hardware, designated as slots&nbsp;`h, g, f,``e`&nbsp;A typical ROM set will look like this:

```
/rom/
    invaders.h
    invaders.g
    invaders.f
    invaders.e
```

The **samples/** directory contains WAV samples (we aren't emulating the original sound chip that synthesized the sounds in real-time, but instead play back samples of the originals):

```
/samples/
    0.wav
    1.wav
    ...
    9.wav
```
### Missing samples

Individual WAV files that are absent will be skipped, the game still runs.

### Boot-time Errors

Errors show up as a solid-colored screen:

| Screen color | Meaning |
| --- | --- |
| **Red** | SD card missing or won't mount (check it's inserted and formatted FAT32 with an MBR partition scheme, not GPT/exFAT) |
| **Yellow** | Card mounted OK, but&nbsp; **/rom/** &nbsp;had no usable ROM files, or every sample in&nbsp; **/samples/** &nbsp;failed to load |
| _(no color — game runs)_ | Everything loaded fine |

## Per Game Assets

Here are the required assets for your SD card per game. Your best bet legally speaking is to acquire the ROM chips from an original arcade PCB and dump the ROMs onto your computer.

### Space Invaders

```
/rom/
    invaders.h
    invaders.g
    invaders.f
    invaders.e
/samples/
    0.wav
    ...
    9.wav
```
### Lunar Rescue

```
/rom/
    lrescue.1 (0x0000)
    lrescue.2 (0x0800)
    lrescue.3 (0x1000)
    lrescue.4 (0x1800)
    lrescue.5 (0x4000)
    lrescue.6 (0x4800)
/samples/
    alienexplosion.wav
    rescueshipexplosion.wav
    beamgun.wav
    thrust.wav
    bonus2.wav
    bonus3.wav
    shootingstar.wav
    stepl.wav
    steph.wav
/prom/
    7643-1.cpu
```
### Galaga

```
/rom/
    gg1-1b.3p
    gg1-2b.3m
    gg1-3.2m
    gg1-4b.2l
    gg1-5b.3f
    gg1-7b.2c
    gg1-9.4l
    gg1-11.4d
    gg1-10.4f
    prom-5.5n
    prom-4.2n
    prom-3.1c
    prom-1.1d
```
### Pac-Man

```
/rom/
    pacman.6e
    pacman.6f
    pacman.6h
    pacman.6j
    pacman.5e
    pacman.5f
    82s123.7f
    82s126.1m
    82s126.3m
    82s126.4a
```
### Ms. Pac-Man

```
/rom/
    pacman.6e pacman.6f pacman.6h pacman.6j <- Pac-Man program ROMs
    u5 u6 u7 <- aux board ROMs
    5e 5f <- graphics ROMs
    82s123.7f 82s126.4a 82s126.1m <- colour + waveform PROMs
```
### Donkey Kong

```
/rom/
    c_5et_g.bin c_5ct_g.bin c_5bt_g.bin c_5at_g.bin <- Z80 program
    v_5h_b.bin v_3pt.bin <- tile ROMs
    l_4m_b.bin l_4n_b.bin l_4r_b.bin l_4s_b.bin <- sprite ROMs
    c-2k.bpr c-2j.bpr v-5e.bpr <- palette + colour-code PROMs
    s_3i_b.bin s_3j_b.bin <- 8035 program + sample ROM
```
### Burger Time

```
/rom/
    aa04.9b aa06.13b aa05.10b aa07.15b <- main 6502 program
    ab14.12h <- sound 6502 program
    aa12.7k ab13.9k ab10.10k <- charset #1 AND sprites
    ab11.12k aa8.13k ab9.15k (same bytes, two layouts)
    ab00.1b ab01.3b ab02.4b <- charset #2 (background tiles)
    ab03.6b <- background TILEMAP, not gfx
```
### Game Boy

On your SD card create a directory named cart and put your game's `.gb` file inside of it. Note, you can't use `.zip` files.

```
/cart/   LinksAwakening.gb
```
Once you've played a game the console will add files next to the game:

```
/cart/   LinksAwakening.gb   LinksAwakening.sav            <- battery save (games that have one)   LinksAwakening.fruitjam.cfg   <- settings used on the Fruit Jam   LinksAwakening.feather.cfg    <- settings used on the Feather
```
### NES

On your SD card create a directory named cart and put your game's `.nes`&nbsp;file inside of it. Note, you can't use `.zip` files.

```
/cart/   SuperMarioBros.nes
```

&nbsp;

Once you've played a game the console will add files next to the game:

```
/cart/    SuperMarioBros.nes    SuperMarioBros.sav            <- battery save (games that have one)    SuperMarioBros.fruitjam.cfg   <- settings used on the Fruit Jam    SuperMarioBros.feather.cfg    <- settings used on the Feather
```
## README and DEVNOTES

For complete details check out the [README](https://github.com/adafruit/Adafruit_Arcade_Machines/blob/main/README.md) and [DEVNOTES](https://github.com/adafruit/Adafruit_Arcade_Machines/blob/main/extras/DEVNOTES.md) on the GitHub repo.

## Arduino Library Examples
Here's how to setup, compile, and flash from with the Arduino IDE:

1. Install the&nbsp; **esp32** &nbsp;board core (Espressif's, via Boards Manager — add&nbsp;`https://espressif.github.io/arduino-esp32/package_esp32_index.json`&nbsp;as an additional board URL first).

2. Install this library exactly as above. Its dependencies&nbsp; **differ from the Fruit Jam's** : this board needs&nbsp;`SdFat - Adafruit Fork`&nbsp;and&nbsp;`Adafruit ILI9341`&nbsp;(which pulls in&nbsp;`Adafruit GFX`&nbsp;and&nbsp;`Adafruit BusIO`), and does&nbsp; **not** &nbsp;need&nbsp;`PicoDVI - Adafruit Fork`. I2S audio comes from the core's own&nbsp;`ESP_I2S`, so there is nothing to install for sound.

3. Select board&nbsp; **Adafruit Feather ESP32 V2**.

4. Prepare the SD card exactly as for the Fruit Jam (FAT32,&nbsp; **MBR** ) and put it in the FeatherWing's microSD slot.

5. **File → Examples → Adafruit Arcade Machines → Games →** &nbsp;`_featheresp32`, and upload over USB serial.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/551/medium800/gaming_arduinoex.jpg?1790049799)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/753/medium800/gaming_exampleconsoles.jpg?1790916631)

# Arcade Machine/Console Emulator for ESP32 Handheld

## Handheld Build

![](https://cdn-learn.adafruit.com/assets/assets/000/146/441/medium800/gaming_esparc-4328.jpg?1789767085)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/420/medium800/gaming_handfritz_back_2.jpg?1789752850)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/437/medium800/gaming_handfritz_front_3.jpg?1789761088)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/435/medium800/gaming_handfritz_front_SCREEN_2.jpg?1789760459)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/398/medium800/gaming_handschem.jpg?1789603403)

## Place Buttons

Follow the Fritzing diagram to place the buttons.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/442/medium640/gaming_esparc-4329.jpg?1789767107)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/443/medium640/gaming_esparc-4336.jpg?1789767116)

## Solder Buttons

Flip the board over and solder all of the button legs in place.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/444/medium640/gaming_esparc-4338.jpg?1789767157)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/445/medium640/gaming_esparc-4339.jpg?1789767188)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/446/medium640/gaming_esparc-4340.jpg?1789767198)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/447/medium640/gaming_esparc-4341.jpg?1789767205)

## Place and Solder TFT Header Pins

Follow the Fritzing diagram to place the two short Feather header pin rows on the top side of the Perma Proto board with their longer side facing upwards. This is the set of pins the TFT will connect to.

Fit the TFT FeatherWing onto the pins to hold them in place, then flip the board over and solder them.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/448/medium640/gaming_esparc-4342.jpg?1789767218)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/449/medium640/gaming_esparc-4344.jpg?1789767235)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/450/medium640/gaming_esparc-4345.jpg?1789767321)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/451/medium640/gaming_esparc-4347.jpg?1789767354)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/452/medium640/gaming_esparc-4349.jpg?1789767362)

## Place and Solder Feather Pins and Header Sockets

Follow the Fritzing diagram to place the two short Feather header sockets on the back side of the board.

Then, push the short feather header pins into those, and then set the Feather on top of those pins as shown.

Solder the Feather header pins to the Feather.

Flip the board over, using the Feather (and some tape or silicone band) to hold the sockets in place. Then, solder the sockets in place onto the Perma Proto board.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/453/medium640/gaming_esparc-4351.jpg?1789767385)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/454/medium640/gaming_esparc-4353.jpg?1789767549)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/455/medium640/gaming_esparc-4354.jpg?1789767555)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/456/medium640/gaming_esparc-4356.jpg?1789767564)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/457/medium640/gaming_esparc-4357.jpg?1789767581)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/458/medium640/gaming_esparc-4360.jpg?1789767600)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/459/medium640/gaming_esparc-4363.jpg?1789767612)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/460/medium640/gaming_esparc-4364.jpg?1789767620)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/465/medium800/gaming_esparc-4365.jpg?1789767636)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/467/medium800/gaming_esparc-4366.jpg?1789767645)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/468/medium800/gaming_esparc-4367.jpg?1789767653)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/469/medium800/gaming_esparc-4368.jpg?1789767660)

## Add I2S Amp

Use the provided header pins to solder the I2S 2W Class D M98357A Mono amplifier as shown in the Fritzing diagram.

Flip the board over (securing the amp in place from falling out with tape or a silicone band) and solder the pins from the other side as well.

Trim the excess amp header pin length with diagonal cutters.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/470/medium640/gaming_esparc-4369.jpg?1789769657)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/471/medium640/gaming_esparc-4371.jpg?1789769720)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/472/medium640/gaming_esparc-4373.jpg?1789769730)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/473/medium640/gaming_esparc-4374.jpg?1789769735)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/474/medium640/gaming_esparc-4375.jpg?1789769748)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/475/medium640/gaming_esparc-4376.jpg?1789769771)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/476/medium640/gaming_esparc-4377.jpg?1789769789)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/477/medium640/gaming_esparc-4378.jpg?1789769838)

## Add Pull Up Resistors

Add the four pull up resistors from the four buttons to the 3.3V rail as shown in the Fritzing diagram. A value of around 10K works well for these, but anything from 4.7K to 22K is great.

After soldering, trim the excess leads.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/146/478/medium640/gaming_esparc-4379.jpg?1789769885)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/479/medium640/gaming_esparc-4380.jpg?1789769989)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/480/medium640/gaming_esparc-4381.jpg?1789769999)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/481/medium640/gaming_esparc-4383.jpg?1789770010)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/482/medium640/gaming_esparc-4384.jpg?1789770019)

## Wire Power and Ground

Following the Fritzing diagram, wire the power and ground rails from the Feather 3V and GND pins respectively. Then, connect both sides of the Perma Proto board's power and ground rails.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/483/medium640/gaming_esparc-4385.jpg?1789772077)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/484/medium640/gaming_esparc-4386.jpg?1789772084)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/485/medium640/gaming_esparc-4387.jpg?1789772091)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/486/medium640/gaming_esparc-4388.jpg?1789772098)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/487/medium640/gaming_esparc-4389.jpg?1789772106)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/488/medium640/gaming_esparc-4390.jpg?1789772113)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/494/medium800/gaming_esparc-4391.jpg?1789772128)

## Go to Ground

Next, follow the circuit diagram to run all of the button ground wires to one of the two ground rails.

Solder the wires in place and trim the excess leads.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/495/medium640/gaming_esparc-4392.jpg?1789774210)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/496/medium640/gaming_esparc-4396.jpg?1789774218)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/497/medium640/gaming_esparc-4395.jpg?1789774264)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/498/medium640/gaming_esparc-4397.jpg?1789774269)

## _I've Got the Power!_

Now, run a red wire jumper from the 3.3V rail to the VIN pin on the amp.

You could choose to run the amp power from the BAT pin if you only were planning to use the handheld with the LiPoly battery plugged in, but if you try to run it from USB power and there's no battery plugged in, the amp will be starved by the low current charge level. The 3.3V rail works well and is the most versatile power source for this build.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/499/medium640/gaming_esparc-4398.jpg?1789774819)

## Button Wiring

Wire the buttons to their respective Feather pins according to the circuit diagram.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/531/medium640/gaming_esparc-4444.jpg?1790034586)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/532/medium640/gaming_esparc-4446.jpg?1790034636)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/533/medium640/gaming_esparc-4447.jpg?1790034656)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/534/medium640/gaming_esparc-4448.jpg?1790034670)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/535/medium800/gaming_esparc-4453.jpg?1790034694)

## I2S Wiring

Wire up the three I2S pins from the amp to the Feather. Remove the Feather from the board first as shown.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/536/medium640/gaming_esparc-4454.jpg?1790034770)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/537/medium640/gaming_esparc-4455.jpg?1790034788)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/538/medium640/gaming_esparc-4456.jpg?1790034817)

## Battery

Plug the battery into the JST connector on the Feather.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/539/medium640/gaming_esparc-4457.jpg?1790034842)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/540/medium640/gaming_esparc-4458.jpg?1790034856)

## Speaker

Cut the connector from the end of the speaker, then trim a bit of insulation from each wire. Unscrew the screw terminals and then place the wire ends into their respective sides ( **red** to **+** , **black** to **-** ). Screw the terminal blocks down to secure the wires.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/541/medium640/gaming_esparc-4459.jpg?1790035056)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/542/medium640/gaming_esparc-4461.jpg?1790035066)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/543/medium640/gaming_esparc-4463.jpg?1790035082)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/544/medium640/gaming_esparc-4464.jpg?1790035091)

## Adhere Speaker

Remove the protective film from the speaker and adhere it to the battery.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/546/medium640/gaming_esparc-4465.jpg?1790035130)

## Optional Protective Foam

You can cut EVA foam to fit against the board where you'll grip it and another piece between the battery and board. Use double-stick foam tape to secure them.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/547/medium640/gaming_esparc-4466.jpg?1790035395)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/548/medium640/gaming_esparc-4468.jpg?1790035405)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/549/medium800/gaming_esparc-4469.jpg?1790035484)

## Peel

Now you can peel off that protective film and get ready to play.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/552/medium800/gaming_esparc-4471.jpg?1790088682)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/553/medium800/gaming_esparc-4472.jpg?1790088686)

## Optional Controller

With your handheld built you can optionally plug in a Wii Classic Controller (or NES/SNES Classic Controller) over I2C using the Wii Nunchuck breakout and a STEMMA QT cable.&nbsp;

Or, go wireless with the 8BitDo NES/SNES/SFC Classic dongle and a compatible Bluetooth controller such as the 8BitDo SFC30 Pro.

# Arcade Machine/Console Emulator for ESP32 Handheld

## Play Games

![](https://cdn-learn.adafruit.com/assets/assets/000/146/565/medium800/gaming_BTESP.jpg?1790089714)

Plug in your prepared microSD card into the microSD card reader on the TFT FeatherWing. Turn the FeatherWing's ON/OFF switch to ON.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/556/medium800/gaming_esparc-4473.jpg?1790088746)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/557/medium800/gaming_esparc-4474.jpg?1790088751)

## Screen Orientation

If your game graphics are upside down or sideways, press the ROTATE button until it is correct.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/558/medium800/gaming_esparc-4481.jpg?1790088767)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/559/medium800/gaming_esparc-4482.jpg?1790088775)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/560/medium800/gaming_esparc-4483.jpg?1790088782)

## Put in a Quarter

Press the COIN button to add credits. You'll need two coins if you want to play pass-and-play two player games.

Press either the Player One or Player Two button to select the number of players.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/561/medium800/gaming_esparc-4485.jpg?1790088795)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/562/medium800/gaming_esparc-4486.jpg?1790088802)

## Have Fun

Go make some burgers, or eat some pellets, or save the moon, or jump some barrels. It's up to you!

https://youtu.be/-RSqWdI-oBc

![](https://cdn-learn.adafruit.com/assets/assets/000/146/563/medium800/gaming_esparc-4489.jpg?1790088809)

## Battery Life

You should get about 8-10 hours of battery life, so it's perfect for those long road trips when you want to really focus on mastering Galaga. Just plug a USB power cable into the Feather to recharge.

## Swap Games

Unlike the typical multiple game emulator, this is designed to be a single-game machine. However, you can upload a different game to the Feather and change out the SD card when you're ready to focus on Ms. Pac-Man, say, or one of the other games that's been ported.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/567/medium800/gaming_esparc-4495.jpg?1790090527)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/570/medium800/gaming_esparc-4504.jpg?1790091319)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/571/medium800/gaming_esparc-4511.jpg?1790091323)

# Arcade Machine/Console Emulator for ESP32 Handheld

## Mini TV Build

![](https://cdn-learn.adafruit.com/assets/assets/000/146/790/medium800/gaming_gboytv-4770.jpg?1791157508)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/843/medium800/gaming_gboytv-4790.jpg?1791161531)

Who says handhelds need to be handheld? This variant flips the handheld console concept on its head and turns the thing into an integrated console/TV set that you play with a controller. If you bring this on the plane and set it up on your tray table everyone will be jealous of you and you'll probably get a free extra stroopwafle.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/791/medium800/gaming_gboytv-4655.jpg?1791157659)

https://circuit.adafruit-playground.com/c/mwmy6a7ie6

## Feather Headers

Place two sets of header pins in the Feather. Press them into the TFT FeatherWing for spacing and then solder them to the Feather.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/792/medium640/gaming_gboytv-4656.jpg?1791157821)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/793/medium640/gaming_gboytv-4657.jpg?1791157877)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/794/medium640/gaming_gboytv-4659.jpg?1791157887)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/795/medium640/gaming_gboytv-4660.jpg?1791157896)

## Amp Prep

Save a bit of space by desoldering the screw terminal block from the amp.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/796/medium640/gaming_gboytv-4665.jpg?1791157908)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/797/medium640/gaming_gboytv-4666.jpg?1791157916)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/798/medium640/gaming_gboytv-4667.jpg?1791157921)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/799/medium640/gaming_gboytv-4668.jpg?1791157927)

## Add Speaker

Solder the mini speaker's red wire to the amp positive (**+)** and the speaker's black wire to the amp negative **(-)****&nbsp;**pad.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/800/medium640/gaming_gboytv-4669.jpg?1791158030)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/801/medium640/gaming_gboytv-4670.jpg?1791158036)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/806/medium800/gaming_ampfritz.jpg?1791158504)

## Amp Wires

Prep the five wires for the amp breakout by cutting 4" lengths and trimming some insulation from each end. Tin the wires.

Solder these wires (as shown in the Fritzing diagram):

- **Red** to **3V**
- **Black** to **GND**
- **Blue** to **13**
- **Gray** to **12**
- **White** to **27**

![](https://cdn-learn.adafruit.com/assets/assets/000/146/802/medium640/gaming_gboytv-4671.jpg?1791158093)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/803/medium640/gaming_gboytv-4672.jpg?1791158176)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/804/medium640/gaming_gboytv-4673.jpg?1791158194)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/805/medium640/gaming_gboytv-4681.jpg?1791158200)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/807/medium800/gaming_gboytv-4677.jpg?1791158536)

## Amp Wires II: Auditory Bugaloo

Solder the wires to the amp now:

- **Red** to **Vin**
- **Black** to **GND**
- **Gray** to **LRC**
- **White** to **BCLCK**
- **Blue** to **DIN**

![](https://cdn-learn.adafruit.com/assets/assets/000/146/808/medium640/gaming_gboytv-4679.jpg?1791158593)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/809/medium640/gaming_gboytv-4679.jpg?1791158604)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/810/medium800/gaming_gboytv-4683.jpg?1791158687)

## Wii Nunchuck Adapter

Plug the Wii Nunchuck adapter into the STEMMA QT port on the Feather or FeatherWing with a STEMMA QT cable.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/812/medium640/gaming_gboytv-4685.jpg?1791158706)

## Battery

Plug the LiPoly battery into the JST battery plug on the Feather.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/813/medium640/gaming_gboytv-4687.jpg?1791158774)

## Testing, Testing 1, 2, 3...

This is a terrific time to flip the TFT FeatherWing's ON/OFF switch to the on position to make sure everything's working.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/814/medium640/gaming_gboytv-4694.jpg?1791158812)

## Enable Switch

So you can turn the device on and off once it's enclosed, you'll add a slide switch.

Clip one outer leg from the slide switch. Then, tin the remaining two legs with solder.

Cut two 3" lengths of wire, then strip a bit of insulation from each end and tin the wires.

Solder the two wires to the two switch legs.

Solder the two wires (order doesn't matter) to the **GND** and **En** pin on the Feather TFT as shown.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/815/medium640/gaming_gboytv-4713.jpg?1791158864)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/816/medium640/gaming_gboytv-4714.jpg?1791158868)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/817/medium640/gaming_gboytv-4716.jpg?1791158880)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/818/medium640/gaming_gboytv-4719.jpg?1791158886)

## 3D Case

Print the files linked below in PLA filament with standard settings. Extra points for translucent PLA because it looks super rad.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/819/medium640/gaming_gboytv-4720.jpg?1791159030)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/820/medium640/gaming_threed.jpg?1791159132)

[Feather TFT Game Boy / NES Case](https://cdn-learn.adafruit.com/assets/assets/000/146/821/original/gbnestvcase.3mf?1791159239)
## Assembly

Place the battery in the case as shown.

Peel the sticker adhesive protection film and place it in the base of the case.

Feed the controller end through the opening and plug it into the Wii Nunchuck Adapter.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/822/medium640/gaming_gboytv-4721.jpg?1791159275)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/823/medium640/gaming_gboytv-4722.jpg?1791159306)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/824/medium640/gaming_gboytv-4728.jpg?1791159322)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/825/medium640/gaming_gboytv-4731.jpg?1791159334)

## Cover

Fit the cover onto the TFT, then snap fit it onto the base.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/826/medium640/gaming_gboytv-4732.jpg?1791159422)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/827/medium640/gaming_gboytv-4733.jpg?1791159428)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/828/medium800/gaming_gboytv-4734.jpg?1791159458)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/829/medium800/gaming_gboytv-4735.jpg?1791159462)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/830/medium800/gaming_gboytv-4736.jpg?1791159466)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/831/medium800/gaming_gboytv-4737.jpg?1791159471)

## Play

Put in the SD card cartridge of your choosing, then flip the on switch!

![](https://cdn-learn.adafruit.com/assets/assets/000/146/832/medium800/gaming_gboytv-4741.jpg?1791159524)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/833/medium800/gaming_gboytv-4742.jpg?1791159528)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/834/medium800/gaming_gboytv-4743.jpg?1791159533)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/835/medium800/gaming_gboytv-4745.jpg?1791159538)

## Charge

The battery should be good for 8-10 hours of game play. You can charge it by plugging in a USB C power cable.

![](https://cdn-learn.adafruit.com/assets/assets/000/146/836/medium640/gaming_gboytv-4744.jpg?1791159606)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/837/medium800/gaming_gboytv-4770.jpg?1791159629)

![](https://cdn-learn.adafruit.com/assets/assets/000/146/838/medium800/gaming_gboytv-4783.jpg?1791159635)


## Guide Products

### Adafruit ESP32 Feather V2 -  8MB Flash + 2 MB PSRAM

[Adafruit ESP32 Feather V2 -  8MB Flash + 2 MB PSRAM](https://www.adafruit.com/product/5400)
One of our star Feathers is the [Adafruit HUZZAH32 ESP32 Feather](https://www.adafruit.com/product/3405) - with the fabulous ESP32 WROOM module on there, it makes quick work of WiFi and Bluetooth® projects that take advantage of Espressifs most popular chipset. Recently we had...

In Stock
[Buy Now](https://www.adafruit.com/product/5400)
[Related Guides to the Product](https://learn.adafruit.com/products/5400/guides)
### TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers

[TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers](https://www.adafruit.com/product/3315)
A Feather board without ambition is a Feather board without FeatherWings! Spice up your Feather project with a beautiful 2.4" touchscreen display shield with built in microSD card socket. This TFT display is 2.4" diagonal with a bright 4 white-LED backlight. You get&nbsp; 240x320...

In Stock
[Buy Now](https://www.adafruit.com/product/3315)
[Related Guides to the Product](https://learn.adafruit.com/products/3315/guides)
### Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A

[Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A](https://www.adafruit.com/product/3006)
Listen to this good news - we now have an all in one digital audio amp breakout board that works incredibly well with the&nbsp;[Raspberry Pi](https://www.adafruit.com/category/105)! If you're looking for an easy and low cost way to get your digital sound files...

In Stock
[Buy Now](https://www.adafruit.com/product/3006)
[Related Guides to the Product](https://learn.adafruit.com/products/3006/guides)
### Mini Oval Speaker - 8 Ohm 1 Watt

[Mini Oval Speaker - 8 Ohm 1 Watt](https://www.adafruit.com/product/3923)
Hear the good news! This wee speaker&nbsp;is&nbsp;a&nbsp;great addition to any audio project where you need 8 ohm impedance and 1W or less of power. We particularly like this&nbsp;speaker&nbsp;as it is&nbsp;small and comes with nice skinny wires with a connector on the end. It has a handy...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3923)
[Related Guides to the Product](https://learn.adafruit.com/products/3923/guides)
### Lithium Ion Battery - 3.7V 2000mAh

[Lithium Ion Battery - 3.7V 2000mAh](https://www.adafruit.com/product/2011)
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 2000mAh. If you need a larger (or smaller!) battery,&nbsp;<a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/2011)
[Related Guides to the Product](https://learn.adafruit.com/products/2011/guides)
### Short Feather Male Headers - 12-pin and 16-pin Male Header Set

[Short Feather Male Headers - 12-pin and 16-pin Male Header Set](https://www.adafruit.com/product/3002)
These two&nbsp; **Short** &nbsp; **Male&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

<p...></p...>In Stock
[Buy Now](https://www.adafruit.com/product/3002)
[Related Guides to the Product](https://learn.adafruit.com/products/3002/guides)
### Short Headers Kit for Feather - 12-pin + 16-pin Female Headers

[Short Headers Kit for Feather - 12-pin + 16-pin Female Headers](https://www.adafruit.com/product/2940)
These two&nbsp; **Short** &nbsp; **Female&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

These headers are particularly cute and...

In Stock
[Buy Now](https://www.adafruit.com/product/2940)
[Related Guides to the Product](https://learn.adafruit.com/products/2940/guides)
### Adafruit Wii Nunchuck Breakout Adapter

[Adafruit Wii Nunchuck Breakout Adapter](https://www.adafruit.com/product/4836)
Dig out that old Wii controller and use it as a sleek controller for your next robot if you like. The Adafruit Adafruit Wii Nunchuck Breakout Adapter fits snugly into the Wii connector and performs the level shifting and power regulation needed to use the controller with any microcontroller or...

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

## Related Guides

- [Adafruit MAX98357 I2S Class-D Amps - Stereo and Mono](https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp.md)
- [Adafruit 2.4" TFT FeatherWing](https://learn.adafruit.com/adafruit-2-4-tft-touch-screen-featherwing.md)
- [Adafruit Wii Nunchuck Breakout Adapter](https://learn.adafruit.com/adafruit-wii-nunchuck-breakout-adapter.md)
- [Adafruit ESP32 Feather V2](https://learn.adafruit.com/adafruit-esp32-feather-v2.md)
- [Music Box with Dancing Adabot](https://learn.adafruit.com/music-box-with-circuit-python.md)
- [HalloWing Lightsabers](https://learn.adafruit.com/hallowing-lightsaber.md)
- [Mini Weather Station ESP32-S3 TFT](https://learn.adafruit.com/mini-weather-station-esp32-s2-tft.md)
- [Motion Sensor Bat](https://learn.adafruit.com/motion-sensor-bat.md)
- [FunHouse IoT Fume Extractor and Air Quality Sensor](https://learn.adafruit.com/funhouse-fume-extractor-iot-air-quality-sensor.md)
- [HalloWing Flapping Bat](https://learn.adafruit.com/hallowing-flapping-bat.md)
- [File Glider](https://learn.adafruit.com/file-glider.md)
- [Introducing Adafruit Feather RP2040](https://learn.adafruit.com/adafruit-feather-rp2040-pico.md)
- [Using Crickit and Adafruit IO together](https://learn.adafruit.com/crickit-and-adafruitio.md)
- [Adafruit Metro M7 with microSD](https://learn.adafruit.com/adafruit-metro-m7-microsd.md)
- [CircuitPython Display_Text Library](https://learn.adafruit.com/circuitpython-display-text-library.md)
- [Adafruit Feather RP2040 Adalogger](https://learn.adafruit.com/adafruit-feather-rp2040-adalogger.md)
- [Raspberry Pi Zero NPR One Radio](https://learn.adafruit.com/raspberry-pi-zero-npr-one-radio.md)
- [Twin Peaks Light Reactive Picture Frame](https://learn.adafruit.com/twin-peaks-light-reactive-pyportal-picture-frame.md)
- [AS5600 Super Smooth Rotary Encoder](https://learn.adafruit.com/as5600-smooth-rotary-encoder.md)
