# Now Playing: Bluetooth Apple Media Service Display

## Overview

https://youtu.be/61aWFj0plHw

Now Playing! This wireless Bluetooth LE device displays whatever song/artist/album is playing on your iOS device, such as iPhone or iPad. Bonus feature -- use the Circuit Playground Bluefruit's buttons and slide switch to play and pause a track, or skip ahead or backwards to a different track.

Using CircuitPython code and the Apple Media Service library, we can easily connect the CPB to an iOS device, and then automatically retrieve track info. Buttons are assigned to play/pause and track skip, but you can customize them to use many other media control commands!

## Parts
Featured
### Circuit Playground Bluefruit - Bluetooth® Low Energy

[Circuit Playground Bluefruit - Bluetooth® Low Energy](https://www.adafruit.com/product/4333)
 **Circuit Playground Bluefruit** is our third board in the Circuit Playground series, another step towards a perfect introduction to electronics and programming. We've taken the popular Circuit Playground Express and made it even better! Now the main chip is an nRF52840...

In Stock
[Buy Now](https://www.adafruit.com/product/4333)
[Related Guides to the Product](https://learn.adafruit.com/products/4333/guides)
![shot of a Black woman's neon-green manicured hand holding up a Circuit Playground Bluefruit glowing rainbow LEDs.](https://cdn-shop.adafruit.com/640x480/4333-11.jpg)

Featured
### Circuit Playground TFT Gizmo - Bolt-on Display + Audio Amplifier

[Circuit Playground TFT Gizmo - Bolt-on Display + Audio Amplifier](https://www.adafruit.com/product/4367)
Extend and expand your Circuit Playground projects with a bolt on TFT Gizmo that lets you add a lovely color display in a sturdy and reliable fashion. This PCB looks just like a round TFT breakout but has permanently affixed M3 standoffs that act as mechanical and electrical...

In Stock
[Buy Now](https://www.adafruit.com/product/4367)
[Related Guides to the Product](https://learn.adafruit.com/products/4367/guides)
![Hand pressing buttons on circuit playground, then turning over to show TFT gizmo display an image of a friendly robot or snake](https://cdn-shop.adafruit.com/product-videos/640x480/4367-05.jpg)

Featured
### Lithium Ion Polymer Battery with Short Cable - 3.7V 350mAh

[Lithium Ion Polymer Battery with Short Cable - 3.7V 350mAh](https://www.adafruit.com/product/4237)
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 350mAh for a total of about 1.3 Wh. If you need a larger (or smaller!) battery, <a...></a...>

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

Or, get all the parts you need and more in the Project Pack:

Featured
### Adafruit Circuit Playground Bluefruit Express Starter Kit

[Adafruit Circuit Playground Bluefruit Express Starter Kit](https://www.adafruit.com/product/4504)
If you missed out on ADABOX 014, its not too late for you to pick up the parts necessary to build many of the projects! This kit pack doesn't come with tissue paper or the nifty extras, but it does have all the electronic goodies you need  
  
This project pack features...

In Stock
[Buy Now](https://www.adafruit.com/product/4504)
[Related Guides to the Product](https://learn.adafruit.com/products/4504/guides)
![Top Down Front Kit Shot of the Adafruit Circuit Playground Bluefruit Express Starter Kit.](https://cdn-shop.adafruit.com/640x480/4504-07.jpg)

# Now Playing: Bluetooth Apple Media Service Display

## Apple Media Service

The [Apple Media Service](https://developer.apple.com/library/archive/documentation/CoreBluetooth/Reference/AppleMediaService_Reference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40014716-CH2-SW1)is a Bluetooth Low Energy (BLE) service that allows BLE devices, such as Apple Watches and remote controls, to interface with an iOS device's media apps, such as Music, Spotify, and Podcast apps.

Here's Apple's definition of the service:

> The **Apple Media Service** (AMS) is used with **Bluetooth** accessories that connect to iOS devices through **Bluetooth** low-energy links. It gives them a simple and convenient way to control **media** apps and access information about the **media** states of the connected iOS devices.

AMS lets devices control the media player with **remote commands** for many common controls, such as:

- play/pause
- next track
- previous track
- volume up/down
- repeat mode

AMS also can send information from the media player to the remote device when requested, including:

- track title
- track artist
- track album
- repeat mode
- track duration
- media player name (e.g., Spotify, Music, Podcast)

In this example, the remote device requests attributes values for **Track Title** , **Track Artist** , and **Track Album**.

The media player receives these requests and responds with **Tall Bird** , **Bartlebeats** , and **Frequency.**

![](https://cdn-learn.adafruit.com/assets/assets/000/087/354/medium800/graphic_tfts_apple_media_service_diagram01.jpg?1579735213)

For a full list of Remote Commands and Entity Attributes, check the [Apple Media Service Reference here](https://developer.apple.com/library/archive/documentation/CoreBluetooth/Reference/AppleMediaService_Reference/Appendix/Appendix.html#//apple_ref/doc/uid/TP40014716-CH3-SW2).

In order to make it simple to interface with your iOS device from an Adafruit Bluefruit nRF52840 board, we've created a BLE Apple Media library for CircuitPython. This library takes care of the nitty gritty details, and lets you get on with the fun part of creating a device to show what song is playing and to control the player remotely!

In code, you'll import the Apple Media Service library. Once the devices are connected, the service is instantiated with `ams = connection[AppleMediaService]` and you can then use simple commands in CircuitPython to control the media player, such as:

`ams.toggle_play_pause()`

`ams.next_track()`

`ams.volume_up()`

`ams.like_track()`

And, you can request media attribute info such as:

`ams.title`

`ams.album`

`ams.artist`

`ams.playing`

`ams.paused`

## Full Command and Attribute Lists

You may decide you want to do something different with your device, or display different information. Below you'll find the commands that we can send and info we can request using&nbsp; the Adafruit\_CircuitPython\_BLE\_Apple\_Media library.

Warning: 

## **Commands**

- `play` -- Plays the current track. Does nothing if already playing
- `pause` -- Pauses the current track. Does nothing if already paused
- `toggle_play_pause` -- Plays the current track if it is paused. Otherwise it pauses the track
- `next_track` -- Stops playing the current track and plays the next one
- `previous_track` -- Stops playing the current track and plays the previous track
- `volume_up` -- Increases the playback volume
- `volume_down` -- Decreases the playback volume
- `advance_repeat_mode` -- Advances the repeat mode. Modes are: Off, One and All
- `advance_shuffle_mode` -- Advances the shuffle mode. Modes are: Off, One and All
- `skip_forward` -- Skips forwards in the current track
- `skip_backward` -- Skips backwards in the current track
- `like_track` -- Likes the current track
- `dislike_track` -- Dislikes the current track
- `bookmark_track` -- Bookmarks the current track

## **Info**

- `player_name `-- Name of the media player app
- `paused `-- True when playback is paused. False otherwise
- `playing `-- True when playback is playing
- `rewinding `-- True when playback is rewinding
- `fast_forwarding `-- True when playback is fast-forwarding
- `playback_rate `-- Playback rate as a decimal of normal speed
- `elapsed_time `-- Time elapsed in the current track. Not updated as the track plays. Use `(amount of time since read elapsed time) * playback_rate` to estimate the current `elapsed_time`
- `volume `-- Current volume
- `queue_index `-- Current track's index in the queue
- `queue_length `-- Count of tracks in the queue
- `shuffle_mode `-- Current shuffle mode as an integer. `0 ` **=** Off`, 1 ` **=** One`, 2 ` **=** All
- `repeat_mode` -- Current repeat mode as an integer. `0 ` **=** Off`, 1 ` **=** One`, 2 ` **=** All
- `artist -- `Current track's artist name
- `album -- `Current track's album name
- `title -- `Current track's title (a.k.a., song name)
- `duration -- `Current track's duration as a string

&nbsp;

# Now Playing: Bluetooth Apple Media Service Display

## Assemble the Board

The TFT Gizmo will attach to either the CPB or CPX with enough room for the 350mAh battery to sandwich in between.

Prep the TFT Gizmo [following these instructions](https://learn.adafruit.com/adafruit-tft-gizmo/assembly) by removing the twelve little Kapton tape dots on the end of each standoff.

## Board Connection

Making sure to orient the Circuit Playground board with the USB jack pointed "north" and with the TFT Gizmo's 12 o'clock marking also pointed "north", place the battery between the boards as shown. You can use a small bit of blue tack or thin double sided tape to keep the battery from wiggling around.

Also make sure the battery is oriented so the JST cable can plug into the Circuit Playground battery connector.

Screw the 12 M3 screws into the standoffs to connect the boards both electrically and mechanically.

![graphic_tfts_IMG_9461.jpg](https://cdn-learn.adafruit.com/assets/assets/000/084/771/medium640/graphic_tfts_IMG_9461.jpg?1574443711)

![graphic_tfts_IMG_9462.jpg](https://cdn-learn.adafruit.com/assets/assets/000/084/772/medium640/graphic_tfts_IMG_9462.jpg?1574443718)

![graphic_tfts_IMG_9465.jpg](https://cdn-learn.adafruit.com/assets/assets/000/084/773/medium640/graphic_tfts_IMG_9465.jpg?1574443735)

![graphic_tfts_IMG_9467.jpg](https://cdn-learn.adafruit.com/assets/assets/000/084/774/medium640/graphic_tfts_IMG_9467.jpg?1574443747)

![](https://cdn-learn.adafruit.com/assets/assets/000/084/783/medium800/graphic_tfts_IMG_9474.jpg?1574444266)

![](https://cdn-learn.adafruit.com/assets/assets/000/084/776/medium800/graphic_tfts_IMG_9475.jpg?1574444181)

## Charging

To charge the LiPoly battery, you'll need to unplug it from the Circuit Playground and into a LiPo charger.

![graphic_tfts_IMG_9477.jpg](https://cdn-learn.adafruit.com/assets/assets/000/084/784/medium640/graphic_tfts_IMG_9477.jpg?1574444301)

Next, we'll put the code on the board -- for this project we'll use the **CPB\_Eye\_Terminator.UF2** file or **CPX\_Eye\_Terminator.UF2** file seen on the next page.

# Now Playing: Bluetooth Apple Media Service Display

## CircuitPython on Circuit Playground Bluefruit

# Install or Update CircuitPython

Follow this quick step-by-step to install or update CircuitPython on your Circuit Playground Bluefruit.

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

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

![adafruit_products_CPB_Download_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/080/530/medium640/adafruit_products_CPB_Download_UF2.png?1567715178)

Plug your Circuit Playground Bluefruit into your computer using a known-good data-capable 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 small **Reset** button in the middle of the CPB (indicated by the red arrow in the image). The ten NeoPixel LEDs will all turn red, and then will all turn green. If they turn all red and stay red, check the USB cable, try another USB port, etc. The little red LED next to the USB connector will pulse red - this is ok!

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

(If double-clicking doesn't do it, try a single-click!)

![adafruit_products_CPB_Front_Reset_Button_Arrow.jpg](https://cdn-learn.adafruit.com/assets/assets/000/080/532/medium640/adafruit_products_CPB_Front_Reset_Button_Arrow.jpg?1567715535)

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

&nbsp;

&nbsp;

&nbsp;

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

![adafruit_products_CPB_CPLAYBTBOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/080/533/medium640/adafruit_products_CPB_CPLAYBTBOOT.png?1567715858)

![adafruit_products_CBP_drag_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/080/534/medium640/adafruit_products_CBP_drag_UF2.png?1567715871)

The LEDs will turn red. Then, the **CPLAYBTBOOT** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

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

![adafruit_products_CBP_CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/080/535/medium640/adafruit_products_CBP_CIRCUITPY.png?1567716034)

# Now Playing: Bluetooth Apple Media Service Display

## Circuit Playground Bluefruit CircuitPython Libraries

The Circuit Playground Bluefruit is packed full of features like Bluetooth and NeoPixel LEDs. Now that you have CircuitPython installed on your Circuit Playground Bluefruit, you'll need to install a base set of CircuitPython libraries to use the features of the board with CircuitPython.

Follow these steps to get the necessary libraries installed.

# Installing CircuitPython Libraries on Circuit Playground Bluefruit

If you do not already have a **lib** folder on your **CIRCUITPY** drive, create one now.

Then, download the CircuitPython library bundle that matches your version of CircuitPython from CircuitPython.org.

[Download the latest library bundle from circuitpython.org](https://circuitpython.org/libraries)
The bundle download as a .zip file. Extract the file. Open the resulting folder.

![adafruit_products_CPB_Download_extract_bundle.png](https://cdn-learn.adafruit.com/assets/assets/000/085/257/medium640/adafruit_products_CPB_Download_extract_bundle.png?1575320201)

Open the **lib** folder found within.

![adafruit_products_CPB_open_lib_folder_in_bundle.png](https://cdn-learn.adafruit.com/assets/assets/000/085/258/medium640/adafruit_products_CPB_open_lib_folder_in_bundle.png?1575320665)

Once inside, you'll find a lengthy list of folders and .mpy files. To install a CircuitPython library, you drag the file or folder from the **bundle lib folder** to **the lib folder on your CIRCUITPY drive**.

![adafruit_products_CPB_bundle_lib_folder_contents.png](https://cdn-learn.adafruit.com/assets/assets/000/085/259/medium640/adafruit_products_CPB_bundle_lib_folder_contents.png?1575320747)

Copy the following folders and files **from the bundle lib folder** to **the**  **lib folder on your CIRCUITPY drive** :

- **adafruit\_ble**
- **adafruit\_bluefruit\_connect**
- **adafruit\_bus\_device**
- **adafruit\_circuitplayground**
- **adafruit\_gizmo**
- **adafruit\_hid**
- **adafruit\_lis3dh.mpy**
- **adafruit\_thermistor.mpy**
- **neopixel.mpy**

Your lib folder should look like the image on the left.

![adafruit_products_Circuit_Playground_Bluefruit_Libraries_List.png](https://cdn-learn.adafruit.com/assets/assets/000/085/694/medium640/adafruit_products_Circuit_Playground_Bluefruit_Libraries_List.png?1576092065)

Now you're all set to use CircuitPython with the features of the Circuit Playground Bluefruit!

# Now Playing: Bluetooth Apple Media Service Display

## Code the Apple Media Service Display

We've created this fairly simple program that allows your CPB to connect to an iOS device, Pair and Bond (so they'll auto-reconnect later), and send data between the two devices to display track info and playback commands.

## Libraries

First, make sure you have these libraries that you copied over to the board [following this guide page](https://learn.adafruit.com/adafruit-circuit-playground-bluefruit/circuit-playground-bluefruit-circuitpython-libraries)

- **adafruit\_ble**
- **adafruit\_bus\_device**
- **adafruit\_circuitplayground**
- **adafruit\_lis3dh.mpy**
- **adafruit\_st7789.mpy**
- **adafruit\_thermistor.mpy**
- **neopixel.mpy**

Then, we'll also add some libraries for dealing with the Apple Media Service, the TFT display, and the Circuit Playground buttons and switch.

From the library bundle you downloaded in that guide page, transfer the following library onto the CPB boards' **/lib** directory:

- **adafruit\_bitmap\_font**
- **adafruit\_display\_shapes**
- **adafruit\_display\_text**
- **adafruit\_gizmo**
- **adafruit\_ble\_apple\_media.mpy**

![graphic_tfts_ams_libs.png](https://cdn-learn.adafruit.com/assets/assets/000/087/471/medium640/graphic_tfts_ams_libs.png?1579893657)

 **Your CBP should look like the screenshot above.**

You'll also need to get the fonts and .bmp images for the project. Click the **"** Download: **Project Zip"** link in the code block below to get all the files from the project's GitHub repo.&nbsp;

Then, uncompress the zip file and open the **code.py** file in Mu, then save it to your CPB's **CIRCUITPY** drive as **code.py.&nbsp;**

## Text Editor

Adafruit recommends using the Mu editor for using your CircuitPython code with the Circuit Playground Bluefruit boards. You can get more info in [this guide](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

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

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

# Now Playing: Bluetooth Apple Media Service Display

## Use

Next, let's look at how to connect your devices and use them together.

## Connection

Plug in the power on the Now Playing Gizmo, and open the Bluetooth setting on your iOS device.

Once the Gizmo starts up, you'll see a BLE connection icon on the display. With Bluetooth turned on on the iOS device, you will see the **Now Playing Gizmo** pop up in the Other Devices list. Go ahead and click it.

Note: the device may have a name like **CIRCUITPY939d** the first time you connect.

The Gizmo will switch to the loading screen while it prepares the font glyphs for display and does some other setup.

You'll then see a **Bluetooth Pairing Request** dialog box pop up on the iOS device. Go ahead and press **Pair**.

The **Now Playing Gizmo** will show up in your **My Devices** list as **Connected**.

![graphic_tfts_ams_7049.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/472/medium640/graphic_tfts_ams_7049.jpg?1579897819)

![graphic_tfts_ams_7053.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/473/medium640/graphic_tfts_ams_7053.jpg?1579897827)

![graphic_tfts_ams_7055.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/474/medium640/graphic_tfts_ams_7055.jpg?1579898013)

![graphic_tfts_ams_7056.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/475/medium640/graphic_tfts_ams_7056.jpg?1579898065)

![graphic_tfts_ams_7060.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/477/medium640/graphic_tfts_ams_7060.jpg?1579898160)

![graphic_tfts_ams_7061.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/478/medium640/graphic_tfts_ams_7061.jpg?1579898401)

## Get Track Info

Go ahead and launch a media player app, such as Spotify, shown here.

You'll see that the Now Playing Gizmo displays the track title, artist, and album names in the track info box.

There's also a line at the bottom of the display that tells you if the player is paused or playing, and the name of the player.

Change the song on your iOS device, and it will update on the Now Playing Gizmo!

&nbsp;

![graphic_tfts_ams_7062.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/479/medium640/graphic_tfts_ams_7062.jpg?1579898589)

![graphic_tfts_ams_7063.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/481/medium640/graphic_tfts_ams_7063.jpg?1579899288)

![graphic_tfts_ams_7065.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/482/medium640/graphic_tfts_ams_7065.jpg?1579899322)

## Send Media Control Commands

You can also send the player commands from the Now Playing Gizmo.

Press the B button (on the right) of the Circuit Playground Bluefruit to skip to the next track.

Or, flip the slide switch to the left, and now the B button will skip backwards a track.

![graphic_tfts_ams_7066.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/483/medium640/graphic_tfts_ams_7066.jpg?1579899530)

![graphic_tfts_ams_7067.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/488/medium640/graphic_tfts_ams_7067.jpg?1579900218)

![graphic_tfts_ams_7069.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/489/medium640/graphic_tfts_ams_7069.jpg?1579900250)

![graphic_tfts_ams_7071.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/490/medium640/graphic_tfts_ams_7071.jpg?1579900266)

![graphic_tfts_ams_7072.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/491/medium640/graphic_tfts_ams_7072.jpg?1579900280)

![graphic_tfts_ams_7073.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/492/medium640/graphic_tfts_ams_7073.jpg?1579900287)

## Play/Pause

At any time, you can use the A button to toggle the pause/play of the player.

When you do, not only will the player react, but it will also send the `ams.playing` and `ams.paused` values so the text on the Now Playing Gizmo will update accordingly.

![graphic_tfts_ams_7076.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/494/medium640/graphic_tfts_ams_7076.jpg?1579900337)

![graphic_tfts_ams_7077.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/495/medium640/graphic_tfts_ams_7077.jpg?1579900345)

## Switch Apps

When you start playing media from a different app, such as Apple's default iOS player Music (formerly iTunes) or Podcast, the Now Playing Gizmo updates automatically!

![graphic_tfts_ams_7081.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/497/medium640/graphic_tfts_ams_7081.jpg?1579900827)

![graphic_tfts_ams_7083.jpg](https://cdn-learn.adafruit.com/assets/assets/000/087/498/medium640/graphic_tfts_ams_7083.jpg?1579900835)

https://youtu.be/61aWFj0plHw

Have fun with your Now Playing Gizmo, and try out some of the other info and commands that are possible in CircuitPython with the library!


## Guide Products

### Circuit Playground Bluefruit - Bluetooth® Low Energy

[Circuit Playground Bluefruit - Bluetooth® Low Energy](https://www.adafruit.com/product/4333)
 **Circuit Playground Bluefruit** is our third board in the Circuit Playground series, another step towards a perfect introduction to electronics and programming. We've taken the popular Circuit Playground Express and made it even better! Now the main chip is an nRF52840...

In Stock
[Buy Now](https://www.adafruit.com/product/4333)
[Related Guides to the Product](https://learn.adafruit.com/products/4333/guides)
### Circuit Playground TFT Gizmo - Bolt-on Display + Audio Amplifier

[Circuit Playground TFT Gizmo - Bolt-on Display + Audio Amplifier](https://www.adafruit.com/product/4367)
Extend and expand your Circuit Playground projects with a bolt on TFT Gizmo that lets you add a lovely color display in a sturdy and reliable fashion. This PCB looks just like a round TFT breakout but has permanently affixed M3 standoffs that act as mechanical and electrical...

In Stock
[Buy Now](https://www.adafruit.com/product/4367)
[Related Guides to the Product](https://learn.adafruit.com/products/4367/guides)
### Lithium Ion Polymer Battery with Short Cable - 3.7V 350mAh

[Lithium Ion Polymer Battery with Short Cable - 3.7V 350mAh](https://www.adafruit.com/product/4237)
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 350mAh for a total of about 1.3 Wh. If you need a larger (or smaller!) battery, <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4237)
[Related Guides to the Product](https://learn.adafruit.com/products/4237/guides)
### Adafruit Circuit Playground Bluefruit Express Starter Kit

[Adafruit Circuit Playground Bluefruit Express Starter Kit](https://www.adafruit.com/product/4504)
If you missed out on ADABOX 014, its not too late for you to pick up the parts necessary to build many of the projects! This kit pack doesn't come with tissue paper or the nifty extras, but it does have all the electronic goodies you need  
  
This project pack features...

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

## Related Guides

- [Adafruit Circuit Playground Bluefruit](https://learn.adafruit.com/adafruit-circuit-playground-bluefruit.md)
- [Adafruit Circuit Playground TFT Gizmo](https://learn.adafruit.com/adafruit-tft-gizmo.md)
- [CircuitPython BLE Advertising Beacons](https://learn.adafruit.com/circuitpython-ble-advertising-beacons.md)
- [Wakanda Forever Game](https://learn.adafruit.com/wakanda-forever-game.md)
- [Using the Bluefruit Dashboard with Web Bluetooth in Chrome](https://learn.adafruit.com/bluefruit-dashboard-web-bluetooth-chrome.md)
- [Circuit Playground Bluetooth Cauldron](https://learn.adafruit.com/cpx-cauldron.md)
- [Snow Globe with Circuit Playground Bluefruit](https://learn.adafruit.com/snow-globe-bluefruit-cpb.md)
- [Glowing Bottle Castle and Capacitive Touch Piano](https://learn.adafruit.com/glowing-bottle-castle-and-capacitive-touch-piano.md)
- [Bluefruit Luminary Lanterns with Capacitive Touch](https://learn.adafruit.com/bluefruit-luminary-lanterns-with-capacitive-touch.md)
- [Wirelessly Program a Circuit Playground Bluefruit Using the File Glider App ](https://learn.adafruit.com/how-to-transfer-files-to-a-circuit-playground-bluefruit-using-the-fileglider-app.md)
- [DIY Quiz Show Controller System](https://learn.adafruit.com/quiz-show-controller-keyboard-bluetooth.md)
- [Circuit Playground TFT Gizmo Dreidel](https://learn.adafruit.com/circuit-playground-tft-gizmo-dreidel.md)
- [MagicLight Bulb Color Mixer with Circuit Playground Bluefruit](https://learn.adafruit.com/magiclight-bulb-mixer.md)
- [Sound Reactive Sunflower Baby Crib Mobile with Bluetooth Control](https://learn.adafruit.com/sound-reactive-sunflower-baby-crib-mobile-with-bluetooth-control.md)
- [Wooden NeoPixel Xmas Tree](https://learn.adafruit.com/wooden-neopixel-xmas-tree.md)
- [Frozen-Inspired Animated Pendant with Temperature Sensing](https://learn.adafruit.com/frozen-gizmo-pendant-with-temperature-sensing.md)
