# Bluefruit Ouija Board

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/116/566/medium800/hacks_ouija-9777.jpg?1668010851)

https://youtu.be/MLUpv_6THCc

Upgrade a simple, off-the-shelf Ouija board prop into a wirelessly-controlled spirit board including custom audio clips and RGB NeoPixel lighting.

Using CircuitPython, a Feather nRF52840, and a Motor FeatherWing, plus the Bluefruit app, you can take control of the seance, haunt, or theatrical effects of your choosing!

## Parts
### Adafruit Feather nRF52840 Express

[Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062)
The **Adafruit Feather nRF52840 Express** is the new Feather family member with Bluetooth® Low Energy and _native USB support_ featuring the nRF52840!&nbsp; It's our take on an 'all-in-one' Arduino-compatible + Bluetooth® Low Energy with built-in USB...

In Stock
[Buy Now](https://www.adafruit.com/product/4062)
[Related Guides to the Product](https://learn.adafruit.com/products/4062/guides)
![Angled shot of a Adafruit Feather nRF52840 Express. ](https://cdn-shop.adafruit.com/640x480/4062-02.jpg)

### Adafruit NeoPixel LED Dots Strand - 20 LEDs at 2" Pitch

[Adafruit NeoPixel LED Dots Strand - 20 LEDs at 2" Pitch](https://www.adafruit.com/product/3630)
Attaching NeoPixel strips to your costume can be a struggle as the flexible PCBs can crack when bent too much. So how to add little dots of color? Use these stranded NeoPixel dots! They're very small, so they're easy to embed into any structure, costume, or wearable. Each dot is...

In Stock
[Buy Now](https://www.adafruit.com/product/3630)
[Related Guides to the Product](https://learn.adafruit.com/products/3630/guides)
![Adafruit NeoPixel LED Dots Strand - 20 LEDs at 2 inch Pitch](https://cdn-shop.adafruit.com/640x480/3630-02.jpg)

### Assembled DC Motor + Stepper FeatherWing Add-on

[Assembled DC Motor + Stepper FeatherWing Add-on](https://www.adafruit.com/product/3243)
A Feather board without ambition is a Feather board without FeatherWings! This is the **Fully assembled (with headers) DC Motor + Stepper&nbsp;FeatherWing** which will let you use 2 x bi-polar stepper motors or 4 x brushed DC motors (or 1 stepper and 2 DC motors). Using our <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/3243)
[Related Guides to the Product](https://learn.adafruit.com/products/3243/guides)
![Angled Shot of the Assembled DC Motor + Stepper FeatherWing Add-on](https://cdn-shop.adafruit.com/640x480/3243-03.jpg)

### FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers

[FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers](https://www.adafruit.com/product/3417)
This is the **FeatherWing Tripler** - a prototyping add-on and more for all Feather boards. This is similar to our [FeatherWing Proto](https://www.adafruit.com/products/2884) except there are three! The magic of the Tripler comes when you want to connect your Feather to...

In Stock
[Buy Now](https://www.adafruit.com/product/3417)
[Related Guides to the Product](https://learn.adafruit.com/products/3417/guides)
![Triple prototyping feather wing PCB with socket headers installed](https://cdn-shop.adafruit.com/640x480/3417-05.jpg)

### 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...

Out of 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)

### 4 x AA Battery Holder with On/Off Switch

[4 x AA Battery Holder with On/Off Switch](https://www.adafruit.com/product/830)
Make a nice portable power pack with this 4 x AA battery holder. It fits any alkaline or rechargeable AA batteries in series. There's a snap on cover and an on/off switch which can be handy when wiring to something without a switch.

**New**! We now have 0.1" headers...

In Stock
[Buy Now](https://www.adafruit.com/product/830)
[Related Guides to the Product](https://learn.adafruit.com/products/830/guides)
![Angled shot of square black 4 x AA battery holder with on/off switch and male jumper wires.](https://cdn-shop.adafruit.com/640x480/830-07.jpg)

### 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...>

In 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)

### JST 2-pin Extension Cable with On/Off Switch - JST PH2

[JST 2-pin Extension Cable with On/Off Switch - JST PH2](https://www.adafruit.com/product/3064)
By popular request - we now have a way you can turn on-and-off Lithium Polymer batteries without unplugging them.

This **PH2 Female/Male&nbsp;JST 2-pin Extension Cable&nbsp;** comes with an in-line **Switch** - click once to turn on, click again to turn off....

In Stock
[Buy Now](https://www.adafruit.com/product/3064)
[Related Guides to the Product](https://learn.adafruit.com/products/3064/guides)
![Top view shot of JST 2-pin Extension Cable with On/Off Switch.](https://cdn-shop.adafruit.com/640x480/3064-02.jpg)

### Haunted Ouija Board

You can find these (and similar props) at big box stores and Halloween stores, or search for them online. [Here's one example](https://www.amazon.com/Animated-Haunted-Halloween-Decoration-Accessory/dp/B07429KN7T/).

The specific one used in this guide is Item #45079 by Sunstar Industries and can be found in this SKS Novelties [catalog](https://sksnovelty.ca/catalogue/2022-sunstar).

![hacks_ouija-9777.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/639/medium640/hacks_ouija-9777.jpg?1668183795)

## Optional
# Bluefruit Ouija Board

## Board Teardown

![](https://cdn-learn.adafruit.com/assets/assets/000/116/525/medium800/hacks_ouija-9777.jpg?1667949148)

Here's a look at the board in it's off-the-shelf mode of operation:

https://youtu.be/fcSFlfjnmwI?t=2306

## Magnet Ring

Using some [magnet viewing film](https://www.adafruit.com/product/4047) you can see the magnet that moves under the lid.&nbsp;

![hacks_ouija-9660.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/546/medium640/hacks_ouija-9660.jpg?1667957107)

![hacks_ouija-9661.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/547/medium640/hacks_ouija-9661.jpg?1667957113)

## Access the Innards

The screws that hold the lid on are hidden under the laminated graphic on the lid.

Unscrew these to open the board.

![hacks_ouija-9775.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/526/medium640/hacks_ouija-9775.jpg?1667949163)

## Base Electronics

In the base you'll see the controller board, a piezo-electric pickup (used for knock detection), speaker, molded battery box, and the side switch.

![hacks_ouija-9506.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/544/medium640/hacks_ouija-9506.jpg?1667956880)

## Lid Parts

The lid contains a DC motor, linkage arm for moving the magnet ring, and four LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/116/545/medium800/hacks_ouija-9504.jpg?1667957035)

![](https://cdn-learn.adafruit.com/assets/assets/000/116/543/medium800/hacks_ouija-9655.jpg?1667956797)

## Linkage

Here you can see the very clever linkage that converts the rotation of the motor into the figure eight pattern of the circular magnet.

![hacks_linkage.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/559/medium640/hacks_linkage.jpg?1668006782)

https://youtu.be/fcSFlfjnmwI?t=3482

## Prep the Motor

Carefully flip the lid over. The motor is connected to the driver board with two wires. You can snip these with some edge cutters and then trim away a bit of insulation so they can be connected to the motor FeatherWing later.

![hacks_ouija-9504.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/527/medium640/hacks_ouija-9504.jpg?1667949282)

![hacks_ouija-9656.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/529/medium640/hacks_ouija-9656.jpg?1667949404)

![hacks_ouija-9657.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/530/medium640/hacks_ouija-9657.jpg?1667949411)

## Remove LEDs

Pull out the old LEDs - you'll be replacing them with NeoPixels! You can use a bit of isopropyl alcohol to assist in releasing the hot glue bond.

![hacks_ouija-9674.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/548/medium640/hacks_ouija-9674.jpg?1667957570)

Now you're ready to begin adding in the new electronics.

# Bluefruit Ouija Board

## CircuitPython for Feather nRF52840

[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.

The following instructions will show you how to install CircuitPython. If you've already installed CircuitPython but are looking to update it or reinstall it, the same steps work for that as well!

## Set up CircuitPython Quick Start!

Follow this quick step-by-step for super-fast Python power :)

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

&nbsp;

Download and save it to your desktop (or wherever is handy).

![circuitpython_nRF52840_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/070/318/medium640/circuitpython_nRF52840_UF2.png?1548963877)

Plug your Feather nRF52840 into your computer using a known-good USB cable.

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

Double-click the **Reset** button next to the USB connector on your board, and you will see the NeoPixel RGB LED turn green (identified by the arrow in the image). If it turns red, check the USB cable, try another USB port, etc. **Note:** The little red LED next to the USB connector will pulse red. That's ok!

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

![circuitpython_FeathernRF52840_Top_Product_Image.jpg](https://cdn-learn.adafruit.com/assets/assets/000/070/319/medium640/circuitpython_FeathernRF52840_Top_Product_Image.jpg?1548963972)

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

&nbsp;

&nbsp;

&nbsp;

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

![circuitpython_FTHR840BOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/070/320/medium640/circuitpython_FTHR840BOOT.png?1548964488)

![circuitpython_Drag_nRF52840_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/070/321/medium640/circuitpython_Drag_nRF52840_UF2.png?1548964497)

The LED will flash. Then, the&nbsp; **FTHR840BOOT** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

&nbsp;

That's it, you're done! :)

![circuitpython_nRF52840_CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/070/322/medium640/circuitpython_nRF52840_CIRCUITPY.png?1548964511)

# Bluefruit Ouija Board

## Code the Ouija Board Controller

Danger: 

[https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader](https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader)

## Text Editor

Adafruit recommends using the&nbsp; **Mu** &nbsp;editor for editing your CircuitPython code. You can get more info in&nbsp;[this guide](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

Alternatively, you can use any text editor that saves simple text files.

## Download the Project Bundle

Your project will use a specific set of CircuitPython libraries, **.wav** files, and the&nbsp; **code.py** &nbsp;file. To get everything you need, click on the&nbsp; **Download Project Bundle** &nbsp;link below, and uncompress the .zip file.

Drag the contents of the uncompressed bundle directory onto your board's&nbsp; **CIRCUITPY** &nbsp;drive, replacing any existing files or directories with the same names, and adding any new ones that are necessary.

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

## How It Works

The code imports a number of libraries needed to use the board pins, NeoPixels, BLE, Motor FeatherWing, and audio.

```auto
import time
import random
import board
import digitalio
import neopixel
from adafruit_motorkit import MotorKit
from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.nordic import UARTService
from adafruit_bluefruit_connect.packet import Packet
from adafruit_bluefruit_connect.button_packet import ButtonPacket
import audiocore
import audiomixer
import audiobusio
```

## Setup

Next, the code does the setup for LED indicators, BLE, motor driving, audio, and NeoPixel animation.

```auto
blue_led = digitalio.DigitalInOut(board.BLUE_LED)
red_led = digitalio.DigitalInOut(board.RED_LED)
blue_led.direction = digitalio.Direction.OUTPUT
red_led.direction = digitalio.Direction.OUTPUT

ble = BLERadio()
uart_service = UARTService()
advertisement = ProvideServicesAdvertisement(uart_service)

num_motors = 1  # up to 4 motors depending on the prop you are driving

motorwing = MotorKit(i2c=board.I2C())
motorwing.frequency = 122  # tune this 50 - 200 range
max_throttle = 0.65  # tune this 0.2 - 1 range

# # make arrays for all the things we care about
motors = [None] * num_motors

motors[0] = motorwing.motor1

# # set motors to "off"
for i in range(num_motors):
    motors[i].throttle = None

# - Audio setup
audio = audiobusio.I2SOut(bit_clock=board.TX, word_select=board.MISO, data=board.RX)
mixer = audiomixer.Mixer(voice_count=2, sample_rate=11025, channel_count=1,
                         bits_per_sample=16, samples_signed=True)
audio.play(mixer)  # attach mixer to audio playback
wav_files = (('spooky_ouija.wav', 0.07, True), ('lars_ouija.wav', 0.09, False))
# open samples
for i in range(len(wav_files)):
    wave = audiocore.WaveFile(open(wav_files[i][0], "rb"))
    mixer.voice[i].level = 0  # start up with level down
    mixer.voice[i].play(wave, loop=wav_files[i][2])

# - NeoPixels
fire_color = 0xcc6600
fade_by = -1
num_leds = 7
max_bright = 0.5
led_pin = board.D6
leds = neopixel.NeoPixel(led_pin, num_leds, brightness=0.0, auto_write=False)
leds.fill(fire_color)
leds.show()
```

## Main Loop

The main loop of the program establishes the BLE advertisement an waits for a connection with the Bluefruit program.

Once connected, the UART service waits to receive packets of button presses. These are translated into motor movement in both directions, motor stop, and enabling or disabling the audio tracks and NeoPixel animations.

```auto
while True:
    blue_led.value = False
    ble.name = 'Ouija'
    ble.start_advertising(advertisement)

    while not ble.connected:
        # Wait for a connection.
        pass
    blue_led.value = True  # turn on blue LED when connected
    while ble.connected:
        if uart_service.in_waiting:
            # Packet is arriving.
            red_led.value = False  # turn off red LED
            packet = Packet.from_stream(uart_service)
            if isinstance(packet, ButtonPacket) and packet.pressed:
                red_led.value = True  # blink to show a packet has been received
                if packet.button == ButtonPacket.RIGHT:  # &gt; button pressed
                    print("forward")
                    motors[0].throttle = max_throttle
                    time.sleep(0.1)  # wait a moment

                elif packet.button == ButtonPacket.LEFT:  # &lt; button
                    print("reverse")
                    motors[0].throttle = max_throttle * -1
                    time.sleep(0.1)

                elif packet.button == ButtonPacket.DOWN:  # v button
                    print("stop")
                    motors[0].throttle = None
                    time.sleep(0.1)

                elif packet.button == ButtonPacket.BUTTON_1:  # 1 button
                    print("on BG music")
                    mixer.voice[0].level = wav_files[0][1]
                    time.sleep(0.1)

                elif packet.button == ButtonPacket.BUTTON_3:  # 3 button
                    print("off BG music")
                    mixer.voice[0].level = 0.0
                    time.sleep(0.1)

                elif packet.button == ButtonPacket.BUTTON_2:  # 2 button
                    print("on led &amp; Lars")
                    leds.brightness = max_bright
                    mixer.voice[1].play(wave, loop=False)
                    mixer.voice[1].level = wav_files[1][1]
                    time.sleep(0.1)

                elif packet.button == ButtonPacket.BUTTON_4:  # 4 button
                    print("off led &amp; Lars")
                    leds.brightness = 0
                    mixer.voice[1].level = 0.0
                    time.sleep(0.1)
```

## Animation

The fade animation on the NeoPixels is run at all times, with the BLE packets only controlling the brightness.

```auto
# fade down all LEDs
        leds[:] = [[min(max(i+fade_by, 0), 255) for i in l] for l in leds]
        leds.show()

        # add new fire to leds
        if time.monotonic() - last_time &gt; next_duration:
            last_time = time.monotonic()
            next_duration = random.uniform(0.95, 1.95)  # tune these nums
            # for i in range( 1):
            c = fire_color  # get our color
            c = (c &gt;&gt; 16 &amp; 0xff, c &gt;&gt; 8 &amp; 0xff, c &amp; 0xff)  # make it a tuple
            leds[random.randint(0, num_leds-1)] = c
```

# Bluefruit Ouija Board

## Build the Ouija Circuit

![](https://cdn-learn.adafruit.com/assets/assets/000/116/557/medium800/hacks_ouija_fritz2.jpg?1667961515)

You can use the Feather Tripler to connect the Feather, Motor FeatherWing, and I2S amplifier together. This makes it nice and modular and simplifies the connections to the motor, speaker, batteries, and NeoPixels.

### Power

You'll use a 4x AA battery pack for motor power and a separate LiPo battery for the Feather.

## Feather Tripler&nbsp;

Solder two sets of socket headers on the Tripler as shown.

Solder header pins underneath the Feather and connect it to the Tripler.

![hacks_ouija-9664.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/551/medium640/hacks_ouija-9664.jpg?1667958211)

![hacks_ouija-9665.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/552/medium640/hacks_ouija-9665.jpg?1667958228)

## Motor FeatherWing

Assemble the Motor FeatherWing, connect it to the AA battery pack, and then connect it to the FeatherWing Tripler.

Connect the motor wires to the M1 motor output. Polarity doesn't matter, you'll be able to reverse direction in code either way, since it's a dual H-bridge driver.

![hacks_ouija-9667.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/553/medium640/hacks_ouija-9667.jpg?1667958328)

![hacks_ouija-9668.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/554/medium640/hacks_ouija-9668.jpg?1667958357)

![hacks_ouija-9669.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/555/medium640/hacks_ouija-9669.jpg?1667958384)

## NeoPixel Strand

Connect the NeoPixel strand to the Feather (via the Tripler) with these connections:

- **Feather 3V** to **NeoPixel V+**
- **Feather GND** to **NeoPixel GND**
- **Feather D6** to **NeoPixel Din**

![hacks_ouija-9673.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/556/medium640/hacks_ouija-9673.jpg?1667961308)

## I2S Audio Amp

Using the prototyping area of the Tripler, connect the I2S audio amplifier to the following pins:

- **amp LRC** to **Feather MI**
- **amp BCLK** to **Feather TX**
- **amp DIN** to **Feather RX**
- **amp GND** to **Feather GND**
- **amp Vin** to **Feather BAT**

Then connect the speaker wires to the amp output (polarity doesn't matter here).

![hacks_ouija-9771.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/558/medium640/hacks_ouija-9771.jpg?1667961584)

## Add NeoPixels

You can use a hot glue gun or other adhesive to add the NeoPixel strand.

![hacks_ouija-9678.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/567/medium640/hacks_ouija-9678.jpg?1668011054)

![hacks_ouija-9675.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/568/medium640/hacks_ouija-9675.jpg?1668011067)

Danger: 

## Connections and Embedding Electronics

Plug the LiPo battery to the Feather via the JST extender switch, then place the electronics inside the prop as shown.

Test the fit with the lid in place, then secure everything with hot glue or double stick adhesive foam tape.

You can turn on the Feather power when ready for use.

Close the lid and you're ready to hold a high-tech seance!

![hacks_ouija-9774.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/569/medium640/hacks_ouija-9774.jpg?1668011145)

![](https://cdn-learn.adafruit.com/assets/assets/000/116/572/medium800/hacks_ouija-9777.jpg?1668011348)

# Bluefruit Ouija Board

## Use the Ouija Board

https://youtu.be/MLUpv_6THCc

Launch Bluefruit Connect on your mobile device, making sure Bluetooth in enabled.

With the Ouija board Feather turned on, you'll see a device named ' **Ouija**' show up in the app. Click that device name.

![hacks_ouija-7560.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/574/medium640/hacks_ouija-7560.jpg?1668012145)

![hacks_ouija-7561.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/575/medium640/hacks_ouija-7561.jpg?1668012225)

## Controller

Click on the **Controller** item in the **Modules** list.

![hacks_ouija-7562.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/576/medium640/hacks_ouija-7562.jpg?1668012252)

![hacks_ouija-7563.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/577/medium640/hacks_ouija-7563.jpg?1668012261)

## Control Pad

Choose **Control Pad** from the **Module** list.

![hacks_ouija-7564.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/578/medium640/hacks_ouija-7564.jpg?1668012294)

![hacks_ouija-7565.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/579/medium640/hacks_ouija-7565.jpg?1668012315)

## D-Pad and Numbered Button Controls

Now, you can use the buttons to control the Ouija board motor, sound, and lights!

Here's what they do:

- **Right arrow = motor forward**
- **Left arrow = motor backward**
- **Down arrow = motor stop**
- **1 = play background music (loop)**
- **3 = stop background music**
- **2 = play voiceover sound file (one shot) and LED animation**
- **4 = stop LED animation**

![hacks_ouija-7566.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/580/medium640/hacks_ouija-7566.jpg?1668012387)

![](https://cdn-learn.adafruit.com/assets/assets/000/116/581/medium800thumb/hacks_ouija.jpg?1668012703)


## Featured Products

### Adafruit Feather nRF52840 Express

[Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062)
The **Adafruit Feather nRF52840 Express** is the new Feather family member with Bluetooth® Low Energy and _native USB support_ featuring the nRF52840!&nbsp; It's our take on an 'all-in-one' Arduino-compatible + Bluetooth® Low Energy with built-in USB...

In Stock
[Buy Now](https://www.adafruit.com/product/4062)
[Related Guides to the Product](https://learn.adafruit.com/products/4062/guides)
### Adafruit NeoPixel LED Dots Strand - 20 LEDs at 2" Pitch

[Adafruit NeoPixel LED Dots Strand - 20 LEDs at 2" Pitch](https://www.adafruit.com/product/3630)
Attaching NeoPixel strips to your costume can be a struggle as the flexible PCBs can crack when bent too much. So how to add little dots of color? Use these stranded NeoPixel dots! They're very small, so they're easy to embed into any structure, costume, or wearable. Each dot is...

In Stock
[Buy Now](https://www.adafruit.com/product/3630)
[Related Guides to the Product](https://learn.adafruit.com/products/3630/guides)
### FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers

[FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers](https://www.adafruit.com/product/3417)
This is the **FeatherWing Tripler** - a prototyping add-on and more for all Feather boards. This is similar to our [FeatherWing Proto](https://www.adafruit.com/products/2884) except there are three! The magic of the Tripler comes when you want to connect your Feather to...

In Stock
[Buy Now](https://www.adafruit.com/product/3417)
[Related Guides to the Product](https://learn.adafruit.com/products/3417/guides)
### Assembled DC Motor + Stepper FeatherWing Add-on

[Assembled DC Motor + Stepper FeatherWing Add-on](https://www.adafruit.com/product/3243)
A Feather board without ambition is a Feather board without FeatherWings! This is the **Fully assembled (with headers) DC Motor + Stepper&nbsp;FeatherWing** which will let you use 2 x bi-polar stepper motors or 4 x brushed DC motors (or 1 stepper and 2 DC motors). Using our <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/3243)
[Related Guides to the Product](https://learn.adafruit.com/products/3243/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...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3006)
[Related Guides to the Product](https://learn.adafruit.com/products/3006/guides)
### 4 x AA Battery Holder with On/Off Switch

[4 x AA Battery Holder with On/Off Switch](https://www.adafruit.com/product/830)
Make a nice portable power pack with this 4 x AA battery holder. It fits any alkaline or rechargeable AA batteries in series. There's a snap on cover and an on/off switch which can be handy when wiring to something without a switch.

**New**! We now have 0.1" headers...

In Stock
[Buy Now](https://www.adafruit.com/product/830)
[Related Guides to the Product](https://learn.adafruit.com/products/830/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...>

In Stock
[Buy Now](https://www.adafruit.com/product/2011)
[Related Guides to the Product](https://learn.adafruit.com/products/2011/guides)
### JST 2-pin Extension Cable with On/Off Switch - JST PH2

[JST 2-pin Extension Cable with On/Off Switch - JST PH2](https://www.adafruit.com/product/3064)
By popular request - we now have a way you can turn on-and-off Lithium Polymer batteries without unplugging them.

This **PH2 Female/Male&nbsp;JST 2-pin Extension Cable&nbsp;** comes with an in-line **Switch** - click once to turn on, click again to turn off....

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

## Related Guides

- [Adafruit MAX98357 I2S Class-D Mono Amp](https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp.md)
- [Introducing the Adafruit nRF52840 Feather](https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather.md)
- [Doomscroll and Chill - A Wireless BLE Scroll Wheel Remote](https://learn.adafruit.com/doomscroll-and-chill-wireless-ble-scroll-wheel-rotary-encoder-remote.md)
- [TRON DISC](https://learn.adafruit.com/trondisc.md)
- [Bluetooth Controlled NeoPixel Lightbox](https://learn.adafruit.com/bluetooth-neopixel-lightbox.md)
- [Touch Deck: DIY Customizable TFT Control Pad](https://learn.adafruit.com/touch-deck-diy-tft-customized-control-pad.md)
- [Adafruit USB Host FeatherWing with MAX3421E](https://learn.adafruit.com/adafruit-usb-host-featherwing-with-max3421e.md)
- [Severence-Inspired Lumon Bluetooth Speaker](https://learn.adafruit.com/bluetooth-speaker.md)
- [Playa Festival Bike](https://learn.adafruit.com/playa-festival-bike.md)
- [All the Internet of Things - Episode Three: Services](https://learn.adafruit.com/all-the-internet-of-things-episode-three-services.md)
- [CPX Glowing Disembodied Hand](https://learn.adafruit.com/cpx-glowing-disembodied-hand.md)
- [Busy Box Interruption Sign](https://learn.adafruit.com/busy-box-interruption-sign.md)
- [World's Smallest MAME Arcade Cabinet](https://learn.adafruit.com/worlds-smallest-mame-arcade-cabinet.md)
- [Bluetooth Restroom Key Proximity Tracker](https://learn.adafruit.com/bluetooth-restroom-key-proximity-tracker.md)
- [BLE Light Switch with Feather nRF52840 and Crickit](https://learn.adafruit.com/bluetooth-light-switch-with-crickit-and-nrf52840.md)
- [Ambient Sound Machine](https://learn.adafruit.com/ambient-machine.md)
- [Pulse Oximeter Wireless Data Logger](https://learn.adafruit.com/pulse-oximeter-wireless-data-logger.md)
