# Control Electronics with your Brain using NextMind

## Overview

https://youtu.be/QE-HWeD2fJw

![](https://cdn-learn.adafruit.com/assets/assets/000/098/712/medium800/feather_nextmind1.jpg?1611065444)

Use neural signals from your brain’s visual cortex to control electronics. This guide will show you how to use the **Nextmind** Dev Kit, **Unity** game development software, and an Adafruit **Feather** microcontroller board to control a servo motor with your mind & visual focus. This example project translates area of visual focus into the physical position of a servo with attached pointer, but it is just that – an example. You’ll likely think of a million more awesome applications after experimenting a bit.

The Nextmind Dev Kit offers an unusually reliable method for converting neural activity to user input. The device's sensors measure tiny electrical signals from the visual cortex located at the back of the brain. So, it essentially reads what you’re visually focussing on. This may seem less magical compared to other brain-computer interfaces, but it seems to make the Nextmind much more practical, dependable than other brain-computer interfaces I've experimented with.

## What you’ll need
- [Nextmind Dev Kit](https://www.next-mind.com/)
- Windows or Mac computer w Bluetooth
- "Craft stick" / tongue depressor (optional)

### Part: Feather M4 Express
quantity: 1
Feather M0, QT Py, others should work as well
[Feather M4 Express](https://www.adafruit.com/product/3857)

### Part: Micro Servo
quantity: 1
SG92R
[Micro Servo](https://www.adafruit.com/product/169)

### Part: Micro USB Cable
quantity: 1
Connect Feather to your computer
[Micro USB Cable](https://www.adafruit.com/product/592)

### Part: Hook-Up Wire
quantity: 1
Set of 6 spools
[Hook-Up Wire](https://www.adafruit.com/product/1311)

### Part: Half-size Breadboard
quantity: 1
For Feather to servo connections
[Half-size Breadboard](https://www.adafruit.com/product/64)

### Part: Wire Strippers
quantity: 1
For makin' jumpers
[Wire Strippers](https://www.adafruit.com/product/527)

### Part: Pocket Screwdriver
quantity: 1
Install pointer on servo
[Pocket Screwdriver](https://www.adafruit.com/product/3284)

### Part: Panavise Jr.
quantity: 1
Optional way to hold servo during use
[Panavise Jr.](https://www.adafruit.com/product/151)

# Control Electronics with your Brain using NextMind

## Nextmind Setup

![](https://cdn-learn.adafruit.com/assets/assets/000/098/714/medium800/feather_nextmind2.jpg?1611065762)

Follow the [Nextmind Quickstart guide](https://www.next-mind.com/documentation/quick-start/) to install the Nextmind Manager app and get acquainted with the connection & calibration process.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/715/medium800/feather_Screen_Shot_2021-01-19_at_9.17.31_AM.png?1611065875)

Once you’ve got the Nextmind up & running, move on to [Tutorial #1: Setting up the Environment](https://www.next-mind.com/documentation/unity-sdk/tutorials/01-setting-up-environment/) (skip the XR Setup step). This section will show you how to install the correct version of Unity.

Info: 

# Control Electronics with your Brain using NextMind

## Unity Project

Our goal in Unity is to output a serial message to Feather over USB, indicating which cube was activated via focusing with the NextMind.

To get our project up & running quickly, you can duplicate and edit example scenes included in the NextMind SDK package.

## Duplicate Scenes
![](https://cdn-learn.adafruit.com/assets/assets/000/098/717/medium800/feather_Screen_Shot_2021-01-19_at_9.21.11_AM.png?1611066085)

In your Unity project’s **Project** pane, navigate to **Assets -\> NextMindSDK -\> Examples** folder. Copy the scene titled **Hub** , paste it into **Assets -\> Scenes** , and change its name to **Hub\_edit**.

Do the same with:

- Assets/NextMindSDK/Examples/Calibration/ **Calibration scene**
- & Assets/NextMindSDK/Examples/SDKDiscovery/ **SDKDiscovery scene**

Your **Scenes** folder should look like the image below:

![](https://cdn-learn.adafruit.com/assets/assets/000/098/716/medium800/feather_Screen_Shot_2021-01-19_at_7.33.18_AM.png?1611066016)

Finally, open the **SDKDiscovery-edit** scene and delete all child objects of the **ScenePanels** object.

Create a new child object of ScenePanels and name it **Neurotags**

Copy the **CubeTag** prefab from **Assets/NextMindSDK/Core/Runtime/Prefabs/NeuroTags/** and paste it as a child of **Neurotags** a total of three times.

Rename those newly pasted CubeTag objects to **CubeTagA, CubeTagB, CubeTagC**

![](https://cdn-learn.adafruit.com/assets/assets/000/098/718/medium800/feather_Screen_Shot_2021-01-19_at_9.23.28_AM.png?1611066219)

Your scene hierarchy should now look like the above example.

## Add scripts
Click the button below to download a zip file containing the following two scripts:

- SerialComms.cs
- TelekinesisStep.cs

[nextmind_unity_scripts.zip](https://cdn-learn.adafruit.com/assets/assets/000/098/735/original/nextmind_unity_scripts.zip?1611073724)
Unzip the downloaded file.

Add the **TelekinesisStep** script to the **NeuroTags** object.

Add the **SerialComms** script to the **ScenePanels** object

![](https://cdn-learn.adafruit.com/assets/assets/000/098/721/medium800/feather_Screen_Shot_2021-01-19_at_7.45.47_AM.png?1611066354)

Note the **Com\_port\_number** field in the **Serial Comms** script. This is the serial port for the Feather – we’ll fill this in later.

## Set Triggered Calls
![](https://cdn-learn.adafruit.com/assets/assets/000/098/720/medium800/feather_Screen_Shot_2021-01-19_at_7.50.17_AM.png?1611066312)

In CubeTagA, under **Tracking Events** , click the **plus** button under **On Triggered ()**.

Click and drag the **ScenePanels** object from the Hierarchy pane and release it over the field labelled **None (object)**.

Click on the pull-down menu labelled **No Function** and choose **Serial Comms -\> TriggerFirst**

Repeat the process for **CubeTagB** , choosing **TriggerSecond** , & **CubeTagC** , choosing **TriggerThird**

## Edit project settings
![](https://cdn-learn.adafruit.com/assets/assets/000/098/719/medium800/feather_Screen_Shot_2021-01-19_at_8.05.57_AM.png?1611066274)

Open the Project Settings window and make the following changes:

- Player -\> Other Settings -\> **Active Input Handling** –&nbsp;set to **Both**
- Player -\> Other Settings -\> **API Compatibility** – set to **.NET 4.x**

## Edit Scene Reference
![](https://cdn-learn.adafruit.com/assets/assets/000/098/734/medium800/feather_Screen_Shot_2021-01-19_at_11_20_15_AM.jpg?1611073435)

Finally, open the Hub-edit scene and locate the object in the scene hierarchy named&nbsp; **SDKDiscoveryGroup.** Within that object's **Button** script, edit the target variable of **On Click ()** to read **SDKDiscovery-edit.**

Now the **Discover** button in the main menu will load our test scene equipped with serial communication.

# Control Electronics with your Brain using NextMind

## Hardware

## Wiring

Cut three pieces of jumper wire ~5cm in length and strip ~7mm of insulation from each end.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/746/medium800/projects_Screen_Shot_2021-01-19_at_1.55.41_PM.png?1611082550 Servo to Feather wiring)

Use the jumpers to make the following connections between the servo & Feather board:

- Servo yellow wire to Feather pin 5
- Servo orange wire to Feather pin USB
- Servo brown wire to Feather pin GND

![](https://cdn-learn.adafruit.com/assets/assets/000/098/722/medium800/feather_wired.jpg?1611066873)

## Add pointer

The big pointer is optional – a basic servo horn works as well.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/725/medium800/feather_servo-w-horn.jpg?1611068124)

Attach one of the servo’s included horns by press-fitting it onto the output shaft. If you don’t plan on adding pointer, go ahead and screw the horn in place.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/724/medium800/feather_pointer.jpg?1611067892)

A “craft stick”, aka - tongue depressor, works well for this. Use scissors or flush cutters to trim one end to a point. Use a nail or small drill to make small hole near the opposite end for the mounting screw. Add additional customization as desired. I painted my pointer green because it's the human [eye’s most favorite color](https://www.google.com/search?q=why+does+the+human+eye+see+more+shades+of+green+than+any+other+color&sa=X&ved=2ahUKEwivo57U4KfuAhXvwVkKHa5hA0EQ1QIoAHoECBoQAQ&biw=2054&bih=1067).

![](https://cdn-learn.adafruit.com/assets/assets/000/098/726/medium800/feather_pointer-screwing.jpg?1611070433)

# Control Electronics with your Brain using NextMind

## Arduino

Download & install the Arduino IDE and add support for the Feather board by following the steps on the following two pages.

# Control Electronics with your Brain using NextMind

## Arduino IDE Setup

The first thing you will need to do is to download the latest release of the Arduino IDE. You will need to&nbsp;be using **version 1.8** or higher for this guide

[Arduino IDE Download](http://www.arduino.cc/en/Main/Software)
After you have downloaded and installed **the latest version of Arduino IDE** , you will need to start the IDE&nbsp;and navigate to&nbsp;the **Preferences** menu. You can access it from the **File** menu in _Windows_ or _Linux_, or the **Arduino** menu on _OS X_.

![](https://cdn-learn.adafruit.com/assets/assets/000/041/549/medium800/flora_prefs.png?1494204209)

A dialog will pop up just like the one shown below.

![](https://cdn-learn.adafruit.com/assets/assets/000/108/455/medium800/trinket_arduino-preferences-before.png?1643387570)

We will be adding a URL to the new **Additional Boards Manager URLs** option. The list of URLs is comma separated, and _you will only have to add each&nbsp;URL once._&nbsp;New Adafruit boards and updates to existing boards&nbsp;will automatically be picked up&nbsp;by the Board Manager each time&nbsp;it is opened. The URLs point to index files that the Board Manager uses to build the list of available & installed boards.

To find the most up to date list of URLs you can&nbsp;add, you can visit the list of [third party board URLs on the Arduino IDE wiki](https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls#list-of-3rd-party-boards-support-urls). We will only need to add one URL to the IDE in this example, but _ **you can add multiple URLS by separating them with commas** _. Copy and paste the link below into the&nbsp; **Additional Boards Manager URLs** option in the Arduino IDE preferences.

### `https://adafruit.github.io/arduino-board-index/package_adafruit_index.json`
![](https://cdn-learn.adafruit.com/assets/assets/000/108/456/medium800/trinket_arduino-preferences.png?1643387643)

Here's a short description of each of the Adafruit supplied packages that will be available in the Board Manager when you add the URL:

- **Adafruit AVR Boards** - Includes support for Flora, Gemma, Feather 32u4, ItsyBitsy 32u4, Trinket, & Trinket Pro.
- **Adafruit SAMD Boards** - Includes support for Feather M0 and M4, Metro M0 and M4, ItsyBitsy M0 and M4, Circuit Playground Express, Gemma M0 and Trinket M0
- **Arduino Leonardo & Micro MIDI-USB** - This adds MIDI over USB support for the Flora, Feather 32u4, Micro and Leonardo using the [arcore project](https://github.com/rkistner/arcore).

If you have multiple boards you want to support, say ESP8266 and Adafruit, have both URLs in the text box separated by a comma (,)

Once done click **OK** to save the new preference settings. Next we will look at installing boards with the Board Manager.

Now continue to the next step to actually install the board support package!

# Control Electronics with your Brain using NextMind

## Using with Arduino IDE

Adafruit boards that use ATSAMD21 ("M0") or ATSAMD51 ("M4") chips are easy to get working with the Arduino IDE. Most libraries (including the popular ones like NeoPixels and display) will work with those boards, especially devices & sensors that use I2C or SPI.

Now that you have added the appropriate URLs to the Arduino IDE preferences in the previous page, you can open the **Boards Manager** by navigating to the **Tools-\>Board** &nbsp;menu.

![](https://cdn-learn.adafruit.com/assets/assets/000/028/791/medium800/adafruit_products_boardmanager.png?1448652571)

Once the Board Manager opens, click on the category drop down menu on the top left hand side of the window and select **All**. You will then be able to select and install the boards supplied&nbsp;by the URLs added to the preferences.

Warning: 

# Install SAMD Support

First up, install the latest **Arduino SAMD Boards (**version **1.6.11&nbsp;** or later)

You can type **Arduino SAMD** in the top search bar, then when you see the entry, click **Install**

![](https://cdn-learn.adafruit.com/assets/assets/000/028/792/medium800/adafruit_products_arduinosamd162.png?1448652786)

# Install Adafruit SAMD

Next you can install the Adafruit SAMD package to add the board file definitions

Make sure you have **Type All** selected to the left of the _Filter your search..._ box

You can type **Adafruit SAMD** in the top search bar, then when you see the entry, click **Install**

![](https://cdn-learn.adafruit.com/assets/assets/000/028/794/medium800/adafruit_products_adafruitsamd.png?1448652973)

 **Quit and reopen&nbsp;the Arduino IDE** to ensure that all of the boards are properly installed. You should now be able to select and upload to the new boards listed in the **Tools-\>Board** menu.

Select the matching board, the current options are:

- **Feather M0** (for use with any Feather M0 other than the Express)
- **Feather M0 Express**
- **Metro M0 Express**
- **Circuit Playground Express**  
- **Gemma M0**
- **Trinket M0**  
- **QT Py M0**  
- **ItsyBitsy M0**
- **Hallowing M0**
- **Crickit M0** (this is for direct programming of the Crickit, which is probably not what you want! For advanced hacking only)
- **Metro M4 Express**
- **Grand Central M4 Express**
- **ItsyBitsy M4 Express**
- **Feather M4 Express**
- **Trellis M4 Express**
- **PyPortal M4**
- **PyPortal M4 Titano**
- **PyBadge M4 Express**
- **Metro M4 Airlift Lite**
- **PyGamer M4 Express**
- **MONSTER M4SK**
- **Hallowing M4**
- **MatrixPortal M4**
- **BLM Badge**

![](https://cdn-learn.adafruit.com/assets/assets/000/053/074/medium800/adafruit_products_availboards.png?1524019356)

## Windows 7 and 8.1
Warning: **Windows 7 and Windows 8.1** have reached end-of-life and are no longer supported. They required driver installation. A [limited set of drivers is available for older boards](https://github.com/adafruit/Adafruit_Windows_Drivers/releases), but drivers for most newer boards are not available.

# Blink

Now you can upload your first blink sketch!

Plug in the SAMD21 M0 or SAMD51 M4 board, and wait for it to be recognized by the OS (just takes a few seconds). It will create a serial/COM port, you can now select it from the drop-down, it'll even be 'indicated' as Trinket/Gemma/Metro/Feather/ItsyBitsy/QT Py/Trellis or whatever the board is named!

Info: A few boards, such as the QT Py SAMD21, Trellis M4 Express, and certain Trinkey boards, do not have an onboard pin 13 LED. You can follow this section to practice uploading but you won't see an LED blink!

![](https://cdn-learn.adafruit.com/assets/assets/000/028/796/medium800/adafruit_products_comport.png?1448653712)

Now load up the Blink example

```auto
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}
```

And click upload! That's it, you will be able to see the LED blink rate change as you adapt the **delay()** calls.

Info: 

# Successful Upload

If you have a successful upload, you'll get a bunch of red text that tells you that the device was found and it was programmed, verified & reset

![](https://cdn-learn.adafruit.com/assets/assets/000/028/797/medium800/adafruit_products_uploading.png?1448653908)

After uploading, you may see a message saying "Disk Not&nbsp;Ejected&nbsp;Properly" about the ...BOOT drive. You can ignore that message: it's an artifact of how the bootloader and uploading work.

# Compilation Issues

If you get an alert that looks like

**Cannot run program "{runtime.tools.arm-none-eabi-gcc.path}\bin\arm-non-eabi-g++"**

Make sure you have installed the **Arduino SAMD** boards package, you need _both_ Arduino & Adafruit SAMD board packages

![](https://cdn-learn.adafruit.com/assets/assets/000/028/798/medium800/adafruit_products_gppnotfound.png?1448653960)

# Manually bootloading

If you ever get in a 'weird' spot with the bootloader, or you have uploaded code that crashes and doesn't auto-reboot into the bootloader, click the **RST** button **twice** (like a double-click)to get back into the bootloader.

**The red LED will pulse and/or RGB LED will be green, so you know that its in bootloader mode.**

Once it is in bootloader mode, you can select the newly created COM/Serial port and re-try uploading.

![](https://cdn-learn.adafruit.com/assets/assets/000/028/799/medium800/adafruit_products_bootloadport.png?1448654424)

You may need to go back and reselect the 'normal' USB serial port next time you want to use the normal upload.

# Ubuntu&nbsp;& Linux Issue Fix

&nbsp;[Follow the steps for installing Adafruit's udev rules on this page.](../../../../adafruit-arduino-ide-setup/linux-setup#udev-rules)

# Control Electronics with your Brain using NextMind

## Arduino Code

The code that will run on Feather will receive a numerical value over the USB serial connection and rotate the servo shaft an amount corresponding to that value – visually indicating which on-screen cube was activated.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/728/medium800/feather_usb_jack.jpg?1611070727)

## Program the Feather

Connect your Feather to your computer using data + power, known good micro B USB cable.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/732/medium800/feather_Screen_Shot_2021-01-19_at_11.12.03_AM.png?1611072739)

Open the Arduino IDE, and from the top menu, go to **Tools -\> Board** and ensure **Adafruit Feather M4 Express (SAMD51)** is selected. Then go to **Tools -\> Port** and select the port corresponding to your Feather board – this is usually the last entry in the list.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/731/medium800/feather_comport-highlighted.jpg?1611072671)

Now that you know the Feather's port address, briefly head back into **Unity** and enter it in the **Serial Comms** script's com port field as seen above.

Go to **File -\> New** to create a new sketch and delete the default code that appears inside. Click **Copy Code** on the window below, return to Arduino, **paste** the code into the sketch and **save** it.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Nextmind_Unity_Control/Nextmind_Unity_Control.ino

Go to **Sketch -\> Upload** to send the project code to your Feather.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/733/medium800/feather_Screen_Shot_2021-01-19_at_11.14.17_AM.png?1611072873)

## Reposition pointer

After the code is uploaded, you should hear the servo activate as it positions to its zero point.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/727/medium800/feather_pointer_installed.jpg?1611070457)

 **Loosen** the screw from the servo’s output shaft and **reposition the horn** and pointer so that they’re pointing to the right as seen above, with the servo wires feeding out below).

Secure the horn & pointer in place with the screw.

# Control Electronics with your Brain using NextMind

## Usage

![](https://cdn-learn.adafruit.com/assets/assets/000/098/739/medium800/feather_Screen_Shot_2021-01-19_at_11.59.24_AM.png?1611075582)

In the Unity project, open the **Hub-edit** scene & press the **Play** button.&nbsp;

Put the NextMind headset on and press the **power** button. In the Unity player pane, click on **Calibration** , connect to the NextMind, and complete the entire calibration process.&nbsp;

When calibration is complete, return to the main menu and click **Discovery**.

![](https://cdn-learn.adafruit.com/assets/assets/000/098/740/medium800thumb/feather_nextmind_just_pointer.jpg?1611075668)

You should see the three **CubeTag** objects you created and edited earlier.

Choose a CubeTag object and **focus** on it, triggering the green triangle to form at its center.

At this point, the Unity scripts should send a **serial** message to the **Feather** indicating which cube was focussed, in turn causing the servo pointer to rotate, indicating that same cube you chose.


## Featured Products

### Adafruit Feather M4 Express - Featuring ATSAMD51

[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -&nbsp; with...

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

[Micro servo](https://www.adafruit.com/product/169)
Tiny little servo can rotate approximately 180 degrees (90 in each direction) and works just like the standard kinds you're used to but _smaller_. You can use any servo code, hardware, or library to control these servos. Good for beginners who want to make stuff move without...

Out of Stock
[Buy Now](https://www.adafruit.com/product/169)
[Related Guides to the Product](https://learn.adafruit.com/products/169/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
### Hook-up Wire Spool Set - 22AWG Solid Core - 6 x 25 ft

[Hook-up Wire Spool Set - 22AWG Solid Core - 6 x 25 ft](https://www.adafruit.com/product/1311)
Perfect for bread-boarding, free wiring, etc. This box contains 6 spools of solid-core wire. The wire is easy to solder to and when bent it keeps its shape pretty well. We like to have a few spools of this stuff around which is why this set is quite nice! We suggest picking up wire strippers...

In Stock
[Buy Now](https://www.adafruit.com/product/1311)
[Related Guides to the Product](https://learn.adafruit.com/products/1311/guides)
### Half Sized Premium Breadboard - 400 Tie Points

[Half Sized Premium Breadboard - 400 Tie Points](https://www.adafruit.com/product/64)
This is a cute, half-size breadboard with&nbsp;400 tie points, good for small projects. It's 3.25" x 2.2" / 8.3cm&nbsp;x 5.5cm&nbsp;with a standard double-strip in the middle and two power rails on both sides.&nbsp;You can pull the power rails off easily to make the breadboard as...

In Stock
[Buy Now](https://www.adafruit.com/product/64)
[Related Guides to the Product](https://learn.adafruit.com/products/64/guides)
### Multi-size wire stripper & cutter

[Multi-size wire stripper & cutter](https://www.adafruit.com/product/147)
We've upgraded our basic 'adjustable' wire strippers to these multi-sized wire strippers. They include: 20-30 AWG strippers, wire cutters, 'plier' tips, and a wire loop. Ground blades for precision cutting. Spring return, comfy molded handles and a closing-lock.  
<br...></br...>

In Stock
[Buy Now](https://www.adafruit.com/product/147)
[Related Guides to the Product](https://learn.adafruit.com/products/147/guides)
### Adafruit Pocket Screwdriver - Black (for AdaBox002)

[Adafruit Pocket Screwdriver - Black (for AdaBox002)](https://www.adafruit.com/product/3276)
Have you ever been in a situation where you desperately&nbsp;needed a screwdriver _right away_? Now you can have one at-the-ready all the time —&nbsp;enter the **Adafruit Pocket Screwdriver**!

With a slotted head on one end&nbsp;and a Phillips head on the other,...

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

[Panavise Jr.](https://www.adafruit.com/product/151)
The best mini-vise for working on smaller PCBs (2.875" or less in one dimension)! The jaws are strong plastic that wont damage the PCB and doesn't mind if you hit it with the soldering iron by accident. Made in the USA.

- The easy-to-use single knob controls head movement...

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

## Related Guides

- [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51.md)
- [RGB Matrix Slot Machine](https://learn.adafruit.com/rgb-matrix-slot-machine.md)
- [Make It Talk](https://learn.adafruit.com/make-it-talk.md)
- [MIDI Laser Harp with Time of Flight Distance Sensors](https://learn.adafruit.com/midi-laser-harp-time-of-flight-sensors.md)
- [eInk FeatherWing Display Stand](https://learn.adafruit.com/eink-featherwing-display-stand.md)
- [CircuitPython 101: Basic Builtin Data Structures](https://learn.adafruit.com/basic-datastructures-in-circuitpython.md)
- [Extending CircuitPython: An Introduction](https://learn.adafruit.com/extending-circuitpython.md)
- [Ambient Color Control Pad](https://learn.adafruit.com/ambient-color-controller.md)
- [CircuitPython displayio Setup for TFT FeatherWings](https://learn.adafruit.com/using-circuitpython-displayio-with-a-tft-featherwing.md)
- [Glitter Positioning System](https://learn.adafruit.com/glitter-positioning-system.md)
- [Burning Fire Wizard Staff](https://learn.adafruit.com/burning-fire-wizard-staff.md)
- [Currying in CircuitPython](https://learn.adafruit.com/partials-in-circuitpython.md)
- [Adafruit VCNL4040 Proximity Sensor](https://learn.adafruit.com/adafruit-vcnl4040-proximity-sensor.md)
- [Adafruit MSA301 Triple Axis Accelerometer](https://learn.adafruit.com/msa301-triple-axis-accelerometer.md)
- [PermaProto Feather Case](https://learn.adafruit.com/permaproto-feather-case.md)
- [A CLI in CircuitPython](https://learn.adafruit.com/a-cli-in-circuitpython.md)
